De donkere kant van automatiseringstesten & Waarom handmatig testen nog steeds belangrijk is

By Jason Boog

Geautomatiseerd testen is zo integraal geworden voor bepaalde routines dat sommige testers zich afvragen of het handmatig testen volledig zal vervangen.  Niet in de nabije toekomst.  Toen het team van Tesla de Model 3 ontwierp, wilden ze de productiesnelheid onder andere verhogen door een volledig geautomatiseerde assemblagelijn te gebruiken. AI zou de auto vrijwel zonder […]

Geautomatiseerd testen is zo integraal geworden voor bepaalde routines dat sommige testers zich afvragen of het handmatig testen volledig zal vervangen. 

Niet in de nabije toekomst. 

Toen het team van Tesla de Model 3 ontwierp, wilden ze de productiesnelheid onder andere verhogen door een volledig geautomatiseerde assemblagelijn te gebruiken. AI zou de auto vrijwel zonder toezicht van mensen assembleren. 

Het plan mislukte rampzalig.

Auto's botsten tegen elkaar, deuren werden in ramen geboord en banden werden niet goed op hun velgen geplaatst. 

Wat gebeurde er? Het bleek dat robots niet erg goed kunnen zien. De AI die verantwoordelijk was voor het assembleren van de Model 3 kon zich niet aanpassen aan onverwachte complicaties of kleine afwijkingen. Als alles niet precies goed was uitgelijnd, maakte de AI catastrofale fouten. 

Hetzelfde geldt voor geautomatiseerd testen binnen QA. Sommige testvormen hebben te veel variabelen en vereisen dat de handmatige tester ter plekke kan bijsturen en problemen kan oplossen. 

Wat is geautomatiseerd testen?

Bij geautomatiseerd testen gebruikt een QA-tester een hulpmiddel om een testcase uit te voeren. In de ontwikkelcyclus wordt dezelfde testcase meerdere keren getest.

Sommige testcases waar een team van QA-testers uren handmatig mee bezig zou zijn, kunnen in enkele minuten door een hulpmiddel voor geautomatiseerd testen worden uitgevoerd. Verschillende hulpmiddelen voor geautomatiseerd testen zijn de industriestandaard geworden. 

De keerzijde van geautomatiseerd testen

Andere sectoren, ambachten en beroepen hebben te maken gehad met de introductie van automatisering in hun vakgebied. Wanneer dat gebeurde, of het nu in de luchtvaart met automatische piloot, bij het tapijtweven of bij het testen was, verloren de mensen in dat vakgebied hun begrip van het ‘waarom’ achter hun werk.

Dit is een verschijnsel dat QA-professional Jan Jaap Cannegieter bij testers zag ontstaan. Zijn grootste angst is dat het gemak van geautomatiseerd testen en de toenemende druk om een groot deel van het testproces te automatiseren, zal leiden tot een generatie testers die weet welke acties ze moeten uitvoeren, maar niet begrijpt waarom. 

Veel testers weten alles over bepaalde hulpmiddelen of programmeertalen, maar ze kunnen me niet vertellen wat ze testen en waarom ze het testen. En dat is een slechte zaak.

Get Free Access
Get regular tech leadership wisdom for delivering better software and systems.
Get Free Access

Have an account? Log In

Voorbeelden van slecht geautomatiseerd testen

Veel QA-testers zien hetzelfde potentieel in geautomatiseerd testen. Doorgaans betekent dit dat er herkenbare trends en veelgemaakte fouten zijn die een QA-tester kan maken. Hier volgen enkele veelvoorkomende voorbeelden van slecht geautomatiseerd testen. 

Geneste geautomatiseerde tests

Bij geneste geautomatiseerde tests worden verschillende geautomatiseerde tests boven op elkaar uitgevoerd.  Wanneer dit gebeurt, wordt het moeilijk om vast te stellen wat er mis is gegaan wanneer er een fout optreedt. 

Op korte termijn zijn de meeste gevallen van geautomatiseerd testen positief. De QA-tester gebruikt het juiste hulpmiddel en voert het correct uit. 

Veel voorbeelden van slecht geautomatiseerd testen worden pas zes maanden later problematisch, wanneer geautomatiseerde tests genest zijn in andere geautomatiseerde tests, die op hun beurt weer in andere geautomatiseerde tests zijn genest. 

UI-geautomatiseerd testen zonder toezicht

Bij het testen van de gebruikersinterface wordt gecontroleerd of een gebruiker niets op de UI kan doen waardoor het programma defect raakt of storingen veroorzaakt. Handmatig testen kan in dit geval veel testers en veel mankracht vereisen. Het is eerlijk gezegd inefficiënt om het op die manier te testen, vooral naarmate het programma groter wordt en meer functies moeten worden getest. 

Met geautomatiseerd testen verloopt het proces sneller, maar kan nog steeds de volledige capaciteit van de computer van een QA-tester gedurende een hele dag nodig zijn. Om daarmee om te gaan, voeren QA-testers de test aan het einde van de dag uit, laten ze die 's nachts draaien en komen ze de volgende ochtend weer op het werk, waar de resultaten op hen liggen te wachten. Logisch, toch? 

Op het eerste gezicht lijkt dit de slimme aanpak. De QA-tester gebruikt de computer overdag om andere programma's te testen en voert vervolgens 's nachts het geautomatiseerd testen van de UI uit.

Juist omdat het intuïtief logisch lijkt, is dit een veelgemaakte fout. Er kan veel misgaan wanneer geautomatiseerd testen zonder toezicht wordt uitgevoerd.

Als er in een vroeg stadium iets misgaat, zullen de rest van de resultaten ook verkeerd zijn. Een hele dag testen leverde geen bruikbare informatie op vanwege een fout die eenvoudig ontdekt en gecorrigeerd had kunnen worden als iemand had gecontroleerd of de geautomatiseerde test correct werd uitgevoerd.

Hoewel geautomatiseerd testen soms tot fout-positieven kan leiden, kan het kiezen van de juiste QA-automatiseringstools dergelijke gevallen aanzienlijk beperken. 

De verkeerde dingen automatiseren

Het opzetten van geautomatiseerd testen kost tijd. QA moet ervoor zorgen dat de automatiseringstools geschikt zijn voor het project en dat de QA-testers weten hoe ze de tools correct moeten gebruiken. 

Dit alles kost veel tijd en organisatie. Als het eindresultaat is dat een test die doorgaans één keer per maand wordt uitgevoerd, wordt geautomatiseerd, is de inspanning het niet waard. Voordat je met geautomatiseerd testen begint, moet je ervoor zorgen dat wat je gaat automatiseren QA-testers aantoonbaar tijd bespaart.

Je kunt niet alleen taken automatiseren die te zelden voorkomen om de inspanning te rechtvaardigen; sommige taken kunnen simpelweg niet gemakkelijk worden geautomatiseerd.

Handmatig testen vervangen

Geautomatiseerd testen kan alleen controleren wat het is opgedragen te controleren. Als de lettertypen op een webpagina er vreemd uitzien, maar de test alleen controleerde of alle links op de website werkten, lost de test één probleem op (de links), maar weet hij niet dat er iets mis is met het andere probleem (de lettertypen). 

Met handmatig testen kunnen zaken buiten de oorspronkelijke scope van de test worden ontdekt. De methode van verkennend testen is ontwikkeld om de QA-tester de ruimte te geven onverwachte bugs te vinden zodra die zich voordoen, zelfs als de tester daar oorspronkelijk niet naar op zoek was. Wanneer geautomatiseerd testen op één taak is gericht, kan het grondig zijn. Wat het niet kan zijn, is allesomvattend. 

Voorbeelden van goed geautomatiseerd testen

Testautomatisering wordt uitgevoerd om risico's te beperken. Wanneer een QA-tester het risico kan beperken en de efficiëntie kan maximaliseren, moet geautomatiseerd testen absoluut worden uitgevoerd.  Er is geen reden voor een QA-tester om urenlang handmatig de links op een website te controleren wanneer een webcrawler dezelfde activiteit in minder tijd kan uitvoeren en waarschijnlijk geen fouten zal maken.

Een goede vuistregel om te bepalen wanneer geautomatiseerd testen moet worden gebruikt in plaats van handmatig testen, is om te vragen of de test snel of continu wordt uitgevoerd. Als de test continu zal worden uitgevoerd, is geautomatiseerd testen de juiste keuze. 

Mensen zijn slechter dan machines in het consequent uitvoeren van repetitieve taken op een hoog niveau. We verlangen naar afwisseling en haken mentaal af wanneer we te lang hetzelfde doen. Daardoor kunnen fouten onopgemerkt blijven. 

Zo zal een QA-tester beseffen dat die: a) meer tijd heeft besteed dan wanneer die geautomatiseerd testen had uitgevoerd en b) slechter werk heeft geleverd en later voor meer problemen heeft gezorgd. 

Jason Huggins, de oprichter van de populaire automatiseringstool Selenium, ontwikkelde het programma omdat hij ontdekte dat hij als tester zoveel van zijn dagen besteedde aan het uitvoeren van dezelfde taken — taken waarvan hij vond dat ze eenvoudig en duidelijk genoeg waren om zelfs door een robot te kunnen worden uitgevoerd. Daarom ontwikkelde hij een script dat automatisch de functionaliteit van browsers voor hem testte. Het was meteen een succes en werd al snel de industriestandaard. 

Zelfs QA-professionals die sceptisch staan tegenover geautomatiseerd testen, weten dat het in veel gevallen een doel dient. 

Waarom handmatig testen nooit zal verdwijnen

We hebben de goede, slechte en zeer slechte aspecten van AT besproken. We weten in welke situaties het goed werkt en waar het ertoe leidt dat productielijnen autobanden door de fabriek heen gooien. Laten we nu even kijken naar handmatig testen en waarom het nog steeds zo belangrijk is voor QA-testers. 

Geautomatiseerd testen vereist toezicht

Zoals hierboven werd vermeld bij Musks probleem met Model 3 en de risico's van het 's nachts uitvoeren van geautomatiseerd testen, kan er veel misgaan wanneer je automatiseringstools aan hun lot overlaat. 

Gif over geautomatiseerd testen vereist toezicht

De grote voordelen van geautomatiseerd testen ontstaan wanneer het wordt uitgevoerd in combinatie met handmatig testen of onder toezicht van een QA-tester. Alleen al daarom kunnen QA-testers gerust zijn: AT zal hun rollen in de nabije toekomst niet overnemen. 

More Articles

Handmatig testen maakt gebruik van verkennend testen

Wanneer een tester een verkennende test uitvoert, onderzoekt die de software zonder vooraf opgesteld plan. Het is een van de populairste vormen van testen binnen QA.

Verkennend testen kan alleen worden uitgevoerd door middel van handmatig testen. 

Het voordeel van verkennend testen is dat de tester zich direct aan de bevindingen kan aanpassen, zonder dat er een nieuwe testcase hoeft te worden geschreven. 

Verkennend testen maakt ook samenwerking, theorievorming en overleg allemaal direct mogelijk. 

Naarmate de agile ontwikkelingstheorie prominenter is geworden, is ook verkennend testen belangrijker geworden. 

Geautomatiseerd testen mist de flexibiliteit en creativiteit om flexibel genoeg te zijn voor verkennend testen. Het werkt het best in een rigide omgeving waarin het precies weet waarnaar het moet zoeken. Verkennend testen is precies het tegenovergestelde: de QA-tester krijgt de opdracht om te gaan waar die zelf wil. 

Wat vind jij?

Sommige mensen zweren bij geautomatiseerd testen, terwijl anderen nog steeds vinden dat handmatig testen de beste aanpak is. Hoe denk jij dat QA-teams het meeste uit geautomatiseerd testen kunnen halen? Denk je dat we klaar zijn voor AI bij het testen?

Abonneer je op de nieuwsbrief van The CTO Club voor de nieuwste artikelen en updates van experts uit de sector.

Jason Boog
Over his 15-year career, Jason Boog has worked as a QA tester, QA analyst, and Senior QA Analyst on video games, commercial sites, and interactive web applications. He spent more than a decade building out the QA team and process as Director of Quality & Client Support at a full-service digital agency.
Follow the author:

You may also like