Het managen van testautomatisering - deel 1 | Polteq, specialist in software testen
Delen Printen E-mail

Deze serie van 8 blogs heb ik geschreven voor iedereen die vanuit een coördinerende of managende rol of functie te maken krijgt met testautomatisering. Het biedt de benodigde diepgang en samenhang op onderwerpen die belangrijk zijn rond testautomatisering en die helpen om testautomatisering te plaatsen in de context van een overkoepelende teststrategie. Hiermee geeft het handvatten om testautomatisering succesvol te managen.

Over testautomatisering wordt veel geschreven. Meestal gaat het over de implementatie van tools en de technieken die nodig zijn voor het opzetten van geautomatiseerde tests. Veel minder belicht zijn de onderwerpen die van belang zijn voor het managen van testautomatisering met als doel het in te zetten als onderdeel van een gezonde teststrategie en, op een niveau hoger, de IT-development strategie. Hierbij zijn andere zaken belangrijk dan de tools en technieken voor het maken van geautomatiseerde tests.

Wat kun je verwachten van testautomatisering?

Voordat we dieper stilstaan bij testautomatisering is het belangrijk om te weten wat wel en wat niet kan met testautomatisering. Het is namelijk geen silver bullet (al willen leveranciers van tooling t.b.v. testautomatisering je dat wel graag doen geloven).

Als we ons realiseren dat:

  • specificaties nooit volledig zijn;
  • je alleen datgene kunt specificeren dat je weet. Bij complexe software is er ook gedrag waarvan je niet weet dat je het niet weet,
  • dat zaken als look, feel moeilijk scherp te specificeren zijn…

…dan wordt al snel duidelijk dat niet alle tests te automatiseren zijn. Een goede teststrategie bestaat dus uit een combinatie van geautomatiseerd checks van gespecificeerd gedrag en handmatige, exploratory tests om gedrag waarvan je niet weet dat je het niet weet te onderzoeken.

Wat niet (test) automatiseren?

Tests die niet deterministisch zijn

Automatisering heeft veel voordelen, maar er is een heel belangrijke randvoorwaarde voor succesvol toepassen van geautomatiseerde tests: alleen deterministische tests kunnen geautomatiseerd worden. Dit betekent dat je de volgende zaken nodig hebt om een geautomatiseerde test te kunnen maken:

  • uitgangssituatie;
  • benodigde testdata;
  • teststappen;
  • te verwachten uitkomst (de specificatie).

Dan en alleen dan is een test voldoende scherp om hem herhaalbaar succesvol geautomatiseerd uit te voeren. Als op één of meer van de genoemde zaken 100% herhaalbaarheid ontbreekt, is er een grote kans op een falende test. Wanneer de test onterecht faalt, wordt dit een “false negative” genoemd en wanneer deze onterecht slaagt een “false positive”. Er zit geen fout in de te testen code, de test is fout. Foutieve tests door andere oorzaken dan foutieve code schaden het vertrouwen van geautomatiseerd testen en moeten daarom zoveel mogelijk voorkomen worden (zie sectie: QA van geautomatiseerd testen voor meer details over dit onderwerp).

Eenmalige tests

Het is van belang om je te realiseren dat een geautomatiseerde test code is die geschreven en beheerd moet worden. Met andere woorden; een geautomatiseerde test is niet gratis! Het is daarom onverstandig om eenmalige tests te automatiseren. Voor dit soort tests is de business case negatief. Beter is het om eenmalige tests met de hand uit te voeren. Als uitzondering op deze regel gelden tests die simpelweg niet handmatig uitgevoerd kunnen worden zoals een performance test of tests die sneller te automatiseren zijn dan handmatig uit te voeren.

Wat wel automatiseren?

Tests die:

  • vaak herhaald moeten worden (regressietest);
  • niet handmatig uitvoerbaar zijn (bijvoorbeeld een performance test);
  • een korte doorlooptijd vereisen in een CI/CD-pipeline.

Taken die ondersteunend zijn aan het ontwikkelingsproces (voor één of meerdere rollen zoals dev, test en ops) zoals:

  • testdata opvoeren in een systeem. De opgevoerde testdata kan vervolgens gebruikt worden in zowel handmatige als geautomatiseerde tests;
  • (test)omgevingen opstarten;
  • testdata kunnen resetten.

Vooruitblik volgende blog

In deze blog hebben we gekeken naar wat je wel en niet kunt (test) automatiseren.

In de volgende blog staan we stil bij het feit dat testautomatisering niet anders is dan testen.

Stay tuned!

Wim ten Tusscher

Meer informatie

Heeft u een vraag of wilt u een vrijblijvende afspraak maken? Laat hieronder uw gegevens achter, dan nemen wij zo snel mogelijk contact met u op. U kunt ons natuurlijk ook bellen:

+31 (0) 33 277 35 22 (Nederland)
+32 (0) 16 39 48 04 (België)

    Uw gegevens gebruiken wij alleen voor een correcte afhandeling van uw vraag. Lees voor meer informatie onze privacyverklaring.

    Hoe wij dat doen?
    Lees meer
    Focus
    Focus
    Vakmanschap
    Vakmanschap
    Kennisdeling
    Kennisdeling
    Persoonlijk
    Persoonlijk
    Lokaal
    Lokaal
    Oprecht
    Oprecht
    Plezier
    Plezier
    Meer
    Deze website is gerealiseerd door Webheads.

    Neem contact op!