When a garage tests a battery, the device they use puts a significant load across the terminals and monitors the output voltage. A battery that is past its best shows a greater voltage drop. So if the garage says the battery is fine, it probably is.
So, why does it (a) go flat or (b) not start the engine?
(a) Battery goes flat if you take more out than you put in.
ENERGY OUT: Energy is taken out by any load that is present when the alternator is not supplying power. That includes starting the engine and anything still on when the engine is not running (any lights, including courtesy, glove box, boot, etc., stereo system, clock, anything plugged into the cigar lighter, etc.). Energy taken when starting can be excessive if there is a fault with the starter motor or its solenoid.
ENERGY IN: Energy goes into the battery from either the alternator or your battery charger. The alternator can typically generate 50 amps or more and provides enough power for all electrics in the car as well as some to charge the battery, but only of course while the engine is running. If there is a problem with the alternator (e.g faulty unit or slipping drive belt), a red warning light should come on (sometimes looks like a battery). If that light is off, you can assume the alternator is doing its job. However, it takes time to recharge a battery, especially if the engine has to be cranked a lot to start it. A car used regularly for short runs might not get enough recharge to cover that used during starting (answer - longer journeys or periodically recharge overnight with charger).
(b) Battery does not start the engine.
During cranking, up to 300 amps is needed so the battery has to be in reasonable condition and well charged.
Could be a fault in the starter motor or its pre-engage mechanism. Can flatten the battery due to excessive wasted current.
Could be a poor earth connection (poor starting but probably won't flatten the battery because current is not flowing adequately).
Could be a duff battery but the garage discharge test should eliminate that.
Cold weather doesn't help -the battery capacity is reduced as temperature falls.
Could be an incorrect battery. Ratings for batteries allow for total capacity and also for maximum discharge current. Diesel engines tend to need batteries with higher maximum dischage current as these engines are harder to crank (higher compression and more cycles needed to establish combustion). Higher capacity batteries are needed for vehicles with lots of accessories (high-end models).
red.