Geautomatiseerd testen van software gaat niet alleen over applicaties, maar evenzeer over mensen. De tijdwinst is te gebruiken om de testtijd te verkorten, meer te controleren of minder testers in te zetten. Die zijn dan elders in de it-organisatie inzetbaar.
Dat het onderwerp geautomatiseerd testen in de belangstelling staat, blijkt wel uit de opkomst voor de vijf bijeenkomsten die Iquip in oktober over dit onderwerp heeft gehouden. De seminars ‘Automatisering van de testuitvoering’ trokken veel publiek. De mini-congresjes waren georganiseerd ter gelegenheid van het uitbrengen van het gelijknamige boek van de auteurs Bart Broekman, Christaan Hoos en Mark Paap. Het drukwerk (isbn 90-440-0103-5) is gebaseerd op de praktijkervaringen die het drietal in hun dagelijkse werk bij Iquip Informatica heeft opgedaan. Medewerking verleenden Compuware, Rational en Mercury Interactive, drie marktleiders op het gebied van testgereedschap.
Applicaties op de pijnbank leggen is niet alleen een kwestie van tools kopen. In het verleden is dat te vaak gebeurd, waardoor het (dure) gereedschap op een plank lag te verstoffen (dustware). Integratie van testautomatisering in een automatiseringsproject en een planmatige aanpak zijn belangrijk, betoogt Mark Paap. Doorredenerend komt Paap met de opmerking dat er dus ook een plan moet zijn voor onderhoud van de tools. "Je moet voorkomen dat de manager zegt dat je nou maar eens moet gaan testen in plaats van de tools weer aan te passen. Je moet dus bij de inrichting van de ‘beproevingsfabriek’ het onderhoud in je achterhoofd houden. Een tool moet tenslotte een hulpmiddel zijn en geen struikelblok."
Regressietesten
Betrouwbaarheid van applicaties en (in de ogen van eindgebruikers) goede prestaties ervan zijn niet te verzekeren zonder ze eerst te testen. Daarbij zijn zowel het functioneel ontwerp als de prestaties van een systeem belangrijk. Als de responstijden bij een groeiend aantal gebruikers sterk afnemen, ervaren zij de applicatie (terecht) als onvoldoende.
In de totale levenscyclus van een applicatie vormen de regressietesten het omvangrijkste en tijdrovendste deel van het beproevingstraject. Vooral het automatiseren van dit onderdeel levert volgens de auteurs tijdwinst en meer kwaliteit op. "Er is geen twijfel meer of de tester geen testgevallen is vergeten of dat hij bij het invoeren van wat dan ook een fout heeft gemaakt."
Automatisering van regressietesten betekent bovendien dat ze vaker, ook vlak voor ingebruikneming, volledig zijn uit te voeren. Overgaan naar geautomatiseerd testen betekent dus een verandering in de organisatie. Voordat men hiertoe overgaat moet er voldoende draagvlak zijn. De drie hebben een vragenlijst opgesteld om een indicatie te krijgen van een eventueel draagvlak. Daarin staan vragen als ‘Het testwerk neemt toe, terwijl er tegelijkertijd steeds minder tijd is voor het testen’, ‘Testers vinden hun werk niet meer uitdagend. Testen is een sleur geworden’ en ‘De meeste it-trajecten worden goedkoper en/of sneller, maar het testtraject niet’. De scores geven bij elkaar een idee van de rijpheid van de organisatie voor geautomatiseerd testen.
Overigens vinden de auteurs niet dat handmatig testen overbodig is geworden. De testers moeten ‘gevoel voor het systeem’ blijven houden. Vooral het beproeven van gebruiksvriendelijkheid en geschiktheid voor de bedrijfsvoering kunnen het best nog met de hand gebeuren.
Waarom automatisch
Analistenbureau Ovum in zijn evaluatierapport van tools voor het testen van software (april 2001): "Het break-even punt voor toepassing van geautomatiseerde testen in vergelijking tot handmatig testen varieert sterk per project. Gewoonlijk is er een netto tijdwinst bij testen die vier of meer keer moeten worden uitgevoerd. Het kost evenwel ook tijd om een testteam te laten wennen aan nieuw gereedschap. Het testen van de belastbaarheid van client/server- of webgebaseerde systemen is ondoenlijk zonder geautomatiseerd gereedschap. In dit geval is de vraag of een test wel nodig is. Wij geloven dat het noodzakelijk is bij alle projecten waar prestatievereisten bestaan (….). Belastbaarheid testen is een noodzaak bij commerciële webapplicaties. Het inrichten van een geautomatiseerde testomgeving moet men zien als een strategische investering, die onderdeel is van een aanpak voor kwaliteitsverbetering."