Black-box testing (functioneel testen)
Black-box testing gebeurt op basis van de specificaties, het systeem wordt hierbij beschouwd als een “black box” waarvan de werking enkel kan afgeleid worden uit de invoer en de overeenstemmende uitvoer.
De tester moet hierbij naar invoer zoeken die waarschijnlijk foutieve uitvoer kan veroorzaken, dit kan heuristisch (op basis van de ervaring van de tester) of mbv kennis van het applicatiedomein.
Als aanvulling bij heuristiek kan nog gebruik gemaakt worden van equivalence partitioning
Equivalence partitioning:
Hierbij valt input data uiteen in een aantal klassen (vb positieve vs negatieve getallen), deze klassen noemt men een “equivalence partitioning” of domein, en per klasse (deze mogen overlappen) gedraagt het programma zich vergelijkbaar.
Black box testing mbv equivalence partitioning gaat als volgt te werk:
- identificeer de equivalentieklassen
- kies de invoer of uitvoer van de test cases zodat die tot de equivalentieklassen behoort
- probeer een test case voor iedere equivalentieklasse te vinden
- best test cases “in het midden” en “aan de rand” van de klasse…
Het identificeren van equivalentieklassen gebeurt op basis van de specificaties van het programma en op basis van de ervaring van de tester.
Voorbeeld: routine die een waarde zoekt in een array
- gegeven specificatie “search” met pre- en postconditie
- gevonden equivalentieklassen:
- key parameter is een element van de array parameter
- key parameter is geen element van de array parameter
- algemene richtlijnen voor arrays
- arrays met slechts 1 element
- arrays met verschillende lengte
- test met het eerste element, het laatste element en een element middenin de array als resultaat