Geautomatiseerd testen is zo geïntegreerd geraakt in 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 volledig.
Auto's botsten tegen elkaar, deuren werden in ramen geboord en banden werden niet goed op hun velgen gemonteerd.
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 in QA. Sommige testvormen hebben te veel variabelen en vereisen dat de handmatige tester onderweg kan bijsturen en problemen kan oplossen.
Wat is geautomatiseerd testen?
Geautomatiseerd testen houdt in dat een QA-tester een hulpmiddel gebruikt om een testcase uit te voeren. Tijdens de ontwikkelingscyclus wordt dezelfde testcase meerdere keren getest.
Sommige testcases waar een team van QA-testers uren handmatig mee bezig zou zijn, kunnen door een hulpmiddel voor geautomatiseerd testen in enkele minuten worden uitgevoerd. Verschillende hulpmiddelen voor geautomatiseerd testen zijn de industriestandaard geworden.
De keerzijde van geautomatiseerd testen
Andere bedrijfstakken, ambachten en beroepsgroepen hebben te maken gekregen met de introductie van automatisering in hun vakgebied. Wanneer dat gebeurt, of het nu gaat om de luchtvaart met automatische piloot, tapijtweven of testen, verliezen de mensen in dat vakgebied hun inzicht in 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 drang om een groot deel van het testproces te automatiseren, zal leiden tot een generatie testers die weet welke handelingen moeten worden uitgevoerd, 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.
Voorbeelden van slecht geautomatiseerd testen
Veel QA-testers zien hetzelfde potentieel in geautomatiseerd testen. Doorgaans betekent dit dat er waarneembare trends en veelvoorkomende 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 meerdere geautomatiseerde tests boven op elkaar uitgevoerd. Wanneer dit gebeurt, wordt het moeilijk om te achterhalen 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 weer in andere geautomatiseerde tests zijn genest.

Geautomatiseerd testen van de gebruikersinterface zonder toezicht
Bij het testen van de gebruikersinterface wordt gecontroleerd of een gebruiker niets op de gebruikersinterface kan doen waardoor het programma vastloopt of storingen veroorzaakt. Wanneer dit handmatig wordt getest, zijn daar veel testers en veel mankracht voor nodig. 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 een hele dag lang de volledige capaciteit van de computer van een QA-tester vereisen. Om daarmee om te gaan, voeren QA-testers de test aan het einde van de dag uit, laten ze deze '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 de geautomatiseerde test op de gebruikersinterface 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 vroeg iets misgaat, zullen de rest van de resultaten onjuist zijn. Een volledige dag testen heeft geen bruikbare informatie opgeleverd vanwege een fout die eenvoudig had kunnen worden ontdekt en gecorrigeerd als iemand aanwezig was geweest om te controleren of de geautomatiseerde test correct werd uitgevoerd.
Hoewel geautomatiseerd testen soms kan leiden tot fout-positieve resultaten, kan het kiezen van de juiste QA-automatiseringstools dergelijke gevallen aanzienlijk verminderen.
De verkeerde dingen automatiseren
Het opzetten van automatiseringstests kost tijd. QA moet ervoor zorgen dat de automatiseringstools geschikt zijn voor het project en dat de QA-testers weten hoe ze de tools op de juiste manier moeten gebruiken.
Dit alles kost veel tijd en organisatie, en 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 begint met automatiseringstests, moet je ervoor zorgen dat wat je gaat automatiseren QA-testers een meetbare hoeveelheid 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 op wat het opgedragen is te zoeken. Als de lettertypen op een webpagina er vreemd uitzien, maar de test alleen controleerde of alle links op de site werkten, lost de test één probleem op (de links), maar weet deze niet dat er iets mis is met het andere probleem (de lettertypen).
Handmatig testen kan zaken aan het licht brengen die buiten de oorspronkelijke scope van de test vallen. De methode van verkennend testen is ontworpen om de QA-tester de ruimte te geven onverwachte bugs te vinden wanneer die zich voordoen, zelfs als dat niet was waarnaar die aanvankelijk op zoek was. Wanneer automatiseringstests op één taak zijn gericht, kunnen ze grondig zijn. Uitputtend kunnen ze niet zijn.
Voorbeelden van goed geautomatiseerd testen
Testautomatisering wordt uitgevoerd om risico's te minimaliseren. Wanneer een QA-tester het risico kan minimaliseren en de efficiëntie kan maximaliseren, moet automatiseringstesten absoluut worden toegepast. 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 fout zal maken.
Een goede vuistregel om te bepalen wanneer automatiseringstests moeten worden gebruikt in plaats van handmatig testen, is om te vragen of de test snel of continu zal worden uitgevoerd. Als de test continu zal worden uitgevoerd, zijn automatiseringstests de juiste keuze.
Mensen zijn slechter dan machines in het consistent uitvoeren van repetitieve taken op een hoog niveau. We verlangen naar afwisseling en haken mentaal af wanneer we te lang hetzelfde doen. Hierdoor kunnen fouten onopgemerkt blijven.
Zo zal een QA-tester beseffen dat die: a) meer tijd heeft besteed dan wanneer die automatiseringstests had uitgevoerd en b) slechter werk heeft geleverd en later meer problemen heeft veroorzaakt.

Jason Huggins, 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 dacht dat ze eenvoudig en rechttoe rechtaan 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 industrienorm.
Zelfs QA-professionals die sceptisch staan tegenover automatiseringstests weten dat deze in veel gevallen een doel dienen.
Waarom handmatig testen nooit zal verdwijnen
We hebben de goede, de slechte en de zeer slechte aspecten van AT besproken. We weten in welke situaties het goed werkt en waar het ervoor zorgt dat assemblagelijnen autobanden door de fabriek heen gooien. Laten we ons voor nu richten op handmatig testen en waarom dit nog steeds zo belangrijk is voor QA-testers.
Automatiseringstests hebben toezicht nodig
Zoals hierboven werd vermeld, met Musks probleem met Model 3 en de risico's van het 's nachts uitvoeren van automatiseringstests, kan er veel misgaan wanneer je automatiseringstools alleen laat.

De grote voordelen van automatiseringstests ontstaan wanneer deze samen met handmatig testen of onder toezicht van een QA-tester worden uitgevoerd. Alleen al daarom kunnen QA-testers gerust zijn: AT zal hun rollen in de nabije toekomst niet overnemen.
Handmatig testen maakt gebruik van verkennend testen
Wanneer een tester een verkennende test uitvoert, onderzoekt die de software zonder vooraf bepaald 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.
Exploratief testen maakt ook samenwerking, theorievorming en samenwerking allemaal ter plekke mogelijk.
Naarmate de agile ontwikkelingstheorie prominenter is geworden, is ook exploratief testen dat geworden.
Geautomatiseerd testen mist de flexibiliteit en creativiteit om flexibel genoeg te zijn voor exploratief testen. Het werkt het best in een rigide omgeving waarin het precies weet waarnaar het moet zoeken. Exploratief testen is precies het tegenovergestelde: de QA-tester opdracht geven om te gaan waar die wil.
Wat denk jij?
Sommige mensen zweren bij geautomatiseerd testen, terwijl anderen nog steeds vinden dat handmatig testen de juiste 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 om de nieuwste artikelen en updates van experts uit de sector te ontvangen.
