Deel 1: Waarom Geautomatiseerd Testen?

Geautomatiseerd testen is het onbemand testen van een IT-systeem. De invoer komt van een tool en niet van een mens, de tool vergelijkt daarbij de respons van het systeem met de verwachte respons en rapporteert de afwijkingen. Ooit was dat een soort luxe, maar anno nu is het bittere noodzaak. Ik zal straks uitleggen waarom, maar eerst even de aanleiding voor mijn podcast.

OK, om te beginnen de hamvraag: waarom aandacht voor dit thema?

Nou, dat komt omdat ik in mijn dagelijkse praktijk veel initiatieven op het gebied van geautomatiseerd testen zie sneuvelen. En dat komt weer omdat we het als een feestje voor techneuten beschouwen. We laten het over aan de jongetjes – het zijn meestal jongetjes - die handig zijn met de tools en het maken van scripts. Die kunnen al snel hele stoere dingen laten zien waar iedereen van onder de indruk is. Maar het opbouwen en onderhouden van een toekomstvaste geautomatiseerde testset is een softwareproject erbij. En wat ik te vaak zie is dat we dat zwaar onderschatten. Waardoor een enthousiast begin langzaam verzandt in een taai en onbeheersbaar blok aan het been.

En daar hoop ik met deze podcast iets aan te doen.

In deze eerste aflevering: ‘Waarom is geautomatiseerd testen onontkoombaar, waarom heeft het zo’n hoge knuffelfactor en waarom is het op de lange termijn nou toch vaak zo lastig?”  

Waarom doe ik dit als podcast?

Ik heb al wat blogs gemaakt en misschien komt er nog wel een boekje ook. Maar zelf ben ik een groot fan van podcasts omdat je het zo goed kunt combineren met autorijden, hardlopen, fietsen, fitnessen en op je rug op het strand liggen. Het is gewoon een heel efficiënte manier om kennis tot je te nemen.

Goed tot zover de omtrekkende bewegingen. Nu snel naar de inhoud.

Waarom is geautomatiseerd testen zo belangrijk geworden?

Laat ik eens met een open deur in huis vallen: de wereld is volstrekt afhankelijk geworden van IT. En zonder testen geen goede IT. Alles handmatig testen is kansloos en daarom is geautomatiseerd testen bittere noodzaak voor de mensheid.

Die stelling zal ik wat verder onderbouwen, met 3:

1.       Het aantal Apps en IT systemen en daarmee de hoeveelheid actieve regels softwarecode verdubbelt elke paar jaar en al die nieuwe code moet getest worden;

2.       We passen bestaande systemen steeds frequenter aan; 'agile’ softwareteams leveren steeds frequenter nieuwe versies op. En met elke oplevering wil je ‘even’ checken dat er niets onbedoeld is omgevallen.

We moeten dus meer testen én vaker testen. Wat, niet toevallig uiteraard goed uitkomt, is dat het aanbod en de volwassenheid van de tools die hiervoor ter beschikking staan met sprongen zijn vooruitgegaan.

De houding ten opzichte van geautomatiseerd testen is dan ook verschoven van “nee, tenzij …” naar “ja, mits …”.

Maar ik ben geen softwarebedrijf, dus waarom zou ik?

Voor de grote softwareboeren van deze wereld zoals Microsoft en Google is geautomatiseerd testen echt geen vraag. Hun systemen worden 24 uur per dag geautomatiseerd getest op ‘Continuous Integration’ serverparken. Elke afwijking van de beoogde respons wordt geregistreerd en gerapporteerd. Dat alles met een veel hogere snelheid dan een menselijke tester dat kan. Zij hebben dat al lang voor elkaar.

En ook al ben je geen Microsoft of Google, elke organisatie die op enige schaal aan softwareontwikkeling doet krijgt hier behoefte aan. Het gezaghebbende onderzoeksbureau Gartner schreef in 2016 het rapport “The Eight Essentials When Moving to Automated Software Testing”. Een lezenswaardig stuk, en Gartner spreekt daarin de verwachting uit dat over ruim 10 jaar 75% van de software development teams wereldwijd gebruikmaakt van geautomatiseerd testen.

Kortom: je ontkomt er niet aan.

Is iedereen zo enthousiast?

Nou, best wel eigenlijk. Want geautomatiseerd testen heeft gewoon een hoge knuffelfactor. Zowel bij managers als op de werkvloer. Managers zien de besparingen in tijd en kosten en op het internet zien ze super coole demo’s van gelikte tools en de bijbehorende succesverhalen. Als je die bekijkt dan wil je het ook.

En de jongens op de werkvloer, het zijn meestal  jongetjes, knutselen graag met tools en hebben een hekel aan repeterend werk. Ervaring met geautomatiseerd testen staat bovendien supergoed op je CV.

Van beide kanten begrijpelijk, want al die beloften kúnnen worden waargemaakt. De mogelijkheid van besparing is reëel en als specialist geautomatiseerd testen, met Tosca of Selenium bijvoorbeeld, ben je momenteel je gewicht in goud waard.

Geautomatiseerd testen is dus het knuffeldier van veel ITers en hun managers.

Tot zover de argumenten vóór: het is nodig én het is ook nog eens cool en leuk.

OK Bouman, zie jij als kritische tester en risico auditor nog een donkere kant?

Ja zeker, want als dit knuffeldier wat ouder wordt gaat het meestal bijten. Met een ‘Total Cost of Ownership’ die op termijn helemaal de pan uitrijst bijvoorbeeld. Want een toekomstvaste en onderhoudbare geautomatiseerde testset is ‘een softwareproject erbij’: een serieuze geautomatiseerde (regressie)testset is een complex geheel van scripts, data en parameters. Spiegelbeeldig aan de software en alleen onderhoudbaar bij een goede architectuur en goed versie- en configuratiebeheer. Daarnaast brengt de benodigde tooling zijn eigen complexiteit mee, zowel technisch als in het proces van selectie, installatie, inpassing in het ontwikkel- en bouwproces, training, beheer en leveranciersmanagement.

Toch maar niet doen dus?

Dat hoor je mij uiteraard niet zeggen, integendeel! De knuffelpuppy kán opgroeien tot een gewaardeerde en geïntegreerde huisgenoot. Maar dat lukt je echt alleen met kennis en inzicht in de mogelijkheden en valkuilen. En door het als ‘softwareproject erbij’ serieus te nemen en dus niet alleen aan enthousiaste tool-knutselaars over te laten, hoe belangrijk die ook zijn.

Mijn enthousiasme voor geautomatiseerd testen begon in 1994. Ik schreef een 36 pagina’s dik rapport voor mijn toenmalige werkgever waarin ik dit do’s en don’ts van geautomatiseerd testen op een rijtje zette, inclusief de beschikbare tools. Dat waren er toen al heel veel, dus wie denkt dat geautomatiseerd testen nieuw en hip is, heeft het mis. Sindsdien hebben we bij Valori heel wat bijgeleerd en we delen graag de inzichten waarmee je de valkuilen kunt vermijden.