Terug naar werk

Een checkout die niet meer stukgaat

Na elke update van een webshop ging er iets mis in de betaalstap. Ik zette een testaanpak op die fouten vindt voordat klanten ze tegenkomen.

Dit is een voorbeeldcase. Het project is verzonnen om te laten zien hoe ik een case opbouw; mijn eigen werk volgt binnenkort.

Rol
QA engineer
Context
Opdracht voor een webshop
Fases
Testen, automatiseren
Duur
8 weken
Team
3 developers, de product owner
Tools
Robot Framework, Jira, BrowserStack

De uitdaging

De webshop bracht elke twee weken een update uit. Bijna elke keer brak er iets in de checkout: een kortingscode die niet werkte, of een betaalmethode die verdween. Klanten merkten het eerder dan het team.

Testen gebeurde met de hand, op het laatste moment, en kostte twee volle dagen per release.

Wanneer is het geslaagd?

  • Geen kritieke fouten meer in de checkout na een release.
  • Een regressietest die binnen een uur klaar is.
  • Bugs komen bij het team binnen met genoeg informatie om ze direct op te lossen.

Mijn bijdrage

Wat ik deed

  • Risicoanalyse van de checkout, samen met het team
  • Testplan en 64 testcases voor de belangrijkste routes
  • 40 geautomatiseerde tests in Robot Framework die bij elke nieuwe versie draaien
  • Exploratieve testsessies en bugrapporten in Jira

Wat het team deed

  • De developers losten de bugs op en hielpen de tests in de bouwstraat te zetten
  • De product owner bepaalde samen met mij de prioriteit van bugs
  • Een collega-tester reviewde mijn testcases

Aanpak

  1. Risico's in kaart brengen

    Samen met het team bepaalde ik welke delen van de checkout het meest gebruikt worden en het vaakst kapotgaan. Daar begon het testen.

  2. Testplan en testcases

    Ik schreef 64 testcases voor de belangrijkste routes: betalen met iDEAL en creditcard, kortingscodes, verzendopties en foutmeldingen.

  3. Automatiseren met Robot Framework

    De 40 belangrijkste testcases zette ik om naar geautomatiseerde tests die bij elke nieuwe versie vanzelf draaien.

  4. Exploratief testen

    Naast de vaste tests zocht ik in korte sessies gericht naar wat niemand had bedacht, zoals een mobiele browser die het adresformulier anders invult.

Belangrijkste keuze

Welke tests automatiseer je eerst, als je niet alles tegelijk kunt doen?

  • Niet gekozen

    Alles automatiseren wat kan. Veel dekking, maar het duurt maanden voordat het team er iets aan heeft.

  • Gekozen

    Eerst de routes met het meeste risico: betalen, kortingscodes en verzenden.

Waarom: Uit de risicoanalyse bleek dat bijna alle fouten van het afgelopen jaar in die drie routes zaten. Door daar te beginnen, ving de eerste versie van de testset na twee weken al een echte bug.

Bewijs uit het proces

Een geanonimiseerde testcase, het bugrapport dat eruit volgde en de uitkomst van een regressierun.

TC-CHK-014 Mislukt

Kortingscode op een product dat al in de aanbieding is

Voorwaarde
Er ligt een product met 20% korting in de winkelwagen.
Stappen
  1. Ga naar de checkout.
  2. Vul de kortingscode WELKOM10 in.
  3. Klik op Toepassen.
Verwacht resultaat
De code wordt geweigerd, met de melding dat hij niet te combineren is met andere acties.
Werkelijk resultaat
Beide kortingen worden toegepast: de klant krijgt 30% korting.
BUG-231 Ernst: hoog

Kortingscode stapelt op de aanbiedingsprijs

Omgeving
Acceptatie, versie 2.14, Chrome en Safari
Gevonden met
TC-CHK-014
Verwacht resultaat
De code wordt geweigerd, met de melding dat hij niet te combineren is met andere acties.
Werkelijk resultaat
Beide kortingen worden toegepast: de klant krijgt 30% korting.
Status
Opgelost en hertest in versie 2.15

Regressierun versie 2.15

Duur: 25 minuten

  • 38 geslaagd
  • 2 mislukt

Beide mislukte tests waren bekende problemen met een eigen bugrapport.

Hier komt een afbeelding: een testrapport uit Robot Framework met geslaagde en mislukte tests.

Resultaat

Wat ik opleverde

  • Een testplan met risicoanalyse
  • 64 testcases, waarvan 40 geautomatiseerd in Robot Framework
  • 23 bugrapporten en een korte handleiding om de tests zelf te draaien

Gemeten effect

  • 25 minvoor de regressietest, in plaats van twee dagen
  • 23bugs gevonden vóór de livegang
  • 0kritieke fouten in de checkout na drie releases

Gemeten over de drie releases na de start van de geautomatiseerde tests, op basis van Jira en de testrapporten.

Het team brengt nu updates uit zonder angst voor de checkout, en de tests draaien automatisch mee bij elke wijziging.

Reflectie

Wat goed ging

Beginnen bij de risico's. Daardoor leverde de testset al vroeg iets op en kreeg ik het team mee.

Wat ik anders zou doen

Ik zou de testdata eerder regelen. De eerste weken faalden tests soms door een lege testomgeving in plaats van door echte bugs, en dat kostte vertrouwen.

Wat ik meeneem

Een goed bugrapport is net zo belangrijk als de bug vinden. Met duidelijke stappen, schermafbeeldingen en het verwachte gedrag losten developers fouten veel sneller op.

Een project in gedachten?

Stuur me een bericht. Ik reageer meestal binnen twee werkdagen.

raoufouaziz@hotmail.com

Bekijk mijn LinkedIn