Het W-model

SmarTEST gaat uit van het W-model, gepubliceerd in de eerste druk van het boek in 2004. Aan de onderkant zijn de ontwikkeltesten, dus de meer technische testsoorten zoals unit-, module- en programmatest, nauw verweven met (detail)ontwerp en bouw. Daar is geen sprake meer van afzonderlijke fasen, hooguit van time boxes en incrementen waarin testen en ontwikkeling door elkaar heen lopen. Cyclisch en iteratief. Aan de bovenkant hebben we ofwel een klassieke, ofwel een 'scaled agile' benadering met onafhankelijk testen. Lees verder of bekijk een korte video met uitleg van het W-model.

SmarTEST W-model

Productiviteit en efficiëntie zijn de belangrijkste redenen voor 'agile' ontwikkelen, waarbij ontwerp, bouw en ontwikkeltesten worden gecombineerd. Deze benadering is inmiddels breed ingevoerd in de moderne systeemontwikkelpraktijk. Een reëel gevaar is een multifunctioneel team dat blind is voor eigen fouten. Onafhankelijke testen blijft daarom nodig, liefst ook per increment. Dit is gesymboliseerd door het midden van de W: het opgeleverde product wordt even 'uit het team getild' voor een onafhankelijke kwaliteitstoets. Dat staat borg voor een resultaat dat aansluit bij de behoeften van business en opdrachtgever.

Variant op het V-model

Zo'n 25 jaar terug is het V-moV-modeldel geïntroduceerd, sindsdien het populairste referentiemodel voor gestructureerd testen. In dit model krijgen de testsoorten een plaats in het destijds gangbare watervalmodel voor systeemontwikkeling. Elke testsoort wordt naast de betreffende ontwikkelfase getekend, zodat een V-vorm ontstaat

Principes gestructureerd testen
In het V-model wordt een aantal principes van gestructureerd testen mooi zichtbaar:

  • De laatste stappen in het testtraject hebben een relatie met de eerste stappen van het systeemontwikkeltraject
  • De voorbereiding van een bepaalde testsoort kan starten zodra de basis daarvoor in de overeenkomstige ontwikkelfase is opgeleverd
  • De testuitvoering start pas als het systeem daadwerkelijk is gebouwd en voorafgaande testen zijn doorlopen

Deze principes zijn waardevol. Nadenken over de teststrategie hoort hand in hand te gaan met het opstellen van de specificaties. Dit is de hoofdboodschap van het V-model.

Waarom een W-model?

Het V-model is echter verbonden met het waterval-ontwikkelmodel en de vraag is of het nog wel past bij moderne, cyclische ontwikkelmethoden. In het V-model worden de ontwikkeltesten (unittest, programmatest) afzonderlijk gepland en bestuurd. Dat is eigenlijk nooit werkelijkheid geweest en in moderne ontwikkelaanpakken is dit welbewust losgelaten: ontwikkeling (ontwerp en bouw) en ontwikkeltesten lopen in elkaar over en worden niet als aparte fasen gepland en gemanaged. In SmarTEST is daarom het hierboven getoonde W-model ontwikkeld, via onderstaand "knijpveermodel":

Knijpveermodel

 

 

 

Van V- naar W-model

Egbert Bouman legt W-model uitIn deze video start Egbert Bouman met het V-model. Hij legt vervolgens de evolutie naar en de toepassing van het W-model in 5 minuten uit.

 

TestNet kiest W-model

Het SmarTEST W-model is op de TestNet thema avond van 20 januari 2010 gekozen als beste opvolger van het V-model. Lees hier meer in TestNieuws.NL.

.

 

Moderne systeemontwikkeling

Het succes van een testaanpak wordt in hoge mate bepaald door de aansluiting bij de gehanteerde ontwikkelaanpak. Dat is vooral zo relevant omdat ontwikkel- en testmethoden met een strakke fasering goed beschouwd een erfenis zijn uit het tijdperk van het lineaire denken. Lineaire ontwikkeling, de watervalmethode, het V-model (= de waterval voor testers, verderop meer over dit model) stammen uit deze voorbije periode. Dinosaurussen dus, met fossiele methoden en technieken. Tijd voor een stukje geleide evolutie naar een slimmere testaanpak.

 

Design a little ... test a little

Het systeem wordt niet meer op de tekentafel uitgekauwd, maar in delen bedacht en gebouwd: ‘Design a little, build a little, test a little'. In een aantal iteraties of cycli wordt telkens een nieuw stukje of increment gespecificeerd, gebouwd, getest en als het even kan zelfs in gebruik genomen.

Vandaar de namen cyclisch, iteratief of incrementeel ontwikkelen. Voortschrijdend inzicht is geen storend randverschijnsel, maar hét leidende principe bij de planning van activiteiten, met time boxing, joint requirements workshops en prototyping als pijlers.

Dat betekent niet dat je niet meer nadenkt vooraf, en ook niet dat reviews en inspecties niet zinvol zijn. Integendeel, want de eerste klap moet een daalder waard zijn! Maar je beseft wel dat het inzicht en de requirements al doende compleet worden.

IKIWISI heet dat: I Know It When I See It.