Automatisch testen en Scrum
Om de kwaliteit te waarborgen, is automatisch testen vandaag de dag standaard verweven in ons Scrum-proces en denken we bij iedere user story met onze tester, front-end developers en back-end developers op voorhand mogelijke scenario’s uit. Ook zorgen we dat we in de Product Backlog Refinement – dus voorafgaand aan een nieuwe sprint – al hebben nagedacht over wát we willen testen. We bakenen daarbij nog niet alles helemaal af, maar we zetten wel de basis op.
Rolverdeling bij een webapplicatie
- Back-end developer: richt zich vooral op de API en interne functionaliteit.
- Front-end developer: schrijft voornamelijk tests voor procedures / flows, bijvoorbeeld voor het inloggen, het ophalen van data vanuit de API en het controleren dat alles goed wordt getoond en interactie werkt zoals is bedoeld.
- Tester: denkt na over concrete scenario’s, bijvoorbeeld voor het inloggen, vaak meer gestuurd vanuit een testplan.
- Klant: levert (indien nodig) specifieke domeinkennis en data aan om de test goed op te kunnen zetten, maar is voornamelijk klankbord.
Waar mogelijk, proberen we je als klant uiteraard maximaal te ontzorgen. Zo kun jij je op andere belangrijke zaken in het Scrum-proces richten, zoals handmatig testen, stakeholder management en het verzorgen/plaatsen van content.
De impact van automatisch testen op het Scrum-proces
Automatisch testen tijdens het Scrummen heeft onder meer de volgende voor- en nadelen:
Voordelen
Automatisch testen gaat veel sneller, waardoor we meer kunnen testen in dezelfde tijd. Problemen worden sneller zichtbaar, waardoor ze minder impact hebben op het Scrum-proces. Daarnaast worden we gedwongen om beter na te denken over wat we tijdens het ontwikkelproces allemaal kunnen tegenkomen voordat we daadwerkelijk code gaan schrijven. Hierdoor kunnen we de uses story op voorhand al anders formuleren. En wat ik tot slot zelf als developer wel fijn vind, is dat we door automatisch te testen op voorhand meer zekerheid krijgen over de kwaliteit van datgene dat we maken en dát werkt best motiverend!
Nadelen
Op de korte termijn kost automatisch testen geld. Bovendien zijn er meerdere disciplines nodig om de testen op te zetten. Daarnaast vormt het schrijven van automatische testen een extra stap in het ontwikkelproces. En tot slot vergt het testen zelf onderhoud. Als je bijv. honderd tests schrijft voor een inlogformulier, levert dat meer onderhoud op aan de tests dan aan het formulier zelf. Als team moeten we zorgen dat we deze balans bewaken.
Automatisch testen en support / bugfixing
Voor het uitvoeren van upgrades geldt grotendeels hetzelfde als voor het oplossen van servicetickets. Alleen hebben upgrades veel meer impact op de codebase. Zo blijft bij een upgrade, naar bijvoorbeeld een nieuwe Symfony- of PHP-versie, maar weinig code onaangeroerd. Het is dan essentieel dat goed wordt getest om de upgrade succesvol en zonder bugs te kunnen uitvoeren. Bij grotere upgrades is automatisch testen zelfs een absolute voorwaarde, anders is het risico levensgroot dat het hele kaartenhuis in elkaar valt of dat er weken later nog vervelende - niet opgevallen - bugs naar voren komen. Daarom kijken we bij een upgrade altijd goed naar de testdekking en voeren we een upgrade pas door als de tests succesvol verlopen. Zeker bij een webapplicatie is dat belangrijk, omdat daarin vaak bedrijfskritische processen zitten. Werkt de webapplicatie na de update niet vlekkeloos, dan loop je omzet mis of kunnen je medewerkers niet werken.
Een voorbeeld CI pipeline die aftrapt bij iedere code wijziging. Allereerst wordt een security check uitgevoerd. Daarna volgen een code kwaliteitscontrole en de automatische tests. Pas als alles geslaagd is, kan de code gedeployed worden.
Goed onderhouden en betrouwbare webapplicatie
Naast automatisch testen monitoren we webapplicaties intensief en anticiperen we proactief op bugs via geïntegreerde error tracking. We passen code quality en profiling tools toe om de performance en betrouwbaarheid van de webapplicatie nóg verder te verbeteren. Kortom: we zorgen ervoor dat je webapplicatie in goede staat blijft en op een verantwoorde, betrouwbare en prettige manier met de organisatie kan blijven meegroeien.
Benieuwd hoe een webapplicatie jouw organisatie effectiever en efficiënter kan maken? Neem vrijblijvend contact met ons op.