Waar ligt de grens van teveel testautomatisatie?

Test automation is hip, maar zal het de manuele tester ook vervangen? In sommige gevallen wel, maar wie te hard van stapel loopt, kan zijn doel wel eens voorbij schieten.

Wie vandaag de technologiekrant openslaat, krijgt de indruk dat testautomatisatie de toekomst is. Eenvoudige automatiseringstools kunnen het hele testproces ondersteunen en de rol van de manuele tester lijkt stilaan uitgespeeld. Wim Demey is niet akkoord met die visie. “Testautomatisatie is niet de heilige graal.” Hij is vandaag actief als Solution Architect bij CTG maar bouwt al sinds de jaren ‘90 een carrière uit in de testingwereld. “Er zijn drie belangrijke redenen die het nut van automatisch testen nuanceren”, geeft hij aan: “automation fake news, de automation paradox, en automation blindness.”

Fake news

Met de term automation fake news wil Demey een tegengewicht bieden voor het veelvoud aan positief nieuws over testing en automatisering. “Het lijkt alsof iedereen testing kan automatiseren en codeless de norm wordt. Met de combinatie van RPA en testing moet het eenvoudiger zijn dan ooit om testscenario’s te automatiseren. Die boodschappen zijn naar mijn gevoel afkomstig van de zware believers of de verkopers van de tools zelf.” Demey gelooft niet in de eenvoud die de fans voorstellen. “Ik heb nog niet vaak projecten zien slagen waar de opzet is om test automation zo eenvoudig mogelijk te maken. Automatisering wordt gedreven door code in scripts en frameworks, gebaseerd op best practices. De ontwikkelaarswereld sluit heel nauw aan bij testing.”

Ik heb nog niet vaak projecten zien slagen waar de opzet is om test automation zo eenvoudig mogelijk te maken.

Wim Demey, Solution Architect bij CTG

Volgens Demey focust de huidige perceptie van automation testing op alle voordelen en is het blind voor de nadelen in de realiteit. “Eén van de grote voordelen is zogezegd het onbemand uitvoeren van GUI acceptatietesten, waarbij iemand op een knop duwt en alle relevante tests vanzelf worden afgewerkt. In de praktijk zet je zo’n tests ’s avonds op en blijkt de volgende dag dat toch niet alles naar behoren heeft gedraaid. Soms gaat het om onnozele zaken zoals een screensaver die opspringt of een server die herstart. Gebeurt zoiets, dan verlies je tijd.”

Paradox

Aansluitend wijst Demey op de paradox die hij ziet bij het automatiseren van tests. “Binnen een agile project is het de bedoeling om in sprints te werken, snel feedback te krijgen en sneller naar productie te springen”, weet hij. “In dat geval loopt de automatisatie vaak een halve of hele sprint achter. De tester moet immers wachten tot code klaar is voor het automatiseren nog maar kan beginnen. Wanneer de laatste sprint wordt ingezet en alle eindjes aan elkaar worden geknoopt, moeten de testteams soms nog functionaliteiten automatiseren. Zo is de automatisering van de tests geen versnellende maar een vertragende factor die hakt in het nut van agile ontwikkelen.”

De testing-expert reikt hier meteen een oplossing aan: “Technieken zoals Behavior Driven Development bieden een antwoord. In dat geval worden eerst de tests uitgewerkt en dan pas de code. Het is aan de ontwikkelaar om de code te schrijven tot de relevante tests slagen.”

lees ook

Snel en betaalbaar automatiseren in tijden van crisis: de kracht van RPA

Lukt het toch om alles te automatiseren, dan ziet Demey nog een probleem. “Uiteindelijk raak je opgezadeld met een enorme batterij van testcases die veel tijd vergen om uit te voeren. Dat gaat heel het fast release-aspect van agile ontwikkelen belemmeren.”

Blindheid

Tot slot hekelt Demey dat teveel vertrouwen op automatisering ervoor zorgt dat de testresultaten relevantie verliezen. Testers dreigen blind te worden voor de echte problemen. “Wanneer je een veelvoud aan automatische tests uitvoert, krijg je uiteindelijk een rapport met de resultaten”, weet hij. “Daar staat in of een toepassing wel of niet door een test is geraakt. Het is echter niet altijd duidelijk wat er precies is misgelopen.”

Demey vreest dat een te groot vertrouwen op automatisering de kritische geest van de tester zal aantasten. “Soms kan je tests eenvoudig tot de essentie reduceren. Is het in een configuratietool van een wagen bijvoorbeeld echt nodig om alle mogelijke combinaties van parameters te testen telkens je iets aanpast? Of kan je bij alle kleuren die eenzelfde prijs opleveren de tests misschien beperken tot een paar kleuren?”

Met testautomatisering loop je bovendien het risico op valse negatieven.

Wim Demey, Solution Architect bij CTG

“Met testautomatisering loop je bovendien het risico op valse negatieven. Je introduceert zelf code, en ook daar kan de fout zitten.” Hij wijst verder ook op het feit dat automatisatie, net als manueel testen, de nodige checks en validaties moet bevatten.” Misschien draait een test perfect en claimt een algoritme een record aangemaakt te hebben in een database, terwijl dit niet het geval is , wat een voorbeeld is van een vals positieve test.”

Samen sterk

Het betoog klinkt misschien wat negatief en verdient zeker enige nuance. “Ondanks mijn vurig pleidooi is wel degelijk plaats voor testautomatisatie. Repetitieve taken zoals regressietesten moet je durven automatiseren”, denkt ook Demey. Al hoort daar ook een kanttekening bij: “Als een toepassing binnen een jaar end-of-life komt, loont het misschien niet de moeite om in de automatisering te investeren.”

Demey verwacht dat de kritische geest van de manuele tester essentieel blijft om complexe tests die vaak meerdere systemen omvatten uit te werken en uit te voeren. Automatisering moet de tester daarin ondersteunen, maar alleen wanneer het nuttig is. “Is het echt de moeite om een test te automatiseren die je maar zes keer per jaar uitvoert?” Hij wil testingspecialisten aanraden om kritisch te blijven en de voorliefde voor het technische aspect niet te laten overheersen.

Langs de andere kant beseft de testingspecialist ook dat testers zelf meer uit hun pijp moeten komen om duidelijk toegevoegde waarde te bieden naar de stakeholders. “Ze moeten dichter bij de business staan”, vindt hij. “Vandaag zijn rapporten heel feitelijk. Ze geven aan hoeveel tests er de revue zijn gepasseerd, hoeveel defecten er waren…”

“Eigenlijk hebben bedrijfsleiders daar niet altijd  behoefte aan. Ze willen weten of een app werkt en klaar is voor productie of niet.” Het is dus aan de tester om kennis en buikgevoel boven te halen en het belang van geslaagde of gefaalde tests naar waarde te schatten. “Niet iedere applicatie voor iedere organisatie moet immers honderd procent functioneren voor ze live kan gaan”, besluit hij. “Soms is goed echt goed genoeg.”

nieuwsbrief

Abonneer je gratis op ITdaily !
  • This field is for validation purposes and should be left unchanged.
terug naar home