Unit testing is de praktijk van veel kleine automatische controles schrijven, zodat elk afzonderlijk stukje code zijn werk blijft doen terwijl de software groeit en verandert. Waar een enkele unittest één functie controleert, is unit testing de gewoonte om er een hele verzameling van op te bouwen en die bij elke wijziging te draaien. Het is een van de goedkoopste manieren om de kwaliteit op de lange termijn hoog te houden.

Een mooie vergelijking is een fabriek die elk onderdeel controleert zodra het van de band rolt, in plaats van alleen het eindproduct aan het eind te keuren. Een fout onderdeel vroeg opvangen is veel goedkoper dan later een hele batch terugroepen. In software werkt het net zo: een falende unittest op het scherm van een ontwikkelaar kost minuten, terwijl dezelfde bug gevonden door een klant reputatie en supporturen kost. Daarom is unit testing een kernonderdeel van quality assurance.

Unit testing vervangt andere controles niet. Het werkt samen met integration testing, dat bevestigt dat de stukjes samenwerken. Samen geven ze een team het vertrouwen om code snel aan te passen zonder bang te zijn dat er stilletjes iets breekt. Het echte voordeel komt pas maanden later. Komt er een verzoek binnen om de prijsberekening aan te passen, dan kan de ontwikkelaar dankzij een sterke testset de wijziging maken en in seconden de tests draaien om te zien of er verderop iets stukging. Een handige maat hierbij is testdekking, die laat zien hoeveel van de code de tests echt raken. Een hoog getal stelt gerust, maar het slimmere doel is de delen dekken die het meest pijn zouden doen als ze faalden.

Bij TopDevs zien we unit testing als routine op langlopende projecten, omdat we daardoor snel kunnen werken aan het product van een klant terwijl de delen die al werken veilig gedekt blijven.