Agile testen: zo werkt het en wat maakt het anders

Agile testen is een manier van softwaretesten waarbij testen niet aan het einde van een project plaatsvindt, maar continu door het hele ontwikkelproces heen. In plaats van te wachten tot de software klaar is, test je al tijdens het bouwen. Dat klinkt simpel, maar het vraagt een andere werkwijze, een andere mindset en een andere samenwerking dan traditioneel testen.

Dit artikel legt uit hoe agile testen werkt, wat je rol als agile tester inhoudt en waar je in de praktijk op moet letten.

Wat is agile testen precies?

Bij traditioneel testen (ook wel waterval-testen) wordt testen gezien als een aparte fase: de ontwikkelaars bouwen de software, daarna testen testers wat er gemaakt is. Het probleem? Als je laat in het proces een grote fout ontdekt, is die duur om te herstellen. De code is al complex, er is al veel bovenop gebouwd en aanpassen kost veel tijd.

Agile testen lost dat op door testen en ontwikkelen te verweven. In een agile team werk je in korte sprints, meestal van één tot vier weken. Elke sprint levert een stukje werkende software op, en bij elke sprint hoort ook testen. Zo ontdek je problemen vroeg, terwijl de code nog vers is en aanpassen nog relatief eenvoudig is.

Agile testen is daarmee niet zomaar een techniek, het is een aanpak die past bij de agile manier van werken (zoals Scrum of Kanban). Testen is geen aparte fase meer, maar een doorlopende activiteit die verweven is met het hele ontwikkelproces.

De rol van een agile tester

Een agile tester is geen eindcontrole-specialist meer, maar een actief lid van het ontwikkelteam. Je bent betrokken vanaf het begin: bij het bespreken van nieuwe functionaliteiten, het opstellen van acceptatiecriteria en het schrijven van testcases. Zo weet je precies wat er gebouwd moet worden en wat er getest moet worden.

Korte lijntjes met ontwikkelaars zijn daarin belangrijk. Als je nauw samenwerkt, kunnen bugs in een vroeg stadium worden ontdekt, vaak al voordat de code echt af is. Dat scheelt tijd, frustratie en geld. Een agile tester denkt mee vanuit kwaliteit en stelt kritische vragen over de eisen, nog voordat er één regel code geschreven is.

Typische taken van een agile tester:

  • Meedenken bij het opstellen van gebruikersverhalen (user stories)
  • Acceptatiecriteria helpen definiëren
  • Handmatig en geautomatiseerd testen uitvoeren tijdens en na een sprint
  • Bugs snel en duidelijk rapporteren aan het team
  • Regressietesten uitvoeren om te controleren of nieuwe code bestaande functies niet breekt
  • Samenwerken met ontwikkelaars bij het oplossen van problemen

Shift left: testen verschuift naar het begin

“Shift left” is een begrip dat je veel hoort bij agile testen. Het betekent letterlijk dat testen verschuift naar de linkerkant van de tijdlijn, dus naar het begin van het proces. In de praktijk betekent dat: als een tester pas bij de oplevering betrokken is, werkt dat niet in een agile omgeving. Een agile tester zit al aan tafel bij de planningssessies.

Dit heeft een concreet voordeel. Een bug die in de ontwerpfase wordt gevonden, kost misschien een paar uur om op te lossen. Dezelfde bug die pas na oplevering opduikt, kan dagen of weken kosten. Vroeg testen is dus direct goedkoper testen.

Geautomatiseerd testen in agile

Omdat agile teams snel en vaak opleveren, is handmatig testen alleen niet meer vol te houden. Geautomatiseerde tests vormen daarvoor de basis. Denk aan unit tests (die kleine stukken code controleren), integratietests (die controleren of onderdelen goed samenwerken) en end-to-end tests (die de volledige gebruikerservaring nabootsen).

Automatisering zorgt ervoor dat je bij elke nieuwe sprint snel kunt controleren of de bestaande functionaliteit nog werkt. Dat heet continue integratie (CI). Tools als Selenium, Cypress of TestNG worden hiervoor veelgebruikt in agile teams. Het opzetten van een goede testautomatisering kost aan het begin tijd, maar betaalt zich al snel terug naarmate het product groeit.

Waar agile testen in de praktijk misgaat

Agile testen klinkt logisch, maar in de praktijk zijn er valkuilen. De meest voorkomende:

  • Testen toch uitstellen. Ondanks de agile aanpak eindigt testen soms toch aan het einde van een sprint, onder tijdsdruk. Dat haalt het voordeel van vroeg testen weg.
  • Te weinig samenwerking. Als testers en ontwikkelaars nauwelijks overleggen, missen testers context en missen ontwikkelaars kwaliteitssignalen vroeg in het proces.
  • Slechte acceptatiecriteria. Onduidelijke of ontbrekende acceptatiecriteria zorgen voor verwarring over wat getest moet worden.
  • Testschuld opbouwen. Als tests steeds worden overgeslagen “omdat het nu te druk is”, stapelt de testschuld zich op. Dat maakt latere sprints steeds risicovoller.

Agile testen en de Definition of Done

In veel agile teams wordt gewerkt met een “Definition of Done” (DoD): een afgesproken lijst van criteria waaraan een user story moet voldoen voordat die als klaar geldt. Testen maakt altijd onderdeel uit van die DoD. Een story is pas klaar als de tests zijn uitgevoerd, de bugs zijn opgelost en de acceptatiecriteria zijn gehaald. Dat voorkomt dat “bijna af” als af wordt gezien.

Agile testen vraagt om betrokkenheid, snelheid en goede communicatie. Het werkt het best als testen van het begin af aan serieus wordt genomen, niet als sluitpost van een sprint. Voor teams die net beginnen met agile werken: maak testen zichtbaar in je proces, betrek de tester vroeg en investeer in testautomatisering. Dat legt een stevige basis voor kwaliteitsvolle software die sprint na sprint blijft groeien.

Scroll naar boven