zondag 12 november 2017

De Ja-Nee-Ja-Nee-Ja-Nee testtechniek

Als je mijn blog regelmatig leest, weet je dat ik het belangrijk vind om invoervelden met verschillende waarden te testen. Maar soms heb je maar twee mogelijke waardes: Ja en Nee. En op je scherm staan misschien zelfs meerdere van dit soort invoervelden. Hoe test je nu of deze waardes goed werken?

Stel je hebt 5 velden met de keuze Ja/Nee. Om deze goed te testen heb je 2 X 2 X 2 X 2 X 2 = 32 testcases nodig. Alleen dan weet je zeker, dat elke mogelijkheid werkt. En als je de tijd hebt, moet je deze 32 testcases zeker allemaal testen. Als je de tijd niet hebt, kan je al heel veel met slechts 2 testcases.

Veel fouten rond Ja/Nee invoervelden ontstaan door kopiƫren van bestaande code of elementen. De ontwikkelaar neemt het dichtstbijzijnde bestaande invoerveld en kopieert het element en/of de code. Deze wordt dan vervolgens aangepast voor het nieuwe invoerveld. Door de velden, die dicht bij elkaar staan, nu andere waardes te geven, test je of deze velden ook werkelijk hun eigen waarde gebruiken. En niet die van hun mogelijke "oorsprong". Maar naast dit kopieer argument is het ook handig om ingevoerde waardes snel te kunnen controleren. Een bepaald patroon in de invoer maakt dit makkelijker.

Hoewel ik deze testtechniek nergens heb kunnen vinden, ben ik daarom in de loop van de tijd dit soort velden met de Ja-Nee-Ja-Nee-Ja-Nee techniek gaan testen. Het eerste veld zet ik op Ja, het tweede op Nee, het derde op Ja, enz. En voor de tweede testcase zet ik het eerste veld op Nee, het tweede op Ja, de derde op Nee, enz. Dit heeft dus drie duidelijke voordelen: elk veld wordt zeker getest met beide waardes, ik kan de door mij gekozen invoer eenvoudig onthouden en, zeker niet onbelangrijk, er is een flink grotere kans dat kopieerfouten ontdekt worden.

Een hele eenvoudige, snelle techniek met een vaak goed resultaat. Probeer hem eens zelf uit!