Column: Nog meer testen
Twee weken geleden schreef Chris Verhoef op deze plek al over testen – dat testen meer is dan in de wilde weg een beetje proberen. De week daarvoor was rechts van deze column een lang artikel te lezen over de rol van testers. En nu ga ook ik iets schrijven over testen.
Nog meer testen. Waarom al die aandacht voor testen? Wordt testen ineens hip? Nee, helaas niet. Testen is nog steeds – en zal het ook nog wel een tijdje blijven – het zorgenkindje in de IT. We testen veel te laat, we testen niet alle aspecten en we testen niet grondig genoeg. Testen kan alle aandacht gebruiken die het kan krijgen. Bij dezen mijn poging.
Om een van de problemen van testen aan te kaarten, zal ik u maar meteen het volgende bekennen: ik vind testen niet leuk – en dat is niet iets om trots op te zijn. Wanneer ik betrokken ben bij de bouw van een systeem, dan probeer ik zo nu en dan mee te testen. Ik vind het heel zinvol om een ‘gut feeling’ te krijgen bij de kwaliteit van het systeem en de voortgang van het testwerk. Zoals ik al zei vind ik testen cruciaal – maar na een paar uurtjes testen heb ik het wel gezien.
Het eerste issue dat ik vind beschrijf ik keurig, helemaal volgens het boekje. De paar volgende issues houd ik het aardig vol, maar daarna rommel ik ongestructureerd wat rond in het systeem, erger me aan wat foutjes en houd het voor gezien. De laatste issues vergeet ik op te schrijven en raken dus verloren. Ik heb mijn ‘gut feeling’ te pakken en ga weer iets leukers doen. Dat ik testen niet leuk vind, is in de grote lijn der dingen natuurlijk helemaal niet relevant. Helaas (of gelukkig) heb ik geleerd dat ik op de meeste vlakken niet al te veel afwijk van mijn gemiddelde medemens. Mijn verwachting is dus dat wij (de bulk van ons) testen niet leuk vinden. En dan hebben we een probleem.
Ik ken heus wel mensen die dol zijn op testen. Mensen die met een oprechte passie zeer gestructureerd en volhoudend een systeem kunnen doortesten. Ik ben daar jaloers op. Konden gemiddelde medemensen zoals ik dat maar. Nee, wij gemiddelde medemensen worden niet enthousiast van testen. Testen heeft de air van ‘negatieve energie’, van vertragen. Testen voelt als ‘zonde van de tijd’. Rationeel gezien weten we met z’n allen donders goed dat dat onzin is. Testen is een zeer effectieve manier om ontwikkeling aan te sturen en kwaliteit te borgen. In de wereld van Extreme Programming doen ze dat door ‘test-driven development’ toe te passen. Eerst bouw je een test, daarna voer je de test uit (wie weet voldoet het systeem al aan de test) en daarna bouw je net zolang tot de test slaagt. Zo maak je heel snel degelijke systemen. Helaas gaat het alleen maar om kleine functionele tests. Stresstesten en andere kwalitatieve tests komen ook hier maar beperkt aan bod. Wat houdt ons tegen?
Misschien is testen niet leuk omdat we geen leuke systemen bouwen. De eerste de beste game die ik bij de hand heb (World of Warcraft) laat een heuse ‘credits’-lijst zien: alle betrokkenen worden genoemd. Het werk van 125 bouwers is daar getest door 107 testers. Grofweg één tester op één ontwikkelaar! Zo’n verhouding ben ik nog nooit tegengekomen in de ‘businesssoftware’. In de meeste gevallen zitten we zo rond de een op tien. En dat merk je dan ook wel aan de resulterende kwaliteit. Mijn zoon zou ook wel gametester willen worden als hij later groot is. Softwaretester lijkt hem niks. Kunnen wij onze ‘businesssoftware’ leuker maken? Zo leuk dat je het zou wíllen testen? Ik ben bang van niet.
Als we het niet leuker kunnen maken, kunnen we het dan wel makkelijker maken? Misschien moeten we testen niet ‘doen’ maar ‘bouwen’; we leggen het testinitiatief wat meer bij de bouwers. Bouwers moeten 50 procent van hun tijd besteden aan het bouwen van automatische tests – unittests, stresstests, integratietests, functionele tests en alle andere denkbare tests (onder aansturing van echte testers). Dit gaat helaas mank op onze moderne manier van bouwen. Niemand bouwt tegenwoordig van ‘scratch’ af aan. De raamwerken die we gebruiken om mee te bouwen, worden zelden inclusief tests geleverd. Neem nou een CRM-raamwerk als Siebel. Siebel is bedoeld om aan te passen aan je eigen organisatie. Voor die aanpassingen zou je tests willen bouwen. Maar je kunt niet nagaan of jouw aanpassingen de rest van Siebel in tact laten want daar heb je geen tests voor. Alleen bij sommige open-sourceraamwerken kun je de bijbehorende tests krijgen. Waarom durven leveranciers dat niet? Hebben ze iets te verbergen? Misschien niet genoeg getest?
Testen verdient alle aandacht die het kan krijgen. Nog Meer Testen! En Nog Meer! En Nog Meer!
Reacties
Plaats een reactie op dit artikel