Het VNSG Magazine, het vakblad voor alle SAP gebruikers in Nederland en Vlaanderen, verschijnt 5 keer per jaar. PTWEE geeft in iedere editie een praktische tip over testen in een SAP omgeving. In het nieuwste magazine de tweede tip uit een reeks van tips over Agile testen.
Binnen bedrijven die met SAP werken wordt steeds vaker gewerkt volgens Agile/Scrum. Doelstelling is om met kleine iteraties vaker nieuwe of gewijzigde software beschikbaar te maken voor de business. Het systeemlandschap waarbinnen de SAP systemen zijn opgenomen is altijd complex. Het is daarom voor de scrumteams een belangrijke taak om de wijzigingen goed te testen. Daarbij moeten de teams zich committeren aan hetzelfde testproces, om het mogelijk te maken team overstijgende keten- en regressietesten uit te voeren. En dat wordt nog belangrijker als de uitvoering van de tests geautomatiseerd wordt. Deze tweede tip uit een reeks tips over Agile en SAP gaat in op het belang van het testproces.
Teststrategie
In de vorige VNSG tip over SAP Testen is ingegaan op het belang van een allround tester binnen elk scrumteam. Deze tester moet vervolgens echter wel het overall testproces volgen, zoals vastgelegd in het ‘handboek testen’, ofwel de teststrategie. Dat maakt het voor het management van een bedrijf mogelijk om echt zicht te krijgen op wat er getest is en of dat vanuit het bedrijfsrisico bekeken voldoende is. Ook in een Agile omgeving blijft dat nodig.
Op basis van de risico’s die een bedrijf loopt als er onderdelen van een systeem niet meer werken, wordt een teststrategie opgesteld. De onderdelen die een hoge kans op schade hebben als ze niet meer correct werken, worden zwaarder getest dan onderdelen met een lage kans op schade. De mate van risico en de hoogte van de schade wordt in een Product Risico Analyse vastgelegd. Er wordt vervolgens bepaald hoe er zwaarder (of lichter) getest wordt. Bijvoorbeeld door toepassing van bijzondere testspecificatietechnieken, testvormen en/of testsoorten. Ook wordt in de teststrategie vastgelegd welke eisen gesteld worden aan de testscripts en de uitvoering daarvan. Denk daarbij aan de mate van detail, de testomgevingen, het al of niet vastleggen van resultaten en de afhandeling van testbevindingen. De teststrategie wordt met het verantwoordelijke management afgestemd, zodat ook zij weten hoe er getest wordt en of er voldoende getest wordt, gelet op de bedrijfsrisico’s. Alle business en IT partijen committeren zich hier vervolgens aan.
Een Agile teststrategie?
In een Agile omgeving lijkt het vaststellen van en vasthouden aan een teststrategie haaks te staan op het Agile Manifesto. Daarin staat bijvoorbeeld dat menselijke interactie boven processen gaat en dat inspelen op verandering boven het volgen van een plan gaat. Vaak is daarom in Agile omgevingen een teststrategie ver te zoeken. Elk team doet het testproces op een eigen wijze. Vanuit de bedrijfsrisico’s bekeken is dit echter niet wenselijk. Er kan onvoldoende worden nagegaan of er voldoende getest is als ieder team het op zijn eigen wijze doet.
Daarom is het aan te bevelen om altijd een teststrategie vast te stellen, maar wel één die rekening houdt met de Agile omgeving waarin gewerkt wordt. Deze omvat bijvoorbeeld meer ruimte voor de teams om bezig te zijn met ‘Error Guessing’ en ‘Exploratory Testing’ als specificatietechnieken. Defects mogen op een Agile wijze worden opgelost en niet volgens de waterval-methode. Maar in de teststrategie ligt wel vast dat testscripts door de teams op een eenduidige wijze worden vastgelegd. Een Product Risico Analyse wordt wél uitgevoerd, vastgelegd en onderhouden, zodat alle teams daar rekening mee houden bij het aanraken van een product. Ook het onderhouden van een regressietest wordt beschreven in de teststrategie, zodat elk team daar een bijdrage aan kan leveren. Hierdoor weet de business ook hoe er getest wordt en hoe zij mee kunnen doen in het testen; of ze nu onderdeel uitmaken van het scrumteam of daarbuiten staan.
Agile testautomatisering
Ook vanuit het oogpunt van testautomatisering 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, die over meerdere teams heen gaat. Om deze goed te kunnen onderhouden is het noodzakelijk dat de wijzigingen die de teams ontwikkelen, op een eenduidige wijze in de regressietest verwerkt worden. Elk team moet inzicht hebben in de samenstelling van deze test set en waar ze deze raken binnen de sprints. En elk team moet weten hoe de testautomatisering uitgevoerd wordt en hoe zij input moeten geven.
Uiteraard is ook de teststrategie zelf aan Agile werken onderhevig. Deze moet dus steeds weer aangepast worden, het testproces volgt de Agile wijze waarop gewerkt wordt. Zorg er voor dat dit steeds gebeurt en dat dit steeds afgestemd wordt met het verantwoordelijke management. Alleen op deze manier weten zij hoe er getest wordt en kunnen ze de testrapportages op correcte wijze interpreteren.