Unittesten

Uit HBO-i-methoden-toolkit
Ga naar: navigatie, zoeken

Algemene informatie

Naam van de methode

Unittesten

Onderzoeksruimte/strategie

Lab of Werkplaats als de unit tests, zoals soms wordt voorgeschreven, opgesteld worden ter specificatie van een unit programmacode.

Fase in methodisch werken

Evaluatie (Ingreep)

Doel van de methode

Aantonen dat een geïsoleerd stuk programmacode correct is. Een unittest levert een specifiek contract waaraan een stuk programmacode (een unit) moet voldoen.

Uitvoering van de methode

Korte beschrijving werkwijze

  • Soort en vorm van de vraag : Specifieke vraag of een unit programma code voldoet aan een specificatie.
  • Waar komt de informatie vandaan: Uit een geautomatiseerd testsysteem op basis van een unittest framework soms geïntegreerd in een Build tool
  • Hoe wordt de informatie verzameld: Door eerst de unit test op te stellen in de vorm van de (test)specificaties waaraan een unit code moet voldoen en deze test vervolgens uit te voeren in een geautomatiseerde omgeving.
  • Hoe wordt de informatie verwerkt: Door naar de output van het geautomatiseerde testsysteem te kijken.
  • Welke vorm heeft de uitkomst: In eerste instantie is de uitkomst binair: de unit voldoet of voldoet niet aan de specificaties. Bij niet voldoen koppelt het systeem ook nog terug op welke manier de unit niet voldoet.
  • Hoe wordt de uitkomst geëvalueerd: Door te kijken naar de feedback van het geautomatiseerde systeem.

Kwaliteit en pragmatiek

Unit testen zijn in eerste een voorbeeld van een data georienteerde onderzoeksmethode. De waarde van de verworven data is echter helemaal afhankelijk van de specificaties die met de test zijn vastgelegd. Het opstellen van een goede test vereist de nodige aandacht. Soms is het opstellen van een unittest een uitstekende manier om de specificaties van een unit code voldoende goed te maken. Op dat moment kan het opstellen van een unittest bijna als een inspiratie georiënteerde methode gezien worden.De betrouwbaarheid van een unit test is door het geautomatiseerde karakter vanzelf groot. De validiteit wordt volledig bepaald door de kwaliteit van de specificaties die de test vormen. Doordat unit tests volledig gelezen kunnen worden is de transparantie groot.

Tijdsduur

De te besteden tijd is volledig afhankelijk van de omvang van de units die getest worden en de kwaliteit van de tests. Het opstellen van een test draagt in de meeste gevallen bij een het schrijven van de bijbehorende unit. Beide activiteiten gaan hand in hand. Bij een volledig getest systeem kan het opstellen van de unittests evenveel tijd vragen als het schrijven van de te testen code hoewel in dat geval de twee activiteiten een geheel vormen. De tijdwinst die de feedback van unittest oplevert kan overeenkomen met de tijd die het kost om de unittests op te stellen.

Overige aandachtspunten

Om unit tests zinvol te laten zijn is het noodzakelijk dat in de tests de kritische elementen getest worden. De aanwezigheid van een unit test en het "slagen" daarvan op zichzelf zegt niets over de kwaliteit de geteste code.

Meer informatie?

Verwant met

Performance Testing: hiermee wordt een ander aspect van een softwaresysteem getest. Class Diagram voor de methoden in een class diagram kunnen per methode unittesten opgesteld worden.

Combineren met

Performance Testing: hiermee wordt een ander aspect van een softwaresysteem getest. Class Diagram voor de methoden in een class diagram kunnen per methode unittesten opgesteld worden.


Bronnen

Unit Tests[1] Unit testing wikipedia [2] MSDN Unit Test Basics [3]