Toekomstvast investeren in geautomatiseerd testen (deel 1)

donderdag 23 november 2017

‘Lekker hoor, slapend testen!’, geautomatiseerd testen was ooit een luxe. Maar anno nu is het een bittere noodzaak. Elke IT’er en elke manager met IT in zijn portefeuille moet erover mee kunnen praten en denken. Helaas ontbreekt het daar een beetje aan: in mijn dagelijkse praktijk als coach agile testen zie ik dat de techneuten dominant zijn en dat kennis en visie bij managers en belanghebbenden tekortschieten.

Deze blog is de start van een kleine serie die mikt op iedereen met een gezonde belangstelling voor slim testen van informatiesystemen. Niet al te technisch, maar ook niet te oppervlakkig. Voor iedere IT-professional die de relevante people-process-tools aspecten van geautomatiseerd testen wil begrijpen. Om vervolgens de vele valkuilen op de weg te vermijden. In deze eerste aflevering: ‘Waarom is geautomatiseerd testen onontkoombaar, waarom heeft het zo’n hoge knuffelfactor en waar zitten de valkuilen?’

Waarom zou je geautomatiseerd testen?

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.

Om die stelling nog wat verder te onderbouwen:

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 zijn via steeds meer verschillende apparaten aangesloten op die systemen en elk nieuwe toegangsmogelijkheid kan nieuwe problemen introduceren. Het aantal te testen combinaties neemt dus ook toe;

3. 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. Gelukkig is het aanbod en de volwassenheid van de tools die hiervoor ter beschikking staan met sprongen vooruitgegaan. De houding ten opzichte van geautomatiseerd testen is dan ook verschoven van “nee, tenzij …” naar “ja, mits …”.

Ook al ben je geen Google of Microsoft

Grote softwaresystemen zoals die van Microsoft en Google 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.

Ook al ben je geen Microsoft of Google, elke organisatie die op enige schaal aan softwareontwikkeling doet krijgt hier behoefte aan. Het Gartner rapportThe Eight Essentials When Moving to Automated Software Testing” spreekt 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.

De Knuffelfactor

“Prima, ik ontkom er dus niet meer aan, mooi toch, ik ben er helemaal voor in, wanneer beginnen we?”. Dat is de reactie die ik bijna dagelijks hoor. Want geautomatiseerd testen heeft gewoon een hoge knuffelfactor, zowel bij managers als op de werkvloer. Managers zien de besparingen in tijd en kosten en de uitvoerende professionals op de werkvloer knutselen graag met tools en doen niet graag repeterend werk.

Van beide kanten begrijpelijk, want al die beloften kúnnen worden waargemaakt. De mogelijkheid van besparen 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 knuffeldiertje van veel IT‘ers en hun managers.

Total Cost of Ownership

Helaas, als dit knuffeldier wat ouder wordt gaat het 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.

Valkuilen vermijden

Dit zeg ik niet omdat ik graag in problemen denk, integendeel. De knuffelpuppy kan en moet opgroeien tot een gewaardeerde en geïntegreerde huisgenoot. Dat kan, maar alleen met een beetje geduld, samenwerking en veel inzicht in de mogelijkheden en valkuilen. 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.

Wat mag je verwachten?

Hieronder het lijstje met onderwerpen dat ik voor me zie:

  • Wat is geautomatiseerd testen?
  • Alle mogelijke voor- en nadelen op een rijtje
  • Kies het goede niveau met de test automation piramide
  • Hoe ‘praat’ een test tool met de applicatie?
  • De vier manieren om test scripts te maken
  • Jouw business case voor Geautomatiseerd Testen
  • Tools voor ontwikkelaars en niet-ontwikkelaars
  • Wat zijn de top tools anno nu?
  • Hoe selecteer je een tool?

Graag nodig ik je uit om te reageren en dit lijstje aan te vullen, laat hiervoor een reactie achter. Wordt vervolgd!