Eerste hulp bij testen in Agile Omgeving - TIP3

November 8, 2016
Testen achter een laptop

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 agile werken tot een succes te maken. Daarbij hebben we in blog 2 gesproken over het feit dat iedereen die betrokken is bij testen zich moet committen aan het testproces. Een duidelijke teststrategie, die gecommuniceerd wordt met het management, is hierbij essentieel. In deze laatste blog van de 3 serie “Eerste hulp bij testen in Agile omgeving” zullen we de focus leggen op testautomatisering. We hebben het dan over testautomatisering van zowel het testproces als de uitvoering. De mogelijkheden voor testautomatisering worden steeds meer volwassen. Hoe pas je deze toe binnen een Agile omgeving, zodanig dat snelheid en onderhoudbaarheid gewaarborgd blijven?

Testautomatisering is toepasbaar op meerdere gebieden: de automatisering van het testproces en de geautomatiseerde uitvoering van de testscripts. Idealiter lopen deze in elkaar over. Deze zullen dan ook worden behandeld in deze blog.

Het automatiseren van het testproces

Bij een geautomatiseerd testproces wordt de opzet van testscripts en de uitvoering daarvan geregistreerd in een testtool, zoals HP Quality Center of Testersuite. Van tevoren moet duidelijk worden gemaakt welke tests handmatig en welke tests geautomatiseerd uitgevoerd zullen worden. Vervolgens moeten de resultaten van de uitvoering worden vastgelegd in de testtool. Ook als er ontwikkelingen zijn binnen een bepaald testscript, zal dit moeten worden bijgewerkt in de tool. Een groot voordeel van de testmanagement tool Testersuite, is het feit dat bestaande testscripts eenvoudig opnieuw gebruikt kunnen worden. Testersuite bevat een regressie testset die erg toegankelijk is zodat relevante testscripts snel zijn terug te vinden voor hergebruik. Zeker in een complex landschap kunnen testers niet zonder een testmanagement tool. Het is anders lastig, zo niet onmogelijk, om het overzicht te behouden. Het wordt overigens nog lastiger wanneer er Agile gewerkt wordt met meerdere scrum teams. Er worden dan in korte tijd veel wijzigingen doorgevoerd binnen de systemen.  Met behulp van een goede testmanagement tool kunnen de Scrum teams bijhouden wat er getest is, wat de resultaten zijn geweest en daar over rapporteren.

Het automatiseren van de testuitvoering

Als we het hebben over het automatiseren van de testuitvoering komen er andere testtools in beeld. Vroeger waren dit tools die voornamelijk door programmeurs werden gebruikt. Nu zijn er diverse tools die ook een functionele tester goed kan toepassen. Tegenwoordig kun je met deze tools zelf de testscripts automatiseren en van de juiste testdata voorzien. Hierdoor kunnen de testscripts vaker en efficiënter toegepast worden. Daarbij kan de tester binnen het scrum team zelf zorg dragen voor o.a. de geautomatiseerde uitvoering van de regressietest. Een groot voordeel hiervan is dat vroeg in het ontwikkelproces duidelijk wordt of een wijziging impact heeft op de niet-gewijzigde systemen. En dat is iets wat je bij een handmatige uitvoering nooit of alleen tegen hoge kosten voor elkaar krijgt.

Maar…

Het is wel essentieel om de juiste volgorde te hanteren bij testautomatisering. Veel bedrijven zijn erg blij met de testtool, waarbij de focus vooral wordt gelegd op de geautomatiseerde uitvoering. Daarbij wordt er nauwelijks gelet op de opzet en de manier van onderhouden van wat er geautomatiseerd is. Daarom is het verstandig om eerst eens na te denken over een goed testproces, waarin duidelijk staat beschreven wat er getest wordt, waarom (risico) en hoe. Dit testproces moet voor alle scrum teams duidelijk zijn en ze moeten dat aantoonbaar in hun scrum proces inbedden. Alleen op deze manier zullen wijzigingen goed getest worden en kunnen de testscripts aangepast worden voor toekomstige uitvoering.

Een duidelijk testproces in kaart brengen is dus essentieel. Als dit testproces staat, kan er worden overgegaan op het realiseren van geautomatiseerde uitvoer van de testscripts. En ook in dit geval is structuur een groot aandachtspunt. Zorg er ten eerste voor dat de ketens in testbare brokken worden “gehakt” en vorm de testobjecten zodanig dat ze herbruikbaar zijn in meerdere scripts. Hierdoor voorkom je dat je bij een wijziging vele scripts moet aanpassen. Er is in de markt al veel expertise op dit vlak. De centrale vraag is dan ook:

“Hoe kies je voor de juiste onderverdeling en objecten en hoe kan je deze identificeren zodat ze eenvoudig gevonden kunnen worden na een aanpassing in de systemen”

Pas deze expertise toe binnen de testautomatisering en zorg ervoor dat deze robuust wordt, dat wil zeggen: meebeweegt met de aanpassingen in de systemen. Deze robuustheid is noodzakelijk binnen een Agile omgeving. Zeker binnen bedrijven waar er toegewerkt wordt naar Devops, waarbij aanpassingen in de systemen na acceptie direct getransporteerd worden naar productie. Op dat moment moet er binnen een korte tijd achterhaalt worden hoe veel invloed de wijziging heeft op de niet aangepaste delen van het systeem. it kan alleen door middel van geautomatiseerde uitvoering van de regressietest, waarbij de acceptanten meekijken naar de resultaten. Welke testscripts zijn er uitgevoerd? En in hoeverre hebben deze de gewenste testdekking? Daar komt het testproces weer om de hoek kijken. En is er ervaring met het geautomatiseerd uitvoeren van de regressietest, dan staat ook de geautomatiseerde uitvoering van de unit- en acceptatietest open. Waarbij de scripts doorlopen van de ene testsoort naar de andere. Hiervoor is een allround tester geen overbodige luxe. Hij of zij zorgt ervoor dat de testsoorten en de scripts elkaar ondersteunen en dubbel testwerk voorkomen wordt.

Dit was de laatste tip van de blogreeks “Eerste Hulp Bij Testen in Agile Omgeving”. Testen in een agile omgeving vereist dus robuuste testautomatisering, vanuit een gecommitteerd testproces en ondersteund door allround testers!

Wil jij ook beter en slimmer testen?

Ontdek onze gebruiksvriendelijke cloud producten

Testersuite maakt gebruik van cookies. Geef aan welke cookies je accepteert. Bekijk onze Privacyverklaring voor meer informatie.