unit test
/ˈjuː.nɪt test/zelfstandig naamwoord
Een unit test is een geautomatiseerde test die een klein, afgebakend onderdeel van software controleert, meestal los van externe systemen.
De unit test controleert of de prijsberekening de juiste korting toepast.
Een unit test legt voor een klein stuk software vast welk resultaat bij een bepaalde invoer hoort. Dat kan bijvoorbeeld een functie zijn die btw berekent of een regel die bepaalt of een gebruiker korting krijgt. Ontwikkelaars voeren zulke tests vaak uit wanneer ze code wijzigen, zodat afwijkend gedrag snel zichtbaar wordt.
Hoe werkt een unit test?
Een unit test bestaat meestal uit drie stappen. Eerst brengt de test het te controleren onderdeel in een bekende beginsituatie. Daarna voert de test een handeling uit en vergelijkt hij het werkelijke resultaat met de vastgelegde verwachting. Als de uitkomst afwijkt, mislukt de test.
De test richt zich op gedrag dat zelfstandig te controleren is. Afhankelijkheden zoals een Woordenboek · In het kortdatabaseEen database is een gestructureerde verzameling gegevens die software kan opslaan, opvragen en wijzigen. Een databasebeheersysteem regelt de toegang tot die gegevens.Lees meer, externe Woordenboek · In het kortAPIEen API is een vastgelegde manier waarop software gegevens uitwisselt of functies van andere software aanroept, zonder de interne werking daarvan te hoeven kennen.Lees meer of klok worden daarom vaak vervangen door een gecontroleerde testvariant. Zo blijft duidelijk welk onderdeel een fout veroorzaakt en kan de test snel worden uitgevoerd. Dat maakt unit tests geschikt voor frequente uitvoering bij Woordenboek · In het kortcontinuous integrationContinuous integration is een werkwijze waarbij ontwikkelaars kleine codewijzigingen regelmatig samenvoegen en automatisch laten controleren, zodat integratieproblemen vroeg zichtbaar worden.Lees meer.
Verschil met andere geautomatiseerde tests
Een Woordenboek · In het kortintegratietestEen integratietest controleert of meerdere onderdelen van een softwaresysteem correct met elkaar samenwerken. De test richt zich vooral op hun onderlinge communicatie en de gegevens die ze uitwisselen.Lees meer controleert of meerdere onderdelen goed samenwerken, bijvoorbeeld of applicatielogica gegevens correct opslaat in een database. Een Woordenboek · In het kortend-to-endtestEen end-to-endtest controleert of een complete gebruikersroute door een applicatie werkt, inclusief de onderdelen en systemen die daarvoor moeten samenwerken.Lees meer doorloopt een groter proces zoals een gebruiker dat zou doen, van invoer tot zichtbaar resultaat.
Unit tests hebben daardoor een smallere reikwijdte. Ze geven snel en gericht feedback, maar tonen niet of alle onderdelen samen goed functioneren. Teams combineren ze daarom meestal met bredere tests. De hoeveelheid code die door tests wordt uitgevoerd, kan worden uitgedrukt als Woordenboek · In het korttestdekkingTestdekking is een meetwaarde die aangeeft welk deel van de code wordt uitgevoerd tijdens geautomatiseerde tests. De meting kan onder meer regels, functies en vertakkingen tellen.Lees meer, maar een hoog percentage zegt op zichzelf niet of de belangrijkste situaties goed zijn getest.