In onze eerste blog van de 3 serie “Eerste hulp bij testen in Agile omgeving” hebben we besproken hoe belangrijk een all round tester is en wat deze tester aan “bagage” nodig heeft om het testen op orde te hebben in een Agile omgeving. Naast de all round tester is een commitment aan het testproces belangrijk. Wat wordt hiermee bedoeld? De scrumteams moeten zich committeren aan eenzelfde testproces om het mogelijk te maken team overstijgende keten- en regressietesten uit te voeren. Dit wordt nog belangrijker op het moment dat de uitvoering van de tests geautomatiseerd wordt. Om dit binnen alle teams voor elkaar te krijgen is het essentieel om het management te betrekken bij de teststrategie.
Betrokkenheid
In de vorige tip over testen in een Agile omgeving hebben we het gehad over het belang van een all round tester binnen elk scrumteam. Deze tester moet het testproces volgen zoals is vastgelegd in de teststrategie. Zorg ervoor dat het management betrokken is bij het vastleggen van die teststrategie. Hierdoor krijgen zij inzicht in de bedrijfsrisico's in relatie tot de testaanpak. Dit is voor het management essentieel om te weten zodat er kan worden bijgestuurd als dat nodig is, gelet op de bedrijfsrisico’s. Juist in een Agile omgeving is het nodig om het management continu betrokken te houden bij de teststrategie. Binnen een Agile omgeving is er namelijk sprake van veel dynamiek en veranderingen.
Teststrategie
Als er wijzigingen plaatsvinden, moet er in een risico analyse worden vastgesteld hoe groot de bedrijfsrisico’s van de wijzigingen zullen zijn. De wijzigingen met een hoge kans op bedrijfsschade zullen zwaarder getest worden dan wijzigingen met een laag risico. Maar op welke manier moet er worden getest? Dit leg je vast in de teststrategie. Het kan namelijk voorkomen dat wijzigingen met behulp van speciale test-specificatietechnieken moeten worden getest. Ten tweede moet in de teststrategie duidelijk naar voren komen wat de eisen zijn rondom testscripts. Denk daarbij aan de mate van detail, de testdata en -omgevingen, het vastleggen van resultaten en de afhandeling van testbevindingen. Zoals eerder aangegeven is het belangrijk dat de teststrategie duidelijk wordt gecommuniceerd met het management. Het uiteindelijke doel van Agile werken zal zijn om een toegevoegde waarde te leveren aan de business. Zorg daarom voor een goede samenwerking en communicatie tussen IT en de business.
In het Agile Manifesto staat beschreven dat menselijke interactie boven processen staat en dat inspelen op veranderingen boven het volgen van een plan staat. Hierdoor staat het vasthouden van een teststrategie in een Agile omgeving haaks op het Agile Manifesto.
“Uit onze ervaring blijkt dat elk team een eigen testaanpak hanteert. Dit is niet wenselijk, gezien de bedrijfsrisico’s die hierdoor ontstaan."
Op het moment dat elk team een andere testaanpak heeft, is het lastig om overzicht te houden. Daarbij weet je niet of er wel voldoende wordt getest en kunnen de bedrijfsrisico’s toenemen. Zorg daarom dat de testaanpak nauwkeurig staat beschreven in de teststrategie, en dat elk team hiervan op de hoogte is.
Testautomatisering
Steeds meer bedrijven willen geautomatiseerd testen. Ook vanuit dit oogpunt is het volgen van het testproces, zoals die beschreven staat in de teststrategie van groot belang. In een Agile omgeving (en zeker in een DevOps omgeving) is het geautomatiseerd uitvoeren van de tests een must. Dat geldt des te meer voor het uitvoeren van de regressie- of ketentest. Bij dit soort tests zijn namelijk vaak meerdere teams betrokken. Om deze tests goed te kunnen onderhouden is het noodzakelijk dat de wijzigingen die de teams ontwikkelen op een eenduidige wijze in de regressietest verwerkt worden. Waar raken de tests elkaar binnen de sprints? Hoe ziet de samenstelling eruit? Elk team moet inzicht hebben in de samenstelling van deze testsets. Daarbij moet elk team weten hoe de testautomatisering uitgevoerd wordt en hoe zij input moeten geven.
Tot slot
Uiteraard is ook de teststrategie zelf binnen een Agile omgeving aan verandering onderhevig. Dit betekent dat op vaste momenten de teststrategie bekeken moet worden en waar nodig aangepast. Doe dit in samenspraak met het management. Vervolgens worden de aanpassingen door het management gecommuniceerd naar de scrumteams. Hierdoor realiseer je dat alles wordt gestroomlijnd en dat er consistentie ontstaat. Zodoende weet het management hoe het testproces eruit ziet en kunnen ze de testrapportages op correcte wijze interpreteren.
Dit is de tweede blog van de 3-reeks “Eerste Hulp bij testen in Agile omgeving”. Ga naar blog 3.
Volg ons op LinkedIn om op de hoogte te blijven van de laatste tip omtrent testen in een Agile omgeving.