Primary tabs

Het oudste bewijs dat mensen werktuigen gebruiken ter ondersteuning van hun werkzaamheden komt uit Dikika, Ethiopië, van zo’n 3,3 miljoen jaar geleden. Het gebruik van gereedschappen vraagt lichamelijke inspanning en geestelijke sturing. In de 19e eeuw werden door mechanisatie en automatisering de eerste machines met machines gemaakt. Dit betekende niet dat handwerk en individueel vakmanschap verdwenen.

Met de computer automatiseerden we onze fysieke werkomgeving inclusief digitale gereedschappen. Nog steeds moet je deze met menselijke intelligentie en spierkracht aansturen. In 2001 kreeg ik een lamme hand tijdens het testen in een SAP-implementatieproject. Een creatieve oplossing voor mijn probleem was een nietmachine op de enter toets.

We zijn gelukkig een stuk verder en is de nietmachine niet meer de meest voor de ‘hand' liggende keuze om testen te automatiseren. In dit blog lees je welke 3 overwegingen je dient te maken bij testautomatisering, welke testtools en -strategieën je dient te hanteren en welke factoren meespelen bij een succesvolle testautomatisering.

Als het pijn doet, doe het dan vaker

Technologie wordt vaak gebruikt als concurrentiewapen in de frontlinie van de interactie met de (interne) klant. De tijd van enkele releases per jaar met  grote kans op fouten in productie is voor de meeste bedrijven geschiedenis. Digitale Transformatie en Agile zijn geen filosofische bewegingen meer. Met hulp van moderne frameworks en ontwikkelmethodes zoals Scrum of Kanban verbeteren we processen op een kort-cyclische manier. Bedrijven streven naar Continuous Delivery, hoogfrequent features naar productie uitrollen. Door vaker te releasen breng je minder code / configuratie naar productie en wordt de foutkans gereduceerd (zie figuur 1). Dat vergt wel een grotere beschikbaarheid van testresources.

Change cycles
Figuur 1: Verband tussen de lengte van releases en de risico’s

Hierdoor passen sommige bedrijven automatisering toe om de time-to-market te verkorten en de testbudgetten te verlagen. Testautomatisering klinkt aantrekkelijk. Hier zijn wel kosten aan verbonden om de voordelen te benutten. Bij succesvolle bedrijven spelen het besparen op testbudgetten geen rol als driver. Deze bedrijven zijn zich ervan doordrongen dat testautomatisering een must is.

Wat is je ambitieniveau?

Van testautomatisering wordt verwacht dat het probleem van te weinig tijd, middelen of expertise wordt opgelost. Helaas komen deze verwachtingen zelden uit. Als je van handmatig testen naar automatisch testen gaat, is een andere “state of mind” nodig. Denk aan Test Driven Development of Behaviour Driven Development. Je bepaalt eerst bij een feature hoe je het eindresultaat gaat testen, maakt daar de testscripts voor, die blijven falen totdat de developer zijn werk (goed) gedaan heeft. Verander je niet, dan blijft testen iets dat je ‘last minute’ doet en waarschijnlijk op een niet-bestendige manier.

Er zijn drie belangrijke dingen die je moet onthouden als je testautomatisering overweegt in te zetten: 

  1. Geen enkele tool kan het gebrek aan testresources compenseren  

Als je niet genoeg mensen of tijd hebt om testen te ontwerpen en uit te voeren, zal het toevoegen van automatisering de software-instabiliteit en het optreden van fouten niet verminderen. 

Testautomatisering is een strategische oplossing voor de lange termijn, geen pleister voor de korte termijn. Een testtool kopen is als een lidmaatschap aangaan van een sportschool: het enige gewicht dat je bent kwijtgeraakt zit in je portemonnee. Je moet tijd investeren in het juiste gebruik van sporttoestellen, veel zweten en je voeding aanpassen. Pas dan zal je geleidelijk de door jou gestelde doelen bereiken.  

Besef dat je nog steeds tijd moet nemen voor taken die niet te automatiseren zijn. Denk aan testvereisten verzamelen, testcases definiëren, de testbibliotheek onderhouden, de testomgeving beheren en testresultaten analyseren. Elke wijziging in de software zal ook een aanpassing in de testautomatisering vergen. Dat blijft menselijk vakmanschap. 

Automatisering kan het team dat je hebt productiever maken, maar zal op zichzelf geen wonderen verrichten. Op lange termijn kan het de afhankelijkheid van tijdelijke hulp van andere afdelingen of van aannemers misschien verminderen. Echter het rechtvaardigen van testtools op basis van het verminderen van de personeelsbehoefte mag nooit een ambitie zijn. 

  1. Investeer in voortdurende planning, training en ontwikkeling om het voordeel ervan te benutten

Zorg ervoor dat je het juiste type testexpertise aan boord hebt en houdt. Je hebt een combinatie van vaardigheden nodig die al dan niet deel uitmaken van je bestaande testteam. 

Het opzetten van testautomatisering kan een project op zich zijn. Hoewel externe (test)consultants je tijd besparen door ervaring in te brengen, zijn zij op zichzelf geen oplossing. Beschouw consultants als een personal trainer: ze zijn er om je te begeleiden bij de oefeningen, niet om ze voor je te doen. Als je iemand anders betaalt om je sit-ups voor je te doen, wordt je buik niet platter!

  1. Testautomatisering kost tijd

Voer automatisering geleidelijk door. Richt je eerst op die gebieden met de grootste risico’s. Het is een manier om snel te constateren dat alles nog werkt door regressietesten. Denk aan de testautomatisering bij de aandelenbeurs die altijd maar door draait. Herinvesteer vervolgens de tijdwinst in extra gebieden totdat ‘alles’ is geautomatiseerd. Enige vooruitgang is beter dan geen!

Het is belangrijk om regelmatig stapsgewijze vooruitgang te laten zien. Vooruitgang kan op een aantal manieren worden gemeten: teamleden die zijn getraind in de tool, ontwikkeling van het testplan, testvereisten geïdentificeerd, testcases gemaakt, testcases uitgevoerd, issues ontdekt, enzovoort.

Testtools zijn geen magie, maar als ze goed geïmplementeerd zijn verrichten ze wonderen!

Bij het aanschaffen van een testautomatiseringsframework moet je geld uitgeven voor software, training én misschien advies. Pas op dat je het framework niet eerst koopt en besluit later dat je training of aanvullende diensten nodig hebt. Aanbieders van testautomatiseringsframeworks adverteren vaak met termen als "gebruiksvriendelijk". Dat is niet hetzelfde als "eenvoudig te implementeren". Een hamer is gemakkelijk te zwaaien. Timmeren vereist echter vaardigheid.

Als je budget voor een testautomatiseringsproject in één keer wordt toegewezen, geef het dan niet op die manier uit. Is het de eerste keer dat je testen automatiseert? Voer dan een Proof of Concept (POC) uit om de aannames te testen en het concept te bewijzen. Idealiter omvat een POC een representatieve subset van je ambities. Het zou een voldoende beperkte omvang hebben om binnen 2-4 weken af te ronden.

Als je een POC wilt doen en op zoek bent naar een goed framework om testen te automatiseren? Kijk dan eens naar Tricentris. Dit product werd in 2019 voor het vijfde jaar op rij uitgeroepen tot leider in het Gartner Magic Quadrant voor testautomatisering. Een grote kracht van deze tool is dat het bij SAP-oplossingen de impact van changes automatisch kan bepalen en daarmee je testdekking.

Een interessante SaaS testautomatseringsstool is Qualibrate. Dit product is net als Tricentris ook uitstekend geschikt voor testautomatisering over meerdere applicaties in de keten. Qualibrate biedt een gratis proefversie aan.

TestSavvy biedt een alternatief om aan de hand van minder testers een grotere testdekking te garanderen met oog op kwaliteit en binnen de tijdlijnen van het project.

Neem de tijd om de investering in middelen tijdens de POC en de voordelen zorgvuldig te documenteren. Gebruik deze resultaten voor de volgende stap. Het is beter om je lessen op kleine schaal te leren. Je begint immers ook niet met 6 setjes van 15 push-ups in de sportschool.

De hoeksteen van testautomatisering

De hoeksteen van testautomatisering is het uitgangspunt dat het verwachte applicatiegedrag bekend is. Wanneer dit niet het geval is, is het meestal beter om niet te automatiseren.

Er zijn drie factoren die nodig zijn voor succesvolle testautomatisering: geld, tijd en resources. Het is minstens zo belangrijk om toewijding te behouden als om het in eerste instantie te verkrijgen en op te zetten. Houd er rekening mee dat testautomatisering een project is dat doorloopt gedurende de levensduur van de te testen applicatie(s) in de keten.

Als je niet genoeg tijd of middelen hebt om testen op korte termijn handmatig uit te voeren, verwacht dan niet dat een tool daarbij helpt. De initiële investering voor planning, training en implementatie kost op korte termijn méér dan de tool oplevert.

Automatisering van testen is geen sprint, het is een lange afstandsloop. Net zoals je nooit klaar bent met het ontwikkelen van een applicatie die actief wordt gebruikt, geldt hetzelfde voor de testbibliotheek.

 

Heb ik nog iets gemist? Deel jouw ervaring in de comments hieronder.

Over de auteur

Niek Hartmann

Niek Hartmann

Senior Consultant

Niek is sinds 2001 in dienst bij CGI. Hij is meer dan 17 jaar actief in sturende rollen in omvangrijke (ERP/SAP) projecten bij klanten in diverse branches. Vanaf 2013 werkt hij samen met ...

Comments

Om geen testautomatisering in te zetten geef je aan voldoende ressources en tijd te moeten beschikken. Ik denk dat er een aantal andere factoren ook zijn om geen automatisering toe te passen (vaste programmatuur - geen wijziging), laag gebruik van software (jaarlijks en altijd met wijziging).
Verder denk ik dat je rekening moet houden met bestaande software zonder graad van test automatisering. Dan vergt het ook gedrag, project aanpassing én volhouden! Ik heb meerdere ‘projecten’ met testautomatisering gedaan: het succes zat in overtuiging bij de asset owner! Als die kennis en inhoud van de test gaat krijgen en eisen: dan geeft dat een hele sterke basis. Dus begin ook hier in de top met het krijgen van commitment (en dat is op testen best lastig)!

Submitted by Bert den Ouden on 11 January 2021

Voeg commentaar toe

Comment editor

  • No HTML tags allowed.
  • Lines and paragraphs break automatically.
Blog richtlijnen en gebruiksvoorwaarden