Wat is het uitvoeren van een handmatige test?

Het uitvoeren van een handmatige test betekent dat een tester zonder geautomatiseerde tools of scripts een test uitvoert om te controleren of een functionaliteit werkt zoals verwacht.

Casus

Lisa zuchtte diep en staarde naar haar scherm. Voor de derde keer deze week voerde ze de functionele test uit op de nieuwste versie van de applicatie. De test was geen onbekende voor haar; ze kende de stappen uit haar hoofd. Toch doorliep ze ze zorgvuldig, één voor één, om geen detail over het hoofd te zien.

Het duurde niet lang voordat de eerste test faalde. Lisa noteerde het in haar testdocument: “Stap 4: invoer wordt niet correct verwerkt. Verwacht resultaat: bevestigingsbericht. Werkelijk resultaat: foutmelding.” Ze ging verder, maar al snel volgden meer rode kruisen in haar test beschrijving. Hoe verder ze kwam, hoe duidelijker het werd: deze versie zat vol problemen.

Ze opende haar testrapportage en vulde de bevindingen in, gestructureerd en helder, met een lijst van alle mislukte tests en de mogelijke impact op de gebruikers. Dit kon niet zomaar genegeerd worden.

Een uur later zat ze met Leo, de ontwikkelaar, in een overleg. “Dit is echt een probleem,” zei Lisa terwijl ze haar laptop draaide om hem de testresultaten te laten zien. “Bijna de helft van de testen faalt. Sommige bugs zijn dezelfde als vorige keer, dus die zijn nog niet opgelost.”

Leo wreef over zijn gezicht. “Dat is niet best. Dit gaat ons veel tijd kosten om te fixen."

"En die tijd hebben we eigenlijk niet,” voegde Lisa toe. “De projectleider rekent op een oplevering volgende week. Dit brengt de deadline in gevaar.”

Samen bedachten ze een plan: Leo zou de kritieke fouten met prioriteit aanpakken en Lisa zou morgen een hertest uitvoeren. Ondertussen zou ze de projectleider op de hoogte stellen van de risico’s.

Terwijl ze haar rapport afrondde, dacht Lisa na. Dit soort dagen waren pittig, maar ook waarom ze haar werk zo waardeerde. Het ging niet alleen om het vinden van fouten, maar om samenwerken en zorgen dat het eindproduct écht goed werd.

Hoe zit het uitvoeren van een handmatige test in elkaar?

Bij het uitvoeren van een handmatige test is er aandacht voor de uitvoering van de testcase, het testobject en de testomgeving. Het resultaat wordt vastgelegd in een testrapportage en de stakeholders worden betrokken bij de bevindingen en het testresultaat.

Uitvoeren van een functionele test

Een functionele test wordt uitgevoerd om te verifiëren of een softwaretoepassing werkt volgens de gestelde eisen en specificaties. Dit kan zowel geautomatiseerd als handmatig gebeuren. In dit geval wordt de test handmatig uitgevoerd.

Wanneer een tester een handmatige test uitvoert, doorloopt zij vooraf gedefinieerde testcases en vergelijkt de verwachte uitkomsten met de daadwerkelijke resultaten. Indien afwijkingen worden vastgesteld, wordt dit geregistreerd als een bevinding.

Het testen is een iteratief proces: wanneer een applicatie opnieuw getest wordt, is het belangrijk om na te gaan of eerder gevonden fouten zijn opgelost en of er nieuwe problemen zijn geïntroduceerd. Dit regressietesten.

Vastleggen van testresultaten

Tijdens het testproces worden de testresultaten nauwkeurig gedocumenteerd. Dit omvat:

  • Wie de test heeft uitgevoerd
  • Datum en tijd
  • De uitgevoerde teststappen
  • Het verwachte resultaat
  • Het daadwerkelijke resultaat
  • Een indicatie of de test is geslaagd of mislukt
    Bij een mislukte test wordt de afwijking vastgelegd als een bevinding, zodat deze later geanalyseerd en opgelost kan worden.

Registreren van bevindingen

Een bevinding (bug of defect) wordt geregistreerd in een testrapportage of een speciaal bevindingensysteem. Dit rapport bevat de volgende elementen:

  • Een duidelijke omschrijving van het probleem
  • De omstandigheden waarin de fout optreedt
  • De ernst van de bevinding (kritiek, hoog, gemiddeld, laag)
  • Mogelijke impact op de gebruiker en het project
  • Een koppeling naar de betreffende testcase

Deze documentatie helpt ontwikkelaars bij het reproduceren en oplossen van het probleem en geeft het projectteam inzicht in de stabiliteit van de applicatie.

Classificeren ernst van de bevinding

Het is aan te raden om een concrete indeling te gebruiken voor de ernst van de bevinding. Bijvoorbeeld:
Urgent - blokkerend voor het proces, geen ‘work arounds mogelijk’ Hoog - blokkerend voor het proces, ‘work around’ mogelijk Midden - Niet blokkerend voor het proces Laag - Cosmetisch, ‘nice to have’

Bespreken en oplossen van bevindingen

Nadat de testresultaten en bevindingen zijn vastgelegd, worden ze besproken met de ontwikkelaars. Het doel hiervan is:

  • Duidelijkheid verschaffen over de problemen
  • Prioriteiten stellen op basis van de ernst en impact
  • Bepalen welke bevindingen voor de volgende release moeten worden opgelost

Indien veel testen falen, kan dit de projectplanning beïnvloeden. De tester bespreekt daarom de risico’s met de projectleider en geeft een inschatting van de haalbaarheid van de geplande oplevering. Dit helpt het management bij het nemen van beslissingen over een mogelijke uitstel of het aanpassen van de prioriteiten.

Hertesten en validatie

Zodra de ontwikkelaars de bevindingen hebben opgelost, wordt de applicatie opnieuw getest. Dit proces, ook wel hertesten genoemd, controleert of de eerder gemelde fouten daadwerkelijk zijn verholpen en of de wijzigingen geen nieuwe problemen hebben geïntroduceerd.
Door een gestructureerde aanpak van testen, vastleggen en bespreken van bevindingen wordt de kwaliteit van de software gewaarborgd en kunnen mogelijke projectrisico’s tijdig worden gemanaged.

Hoe gebruik je het uitvoeren van een handmatige test?

Een handmatige test wordt uitgevoerd in verschillende situaties. Wanneer een nieuwe functionaliteit is ontwikkeld en nog niet eerder getest is, is een handmatige test belangrijk om te controleren of deze voldoet aan de gestelde eisen en specificaties. Daarnaast wordt handmatig testen vaak ingezet bij regressietesten, waarbij wordt gecontroleerd of bestaande functionaliteiten nog correct werken na wijzigingen in de codebase. Dit is vooral van belang wanneer er geen volledige geautomatiseerde testset beschikbaar is.

Ook bij het verifiëren van bugfixes speelt handmatig testen een belangrijke rol. Nadat een defect is opgelost, wordt gecontroleerd of het probleem daadwerkelijk verholpen is. Dit gebeurt doorgaans als onderdeel van een hertest of retest. Daarnaast wordt handmatige testing toegepast bij usability testing, waarbij de gebruikerservaring wordt beoordeeld. Hierbij kijkt men of de applicatie intuïtief en gebruiksvriendelijk is.

Soms worden handmatige tests ad-hoc of exploratief uitgevoerd, zonder vooraf gedefinieerde testcases, om onverwachte problemen te ontdekken. Dit kan nuttig zijn voor het identificeren van edge-cases die anders over het hoofd worden gezien. In gevallen waarin automatisering niet haalbaar of kostbaar is, zoals bij visuele validaties of tests die menselijke interpretatie vereisen, wordt handmatig testen ook ingezet.

Verschillende rollen binnen een team kunnen betrokken zijn bij handmatige tests. Testers, zoals software test engineers of QA engineers, voeren deze tests uit op basis van testmethodologieën en tools. Ontwikkelaars testen soms ook handmatig, vooral tijdens unit- en integratietests voordat zij code overdragen aan testers. Daarnaast kunnen business analisten of product owners handmatige tests uitvoeren om te verifiëren of de software voldoet aan zakelijke vereisten. Tot slot worden handmatige tests vaak uitgevoerd door eindgebruikers tijdens de User Acceptance Testing (UAT), waarbij de software in een realistische omgeving wordt getest om te bepalen of deze geschikt is voor productie.


Volgende stap: Uitleg evalueren testresultaat