Wat is testen van eenheden?
Unit testing in computing verwijst naar een ontwikkelingsproces dat zowel de functie als de prestaties beoordeelt van de kleinste discrete softwaremodule die op zichzelf kan functioneren, ook bekend als een unit. Aangezien meting de kern vormt van alle softwarekwaliteitsprogramma's, verifieert elke eenheidstest dat een eenheid voldoet aan de ontwerpintentie die in het ontwikkelingsplan wordt vermeld. De test valideert ook dat het gedrag en de prestaties van de unit zijn zoals verwacht.
Over het algemeen zijn unit-tests zelf kleine programma's waarin een ontwikkelaar de acceptabele inputs, gedragingen en outputs voor de unit specificeert en vervolgens de resultaten registreert voor latere beoordeling en evaluatie. Een softwareontwikkelaar kan ad-hoc testen van eenheden uitvoeren, of als het hoofdprogramma groot of complex is, kan hij of zij unit-testen toevoegen voor opname in een groter testharnas dat meerdere geïntegreerde eenheden tegelijk traint. Hoe dan ook, het testen van eenheden is een voortdurende inspanning van de ontwikkelaar om te bevestigen dat zijn of haar code presteert zoals verwacht, en als zodanig wordt beschouwd als een integraal onderdeel van het algemene ontwikkelingsproces.
Elk softwareontwikkelingsproces begint normaal met een ontwerpfase waarin het hele team zijn tijd besteedt aan het opschrijven van de plannen voor het ontwerpen, ontwikkelen, integreren, testen van het systeem, accepteren en onderhouden van nieuwe software. Het testen van eenheden is een noodzakelijk onderdeel van alle fasen. Ontwikkelaars moeten op een eenvoudige manier kunnen controleren of de codewijzigingen die in modules zijn aangebracht, de verwachte resultaten opleveren voordat deze wijzigingen in het hoofdprogramma worden geïntegreerd.
Eenheidstests worden meestal geschreven door dezelfde ontwikkelaar wiens code zal worden gebruikt. De reden hiervoor is dat de programmeur van het apparaat diepgaand inzicht heeft in het ontwerp van de module en de verwachte prestaties. Doorgaans stelt de testcase van de ontwikkelaar de parameters in voor alle ingangen, verwerkingsmethoden en uitgangen van de eenheid, en definieert de acceptabele prestatiecriteria voor latere integratie- en acceptatietests.
Een belangrijk voordeel van het testen van eenheden is dat het de ontdekking van problemen in een vroeg stadium van het ontwikkelingsproces aanmoedigt. Wanneer coderingsproblemen vroeg worden ontdekt, kunnen corrigerende acties en fixes meestal plaatsvinden voordat buggy-code een negatief effect heeft op de geïntegreerde applicatie en de gebruikers. Hoewel unit-tests niet elke mogelijke programmafout kunnen opvangen, verminderen ze aanzienlijk fouten in latere fasen van het ontwikkelingsproces, waardoor tijd, geld en middelen worden bespaard die nodig zouden zijn voor het debuggen van een programma door aanvullende validatie- en verificatiecycli vóór de release.