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. Deze tip gaat over de route naar geautomatiseerd regressietesten.
Vroeg of laat moet elke organisatie die veel regressie testactiviteiten uitvoert onderzoeken of het zinvol is om tests te automatiseren. Daarmee kan handmatige testinspanning worden gereduceerd, de doorlooptijd van testtrajecten worden verkort en/of de testdekking worden vergroot. Een groot voordeel is dat de business minder hoeft te worden ‘lastig gevallen’ met handmatige regressietest activiteiten. Het is nu eenmaal lastig om mensen steeds weer te motiveren om onveranderde functionaliteit te testen op de juiste werking, nadat wijzigingen die impact kunnen hebben zijn doorgevoerd. De motivatie voor het testen van nieuwe functionaliteit is aanzienlijk groter omdat daar iets tegenover staat, namelijk nieuwe functionaliteit.
Het is echter onverstandig om al te starten met geautomatiseerd regressietesten wanneer het testproces nog onvolwassen is. Niet alleen omdat aan een aantal randvoorwaarden moet worden voldaan om geautomatiseerd testen tot een succes te maken maar vooral omdat de grootste winst uit een goed gestructureerd testproces komt. Zo zal risk-based testen ervoor zorgen dat de testinspanning aan de juiste (meest risicovolle) zaken wordt besteed en dat er inzage komt in risico’s. Vroege foutopsporing zorgt ervoor dat er zo weinig mogelijk tijd en geld wordt besteed aan het oplossen van fouten. Met een goede scheiding van logische en fysieke testgevallen wordt ervoor gezorgd dat de tijd voor het fysiek uitwerken van testgevallen heel gericht wordt besteed. En tot slot draagt het opbouwen van een goede onderhoudsvriendelijke testset bij aan het hergebruiken van testware. Hiermee wordt voorkomen dat het wiel steeds opnieuw moet worden uitgevonden. In de tips in voorgaande edities van het VNSG magazine is een uitleg van deze aspecten te vinden.
De praktijk wijst uit dat het erg lastig is om genoemde aspecten te implementeren en te borgen zonder gebruik te maken van een goede testmanagement tool. Wanneer Excel wordt gebruikt voor de vastlegging van de testobjecten, de risicoklassen, de testscripts, de testscenario’s, de testresultaten en de rapportages dan wordt dat al snel zeer bewerkelijk. Het is erg verstandig om in plaats daarvan het testproces te ondersteunen met een testmanagementtool. Een goed voorbeeld van een gebruiksvriendelijke testmanagementtool is Testersuite. Met een dergelijke tool wordt het mogelijk om het testproces, zowel voor changes als voor projecten integraal te ondersteunen. Daarmee wordt het implementeren en borgen van genoemde aspecten een stuk eenvoudiger.
Pas wanneer er sprake is van een gestructureerd testproces, ondersteund door een goede testmanagementtool, is het zinvol om te kijken naar geautomatiseerd regressietesten. Start daarbij in eerste instantie met het inventariseren van de functionaliteit waarvoor het automatiseren van tests de grootste winst oplevert. Kijk daarbij naar:
- Wordt de functionaliteit vaak meegenomen in regressietests en/of zijn er veel raakvlakken (functioneel en technisch) met andere functionaliteit?
- Kost het nu veel tijd om de functionaliteit te testen?
- Is de functionaliteit erg dynamisch of vrij statisch? Wanneer de functionaliteit erg veel aan verandering onderhevig is dan kost het onderhouden van geautomatiseerde testscripts erg veel tijd.
- In welke risicoklasse valt de functionaliteit?
Maak vervolgens een business case om te bepalen of het automatiseren van tests opweegt tegen het handmatig testen. Daarbij is het van belang om niet alleen naar kwantitatieve baten (tijd en geld) te kijken maar ook naar kwalitatieve baten. Denk daarbij aan ontlasten van de business, meer en betere regressietests uitvoeren en bereiken van een grotere testdekking.
Wanneer uit de business case blijkt dat het zinvol is om regressietests te automatiseren dan volgt de selectie van een geschikte tool en de implementatie. Daarbij is het altijd aan te raden om te starten met een Proof of Concept (PoC) of een pilot project.