Testautomatisering? 10 Redenen waarom handmatig testen onmisbaar blijft – met voorbeelden
Ik merk dat er veel vraag is naar testautomatiseerders. Het lijkt erop alsof organisaties dan denken dat handmatig testen niet meer nodig is. Ja, testautomatisering bespaart tijd, verkleint menselijke fouten en versnelt de feedbackloop. Daar is geen spelt tussen te krijgen. Er zijn nog wel wat punten die ik graag belicht voordat er werkelijk niet meer handmatig getest gaat worden.
Handmatig testen een essentieel onderdeel van het bewaken van de kwaliteit. Hieronder heb ik tien redenen voor je waarom handmatig testen onmisbaar blijft, met voorbeelden. Heb je zelf ook nog redenen of ben je het hier niet mee eens? Laat dan een comment achter.
1. Menselijke creativiteit met Exploratory Testing
Automatische tests volgen via de vooraf gedefinieerde testscripts afgebakende paden en kunnen niet afwijken wanneer ze dat zelf willen. Menselijke testers denken buiten de gebaande paden en kunnen dat dus wel. Exploratory Testing help je hierbij om op een gestructureerde manier toch ongestructureerd te testen.
Voorbeeld:
Een tester onderzoekt een mobiele bankieren-app zonder vooraf gedefinieerde testscripts. Tijdens het wisselen tussen meerdere valuta’s ontdekt hij een bug waarbij verkeerde wisselkoersen worden toegepast. Dit soort onvoorziene fouten worden vaak over het hoofd gezien door geautomatiseerde tests.
Een geautomatiseerd script kan soms zo snel afspelen dat de knop om een formulier te verzenden niet snel geladen wordt en het script faalt. De menselijke tester ziet wat een gebruiker zou ervaren als die het systeem zou bedienen wat dus realistischer is.
2. Gebruikerservaring en gebruiksvriendelijkheid
Automatische tests controleren de functionaliteit, maar kunnen niet beoordelen of een applicatie intuïtief en prettig werkt. Handmatige testers kunnen inconsistente lay-outs, verwarrende navigatie en slechte gebruikservaringen opsporen.
Voorbeeld:
Een webwinkel heeft een nieuw proces om af te rekenen. Geautomatiseerde tests kunnen controleren of de knoppen werken, maar alleen een handmatige tester kan beoordelen of het proces logisch en intuïtief aanvoelt voor een gebruiker. Als klanten bijvoorbeeld de betalingsopties niet gemakkelijk, dus intuïtief, kunnen vinden, kan dit leiden tot bezoekers die wegblijven, klagen of en uiteindelijk verkoopverlies
3. Edge Cases en Ad-hoc Testen met testautomatisering
Sommige bevindingen ontstaan in ongewone scenario’s die moeilijk in testcases te vangen zijn. Handmatige testers kunnen flexibel reageren op onverwachte situaties en unieke testscenario’s creëren. Juist door Exploratory Testing zoek je de grenzen op en kom je bij Edge Case gevallen uit.
Voorbeeld:
Een heel simpele situatie is een online ticketverkoopsysteem. Die werkt prima onder normale omstandigheden, maar een handmatige tester besluit om een reservering te maken op 31 februari. Dit veroorzaakt een fout die anders niet was ontdekt door vooraf ingestelde testscripts. Of de handmatige tester vult een lang verhaal in een formulierveld. Alleen is de database daar niet op ingericht en ontstaat er een fout. Dit had een geautomatiseerd script niet kunnen vinden omdat die is ingericht op een bepaald aantal karakters.
4. Ondersteuning voor testautomatisering
Testautomatisering vereist goed ontworpen testcases en een stabiele bereikbare testomgeving. Handmatige testers spelen een cruciale rol bij het opstellen en valideren van deze tests voordat ze geautomatiseerd worden.
Voorbeeld:
Voordat een testteam een script automatiseert voor een HR-portaal, voert een handmatige tester verschillende tests uit om de meest voorkomende gebruikersfouten te identificeren. Dit helpt bij het maken van efficiënte geautomatiseerde tests die beter aansluiten bij realistische scenario’s. Je kunt dit onder de paraplu van intake testen hangen.
5. Visuele verificatie/bevestiging
Automatische tests kunnen veranderingen in de UI detecteren, maar missen vaak context. Handmatige testers kunnen beoordelen of een applicatie er letterlijk correct uitziet op verschillende schermformaten en browsers. Daarbij is het toetsen van de toegankelijkheid raadzaam om handmatig te testen.
Voorbeeld:
Een nieuwswebsite krijgt een nieuw uiterlijk. Een geautomatiseerde test kan controleren of alle afbeeldingen correct worden geladen, maar een handmatige tester merkt dat sommige afbeeldingen overlappen met tekst in bepaalde schermresoluties. Dit probleem kan alleen door een menselijke beoordeling worden vastgesteld.
6. Snelle feedback bij kleine wijzigingen
Niet alle tests hoeven geautomatiseerd te worden. Voor kleine wijzigingen, zoals een tekstwijziging of een nieuwe knop, is een snelle handmatige test vaak efficiënter dan het aanpassen en draaien van geautomatiseerde tests.
Voorbeeld:
Een webapplicatie verandert de kleur van een ‘Bestel’-knop. In plaats van een testscript aan te passen en opnieuw uit te voeren, kan een handmatige tester dit direct verifiëren binnen enkele seconden.
7. Testen van nieuwe functionaliteiten
Bij nieuwe functionaliteiten zijn de requirements vaak nog niet helemaal duidelijk. Handmatige testers kunnen tests uitvoeren en direct feedback geven, zonder dat er al een geautomatiseerd script hoeft te zijn.
Voorbeeld:
Een school introduceert een nieuwe manier van aanmelden voor examens. Omdat de requirements nog niet volledig uitgekristalliseerd zijn, test een handmatige tester de functie terwijl hij feedback geeft aan het developmentteam over inconsistenties en mogelijke verbeteringen. Vooral in Agile/Scrum omgevingen is dit aan te raden zodat de velocity omhooggaat.
8. Herstel na productieproblemen
Na een productie-incident moeten teams vaak snel testen of een hotfix het probleem oplost. Handmatig testen biedt directe controle en flexibiliteit zonder afhankelijk te zijn van een volledige testautomatiseringssuite.
Voorbeeld:
De webwinkel van een organisatie krijgt meldingen van klanten dat kortingscodes niet werken. Een handmatige tester voert snel een paar tests uit en ontdekt dat codes met speciale tekens niet worden geaccepteerd. Dit kan direct worden opgelost zonder te wachten op een volledige testautomatiseringsrun.
9. Kosten en tijd voor automatisering
Automatiseren van tests vergt tijd en budget. Niet alles hoeft geautomatiseerd te worden, zeker bij eenmalige of snel veranderende functionaliteiten of bij plekken waar je als gebruiker vaak komt. Bijvoorbeeld het hoofdmenu van een website.
Voorbeeld:
Een bedrijf lanceert een tijdelijke Black Friday-promotie met een aftelklok op de homepage. Het is inefficiënt om dit te automatiseren, omdat de functionaliteit slechts een paar dagen actief is. Handmatig testen is hier de beste keuze.
10. Menselijke intuïtie en domeinkennis
Sommige fouten vereisen een intuïtief inzicht of domeinkennis die automatische tests niet kunnen bevatten. Een ervaren tester kan patronen herkennen en inconsistenties opmerken die een script over het hoofd zou zien.
Voorbeeld:
Een verzekeringsapplicatie berekent premies op basis van gebruikersgegevens. Een ervaren tester met domeinkennis merkt dat een berekende premie onrealistisch laag is voor een hoog risicoprofiel. Dit soort afwijkingen worden vaak niet opgemerkt door geautomatiseerde tests want die zijn geprogrammeerd met bepaalde, vaak regelmatig, fictieve en onrealistische waarden.
Conclusie
Testautomatisering is echt een heel krachtig hulpmiddel. Echter kan dit het handmatig testen niet volledig vervangen. De combinatie van beide manieren zorgt voor een teststrategie waarbij zowel snelheid als kwaliteit gewaarborgd moeten blijven. Handmatige testers spelen een cruciale rol bij het waarborgen van een optimale gebruikerservaring, het ontdekken van onverwachte fouten en het ondersteunen van automatisering. Mijn advies zou daarom ook zijn dat een organisatie kiest voor een handmatige tester een een testautomatiseerder. Kortom: handmatig testen blijft essentieel!
Advertentie: Wil je meer weten over Agile Testen? Klik hier om mijn boek te lezen over Agile Testen in de Praktijk