Way2Web Software | Blog Archives - Way2Web Software Blog Archives - Way2Web Software
Door Kristofer Tengström Leestijd 2 min.
Hoe schrijf je een goede behavior test?
Een behavior test, of een browsertest bij webapplicaties, wordt gebruikt om een applicatie te testen op het niveau van een gebruiker. Alles kan technisch prima werken – maar werkt het ook voor de gebruiker? Komt de gebruiker logisch door een flow zonder foutmeldingen of bugs?
Voor deze testvorm gebruiken we het testframework PHPUnit en Laravel Dusk. Deze tests zijn volledig afgestemd op PHP en, omdat de applicatie getest wordt samen met data, ook zeer grondig. Hoe goed een test is, hangt overigens voor een belangrijk deel af van degene die de test schrijft.
Geen testers in huis
Bij Way2Web hebben we geen aparte testers maar wordt de code voor tests direct geschreven door de developers. Die code wordt opgenomen in de applicatie om te controleren of een bepaalde flow werkt.
Je test niet alleen voor oplevering maar ook iedere keer dat je iets toevoegt of een bug gefixt hebt. Ongewenste bijeffecten kun je namelijk, zeker bij grote complexe applicaties, niet iedere keer handmatig controleren.
Een bug is een ontbrekend scenario
Een behavior test gaat over het gedrag en de verwachtingen van de gebruiker. Gaat er iets niet goed dan heb je mogelijk een bepaalde reactie of handeling van een gebruiker niet aan zien komen.
Het is zaak dat de developers en de product owner samen goed na denken over zulke scenario's. Beschrijf alle scenario's, voorwaarden en verwachtingen dus zo compleet mogelijk in de test.
Je kunt niet alles even grondig doen. Dat laten de planning en het budget van een project niet toe. Overleg samen met de stakeholder of opdrachtgever wat de belangrijkste flows zijn om een behavior test voor te schrijven. En kijk of je een flow wellicht ook op een andere handige manier zou kunnen testen.
Werk altijd samen
Een developer schrijft een behavior test in principe alleen en maakt de code daarna inzichtelijk voor de rest van het ontwikkelteam om feedback te krijgen. Zo'n code review gaat niet alleen om de logica maar zeker ook om een 'nette' codestructuur.
Een goede structuur is namelijk belangrijk om ervoor te zorgen dat de code begrijpelijk, deelbaar, goed onderhoudbaar en overdraagbaar is. Bij Way2Web is het gebruikelijk dat code door in ieder geval twee collega's wordt gereviewd en goedgekeurd.
Mensentaal of programmeertaal?
Bij Behavior Driven Development worden tests geschreven die voor iedereen leesbaar zijn, dus niet alleen voor developers. Bovendien wordt zo'n test geschreven vóórdat je begint met het programmeren. Hoewel daar zeker voordelen aanzitten, doen we dat bij Way2Web niet.
Onze developers schrijven de tests direct in code omdat dit gewoon sneller gaat. Het is bovendien makkelijker om te verifiëren dat de test goed geschreven is als je de functionaliteit al hebt gebouwd. Daarmee voorkom je dat je iets belangrijks vergeet.