A bad charge light relay can cause the light to stay on even though the alt is charging. Use a digital voltmeter and measure the voltage across the battery while the engine is running at a fast idle with all accessories off. You should read around 13-14v.