Testen is destructief

03-01-2013 11:39 | Door Bert Wijgers | Lees meer artikelen over: Testing | Er zijn 19 reacties op dit artikel | Dit artikel heeft nog geen cijfer (te weinig beoordelingen) | Permalink
Computable Expert
Bert Wijgers
Bert Wijgers

Testcoördinator

Expert van Computable voor het topic Development

Meer

Onder testers is het idee ontstaan dat testen een creatieve bezigheid is. Dit is een misvatting; testen is in essentie niet creatief maar juist destructief. Het is daarbij wel goed om alle intellectuele vermogens aan te spreken en niet alleen de gebaande paden te begaan, maar het doel is nooit om iets nieuws te maken. De primaire taak van testers is om informatie te verschaffen en het enige dat zij daarmee creëren is duidelijkheid.

De vraag of een plan goed is uitgevoerd is bij softwareontwikkeling vaak niet met alleen met 'ja' of 'nee' te beantwoorden. In alle situaties waar dit wel zo is, kunnen we stellen dat testen zich beperkt tot het controleren of de software zich conform specificaties gedraagt. Hier komt weinig intellectuele uitdaging aan te pas; deze controles kunnen we dan ook automatiseren. Het uitvoeren van regressietestgevallen, handmatig of geautomatiseerd, is zonder twijfel de minst creatieve bezigheid in het testvak.

Proza over poëzie

Het verzinnen van deze testgevallen is ook niet heel erg creatief. Het toepassen van testtechnieken op specificaties is wel iets dat je moet leren, maar iedereen die dit onder de knie heeft, komt tot dezelfde logische testgevallen. De creativiteit in het testen moeten we dus zoeken in activiteiten die te maken met onvolledige of onduidelijke specificaties. Het is zelfs denkbaar dat testgevallen zelf de specificaties zijn. Dit gebeurt nog niet veel, maar het integreren van testactiviteiten in de ontwikkelcyclus is de enige manier om invloed te hebben op het moment dat software wordt gecreëerd, namelijk het moment dat de code wordt geschreven.

Als we programmeren vergelijken met poëzie dan kun je stellen dat ontwerpen en testen beide proza zijn. Dit proza heeft direct betrekking op de poëzie; het kan niet los daarvan bestaan. Het ontwerpen van software is het opstellen van rijmschema’s en het afbakenen van het onderwerp. Het is meestal de taak van de tester om achteraf een verhaal te maken over het gedicht. In het beste geval ontwikkelen de code en de tests zich tegelijk. Het resultaat is dan een programma met één beschrijving die tegelijkertijd het ontwerp en de test is.

Kunst van de kritiek

Testactiviteiten die het ontwikkelteam helpen om werkende software op te leveren zijn positief; ze dienen om aan te tonen dat de software werkt volgens verwachting. Op een zeker moment bereikt de software een mate van volwassenheid waarin een andere vraag belangrijk wordt: zijn er situaties waarin de software niet volgens verwachting werkt? Dit leidt tot negatieve testactiviteiten die er op gericht zijn om problemen aan het licht te brengen. Negatief testen vergt een totaal ander perspectief dan positief testen, mede omdat het niet uitsluitend gebaseerd is op specificaties. Is het daarmee creatief? Integendeel, negatief testen is gericht op het laten falen van de software; het is destructief.

Door het blootleggen van zwakke punten stellen testers anderen in staat om software te verbeteren. Door het vertellen van een informatief verhaal over de software leveren testers indirect een bijdrage aan het scheppend moment. Dit verhaal moet zo eerlijk mogelijk zijn, dus testers hoeven niets te verzinnen. Wel moeten ze zich continu afvragen hoe betrouwbaar hun informatie is, anders bestaat de kans dat ze sprookjes vertellen; heel creatief, maar ook contraproductief.

Het testvak is niet creatief; testers ondersteunen degenen die het scheppende werk doen. Softwaretesten is wel een kunst, iets waar je goed in kunt worden, maar het is de kunst van de kritiek. Oplossingen testen is problemen zoeken.

[Dit artikel is een bewerking van mijn artikel 'Oplossingen testen is problemen zoeken' dat eerder is verschenen in de TestNetNieuws, een uitgave van TestNet, de beroepsvereniging van softwaretesters in Nederland.]
Deel dit artikel via LinkedIn
Deel dit artikel via Facebook
Deel dit artikel via Twitter

Gerelateerde artikelen

03-10-13  Sogeti: Testen is dood, leve de tester

66 vacatures
Ervaren .NET web ontwikkelaar

Juice B.V. , Nistelrode

Front-end Developer

ForecastXL (via Quoratio BV) , Groningen

Software Engineer

MessageBird BV , Amsterdam

Senior Webdeveloper

VNU Vacature Media , Amsterdam

UX Developer

Uniface , Amsterdam Zuidoost

Top 10 reagerende bezoekers
   Aantal
reacties
Gemiddelde
waardering
Klik voor meer info1 1894 6,9
Klik voor meer info2 1429 6,6
Klik voor meer info3 1358 6,4
Klik voor meer info4 1170 6,5
Klik voor meer info5 1107 6,5
Klik voor meer info6 1048 5,9
Klik voor meer info7 847 6,7
Klik voor meer info8 639 5,9
Klik voor meer info9 514 6,3
Klik voor meer info10 437 5,9