Donkere kant van automatiseringstesten & waarom handmatig testen nog steeds belangrijk is

Discover how to deliver better software and systems in rapidly scaling environments. Join our Community

Geautomatiseerd testen is zo’n integraal onderdeel geworden van 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, was een volledig geautomatiseerde assemblagelijn een van de manieren waarop het de productiesnelheid wilde verhogen. AI zou de auto […]

Geautomatiseerd testen is zo'n integraal onderdeel geworden van 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, was een volledig geautomatiseerde assemblagelijn een van de manieren waarop het de productiesnelheid wilde verhogen. AI zou de auto met vrijwel geen toezicht van mensen in elkaar zetten. 

Het plan mislukte op dramatische wijze.

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 zo 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 rampzalige fouten. 

Hetzelfde geldt voor geautomatiseerd testen binnen QA. Sommige testvormen bevatten te veel variabelen en vereisen dat de handmatige tester in real time kan bijsturen en problemen kan oplossen. 

Wat is geautomatiseerd testen?

Geautomatiseerd testen betekent dat een QA-tester een tool gebruikt om een testgeval uit te voeren. In de ontwikkelcyclus wordt hetzelfde testgeval meerdere keren getest.

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

De schaduwzijde van geautomatiseerd testen

Andere bedrijfstakken, ambachten en beroepsgroepen hebben te maken gehad met de introductie van automatisering in hun vakgebied. Wanneer dat gebeurt, of het nu in de luchtvaart met automatische piloot, bij het weven van tapijten of bij het testen is, verliezen de werknemers in dat vakgebied hun begrip van het ‘waarom’ achter hun werk.

Dit is een fenomeen waarvan QA-professional Jan Jaap Cannegieter merkte dat het bij testers begon op te treden. Zijn grootste angst is dat het gemak van geautomatiseerd testen en de toenemende drang om een groot deel van het testproces te automatiseren zullen leiden tot een generatie testers die weten welke handelingen ze moeten uitvoeren, maar niet begrijpen waarom. 

Veel testers weten alles over bepaalde tools 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. Dat betekent doorgaans dat er zichtbare trends en veelvoorkomende fouten zijn die een QA-tester kan maken. Hier zijn 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 vast te stellen wat er mis is gegaan wanneer er een fout optreedt. 

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

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

UI-testautomatisering zonder toezicht

Bij het testen van de gebruikersinterface wordt gecontroleerd of een gebruiker niets in de UI kan doen waardoor het programma vastloopt of storingen veroorzaakt. Wanneer dit handmatig wordt getest, kunnen daar veel testers en veel mankracht voor nodig zijn. Eerlijk gezegd is het inefficiënt om op die manier te testen, vooral naarmate het programma groter wordt en meer functies getest moeten worden. 

Met geautomatiseerd testen wordt het proces sneller, maar het kan nog steeds een volledige dag lang de volledige capaciteit van de computer van een QA-tester vereisen. Om daarmee om te gaan, starten QA-testers de test aan het einde van de dag, laten ze deze 's nachts draaien en komen ze de volgende ochtend naar hun werk, waar de resultaten al op hen liggen te wachten. Klinkt logisch, toch? 

Op het eerste gezicht lijkt het een verstandige aanpak. De QA-tester gebruikt de computer overdag om andere programma's te testen en laat 's nachts het geautomatiseerde testen van de UI uitvoeren.

Juist omdat het intuïtief logisch lijkt, is dit een veelvoorkomende 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 verkeerd zijn. Een volledige dag testen leverde geen bruikbare informatie op vanwege een fout die gemakkelijk had kunnen worden opgemerkt en gecorrigeerd als iemand had gecontroleerd of de automatiseringstest correct werd uitgevoerd.

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

De verkeerde dingen automatiseren

Automatiseringstesten kosten tijd om op te zetten. 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, 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 automatiseringstesten, moet je ervoor zorgen dat wat je gaat automatiseren QA-testers een meetbare hoeveelheid tijd bespaart.

Je kunt niet alleen taken automatiseren die te weinig voorkomen om de inspanning waard te zijn; sommige taken kunnen ook simpelweg niet gemakkelijk worden geautomatiseerd.

Handmatig testen vervangen

Geautomatiseerd testen kan alleen controleren op datgene waarnaar het is geïnstrueerd 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 hij niet dat er iets mis is met het andere (de lettertypen). 

Handmatig testen kan zaken ontdekken die buiten de oorspronkelijke reikwijdte van de test vallen. De methode van verkennend testen is ontworpen om de QA-tester de ruimte te geven onverwachte bugs te vinden zodra die zich voordoen, zelfs als dat niet was waarnaar de tester aanvankelijk op zoek was. Wanneer het op één taak is gericht, kan automatiseringstesten grondig zijn. Uitgebreid kan het echter niet zijn. 

Voorbeelden van goed automatiseringstesten

Testautomatisering wordt uitgevoerd om risico's te beperken. Wanneer een QA-tester het risico kan beperken en de efficiëntie kan verhogen, moet automatiseringstesten zeker 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 automatiseringstesten moeten worden gebruikt in plaats van handmatig testen, is na te gaan of de test snel of continu wordt uitgevoerd. Als de test continu zal worden uitgevoerd, zijn automatiseringstesten de juiste keuze. 

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

Op dat moment zal een QA-tester beseffen dat die: a) meer tijd heeft besteed dan wanneer er automatiseringstesten waren uitgevoerd en b) slechter werk heeft geleverd en later meer problemen heeft veroorzaakt. 

Jason Huggins, oprichter van de populaire automatiseringstester Selenium, ontwikkelde het programma omdat hij merkte dat hij als tester zoveel van zijn dagen besteedde aan het uitvoeren van dezelfde taken - taken waarvan hij vond 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 industriestandaard. 

Zelfs de QA-professionals die sceptisch staan tegenover automatiseringstesten weten dat deze 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 assemblagelijnen 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. 

Automatiseringstesten hebben toezicht nodig

Zoals hierboven is vermeld in verband met Musks probleem met de Model 3 en de risico's van het 's nachts uitvoeren van automatiseringstesten, kan er veel misgaan wanneer je automatiseringstools alleen laat. 

Automatiseringstesten hebben toezicht nodig gif

De grote voordelen van automatiseringstesten ontstaan wanneer deze samen met handmatig testen of onder toezicht van een QA-tester worden uitgevoerd. Alleen al daarom hoeven QA-testers niet bang te zijn dat AT hun rollen in de nabije toekomst zal 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 testvormen binnen QA.

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

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

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

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

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

Wat vind 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.

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