TestAutomatisering & PerformanceTesten

De ‘waar begin ik met testautomatisering’ handleiding.

Wij worden regelmatig gevraagd te helpen bij het opzetten of verbeteren van testautomatisering in een Agile omgeving bij een klant. En hoeveel ervaring je ook hebt, wat je opdracht ook precies inhoudt en in welk team je ook terechtkomt, het is altijd even zoeken waar te beginnen. Onderstaand stappenplan ondersteunt hierbij.

PerformanceArchitecten organiseert veel kennissessies. Zo houden we bijvoorbeeld elke maand een ‘kennismiddag’, waarbij we ruim de tijd nemen voor discussies, om kennis te delen, in een nieuwe tool te duiken, best practices uit te werken etc. De laatste kennismiddag hebben we onder andere met het testautomatiseringsteam besproken hoe te beginnen met een testautomatiseringsklus in een Agile omgeving. Doe er je voordeel mee!

1.     Creëer overzicht.

We beginnen met het creëren van overzicht. Zorg dat je duidelijk krijgt hoe je omgeving eruit ziet. Breng hiervoor in kaart wie je stakeholders zijn (organisatie), hoe de architectuur er hoogover uit ziet (de techniek) en wat de meest belangrijke functionaliteit is in het product.

Wanneer je dit verzameld hebt, documenteer je dit overzichtelijk en teken je dit in maximaal een paar a-4 tjes (praatplaten).

2.     Toets de informatie en manage de verwachtingen

De volgende stap is om met je praatplaten op zak, jouw beeld van de organisatie, techniek en functionaliteit te toetsen met de stakeholders (PO, Scrummaster, team en de business). Je zal zien dat zij altijd opbouwende kritiek hebben op jouw beeld van de organisatie. Deze fase is erg belangrijk omdat je a: Heel duidelijk ziet of er miscommunicaties bestaan in de organisatie en b: Wat de verwachtingen zijn richting jou, of deze realistisch zijn en wie je belangrijkste sponsoren en/of bedreigingen zijn.

3.     Bepaal het risico

Zorg dat je vervolgens goed scherp krijgt wat voor de organisatie en jouw stakeholders de belangrijkste risico’s zijn. Wees hier kritisch op jezelf en je omgeving. Vaak zie je dat in eerste instantie ‘alles kritiek is en alles uitvoerig getest moet worden’. Men is niet snel geneigd om aan te geven wat de minder kritische functionaliteit is, omdat men dan in de veronderstelling is dat het vergeten gaat worden. Bedenk ook nogmaals dat risico = het product van kans en impact (K x I). Soms wordt er uitvoerig gekeken naar zaken met hoge impact terwijl de kans dat het voorkomt minimaal is en vice versa. Mocht je hier niet uitkomen kijk dan eens naar een Product Risico Analyse.

4.     Bepaal de benodigde inspanning om het te automatiseren

Maak voor jezelf duidelijk wat er al is (tooling, test omgevingen, kennis, etc.) Duik ook eens in de verschillende testen en check of de ontwikkelaars al goede unittesten schrijven, hoe de systeem testen gedaan worden en of er integratietesten zijn. Check hierbij ook of er elders in de organisatie in een soortgelijke omgeving wordt gewerkt (wat hebben ze daar liggen). Om tot een goede, evenwichtige en efficiënte testbasis te komen, is het goed om over ‘het bugfilter‘ en/of over het belang van unittesten te lezen.

Kijk vervolgens waar en hoe je de testen in de pipeline kan hangen.

5.     Wat is prio één, waar begin ik mee, op basis van punt 2, 3 en 4.

Nu is het tijd om te bepalen waar te beginnen. Hiervoor gebruik je het overzicht uit stap 1 en de informatie uit stap 2, 3 en 4. Het is hierbij belangrijk om een objectieve afweging te maken tussen waar willen je stakeholders dat je begint, waar zou je moeten beginnen wanneer je de risico’s in acht neemt en waar je het makkelijkst vooruitgang kan boeken. Wees pro-actief bij deze stap. Het zou weleens nodig kunnen zijn om je overtuigingskracht aan te spreken.

6.     Zorg voor commitment van het team

Wanneer je aan de slag gaat is het zaak om het team te betrekken. Doe dit door duidelijk zichtbaar te maken waar je mee bezig bent en wat de meerwaarde is voor het team. Zorg hierbij dat je kleine porties werk maakt, zodat je vaak wat op kan leveren. Zorg daarnaast ook dat je kennis deelt met je collega’s. Multi-Disciplinair is niet alleen een buzz word, het gaat jou en het team echt helpen om structureel stappen te zetten.

Bedenk hierbij dat de testautomatisering onderdeel moet zijn van het product/project. Zo is het onderhoud eenvoudig, creëer je korte feedbackloops en is de herbruikbaarheid van je testen groot.

Conclusie

Bovenstaand stappenplan is een goed handvat om in een Agile omgeving aan de slag te gaan met testautomatisering. Een Agile Test Strategie is dan ook meer een werkwijze dan een statisch document wat je opvolgt. Testen is geen doel op zich. We doen het zodat we snel feedback krijgen op en vertrouwen hebben in de kwaliteit van het product!

Loop jij hier ook weleens tegenaan, of pak jij het op een heel andere manier aan? We zijn benieuwd naar je reactie!! In de toekomst ook op de hoogte blijven? Volg ons dan nu op LinkedIn.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Nieuws

Blijf op de hoogte

De ‘waar begin ik met testautomatisering’ handleiding.

11/04/2018

Wij worden regelmatig gevraagd te helpen bij het opzetten of verbeteren van testautomatisering in een Agile omgeving bij een klant. En hoeveel ervaring je ook hebt, wat je opdracht ook precies inhoudt en in welk team je ook terechtkomt, het is altijd even zoeken waar te beginnen. Onderstaand stappenplan ondersteunt hierbij. PerformanceArchitecten organiseert veel kennissessies. Zo […]

Wat is het Bug Filter?

26/03/2018

Een algemeen gedeelde opvatting over het doel van testen binnen software ontwikkeling is “het tegenhouden van bugs en het afdekken van risico’s”. Over hoe dit vervolgens het best valt te organiseren, bestaan er echter vaak veel meningsverschillen. In deze 2 minute snack sta ik graag even stil bij een inzicht dat verhelderend werkt in deze […]

Testen? Begin bij de basis! | Het belang van unittesten

19/02/2018

Inleiding Mijn vrouw en ik zijn op dit moment bezig met het bouwen van een huis. In dit geval niet als bouwvakker of aannemer, maar dan toch wel als opdrachtgever. Spannend vinden we het zeker, leuk ook. Wat heeft dit te maken met unittesten zou je denken. Nou, het volgende… Het huis wordt namelijk gebouwd […]

De Absolute Beginners Guide voor API Testen met rest-assured.io

16/01/2018

Omdat het moeilijk was om een eenvoudige tutorial te vinden voor rest-assured.io, ben ik na eerst zelf uit te vinden hoe het werkt, maar eens begonnen met een tutorial die de absolute basics uitlegt over rest-assured. In deze post laat ik zien hoe we op een zo eenvoudig mogelijke manier een API test kunnen maken met […]

APACHE MPM (op *nix servers)

07/11/2017

Benieuwd naar de impact van het wijzigen van Apache MPM Prefork naar Worker? Lees dan door! Bij één van onze klanten heb ik dit onderzocht. Omdat dit ook interessant kan zijn voor anderen, deel ik mijn resultaten en ervaringen graag. Het is misschien wat technisch allemaal, maar voor performancetesters, de doelgroep, is het vast goed […]

Performancetesten en CI/CD, gaat dat samen?

13/10/2017

De afgelopen najaarseditie van Testnet stond onder het thema Continuous Everything vooral stil bij CI/CD en natuurlijk testen. Gezien DevOps en CI/CD ook grote invloed hebben op het vakgebied performance (testen), zijn wij blij dat we vanuit PerformanceArchitecten een bijdrage mochten leveren door middel van het delen van onze visie hierop. Onze collega René Meijboom […]

Een eerste indruk van Gauge

08/09/2017

Tijdens één van onze kennismiddagen hebben we gekeken naar het testtool Gauge. Doel van de sessie was om een beeld te krijgen wat de toegevoegde waarde van Gauge is voor een tester. Benieuwd naar onze ervaringen? Lees dan snel verder! Gauge is een open source project, gesponsord door ThoughtWorks en belooft in het kort het […]

Test Automation Framework BDD

16/06/2017

De afgelopen tijd heb ik in een opdracht collega’s mogen adviseren over de positieve impact van het Test Automation Framework BDD rondom het thema Agile. In een vorige blog ‘Transformation’ is te lezen wat BDD voor mij betekent en hoe BDD voor synergie zorgt tussen verschillende disciplines binnen Agile-teams met als doel het leveren van kwalitatief hoogwaardig […]

Creëer meer eenheid in je SpecFlow steps met Step Argument Transformations

11/04/2017

Laatst kreeg ik de vraag, “Hoe maak je in je testdata onderscheid tussen een regular expression en een gewone tekst”. Oftewel: Hoe beheer je verschillende soorten steps als ze alleen verschillen in de manier waarop data vergeleken wordt. Je hebt een veld en je wilt controleren of er een bepaalde waarde in staat, maar soms […]

SSL/TLS versie en cipher in HP LoadRunner

29/03/2017

In deze blog wil ik even stilstaan bij de resultaten van een performance test die niet overeenkwamen met de verwachtingen die wij als team hadden. Een aantal transacties gingen in responstijd omhoog en het CPU gebruik nam flink toe. Omdat het ons veel tijd heeft gekost, deel ik dit graag met jullie zodat wij performance […]

Regular Expressions en Testautomatisering, twee problemen of juist een oplossing?

25/03/2017

Bij geautomatiseerde checks wil je regelmatig een verwachte waarde controleren tegen een actuele waarde. Vroeg of laat kom je dan in aanraking met wildcards: Je wilt bijvoorbeeld weten of de tekst “Er zijn 42 resultaten gevonden” voorkomt, maar het aantal, hier 42, kan variabel zijn. Van 42 wil je dan een wildcard maken. De meest […]

Automated Approval Testing with Dynamic Data Sets

21/02/2017

For some tests, you’ll need to check if files or documents are the same as they were before, or that they comply with a certain format. When something differs, you need to “reject” or “approve“ them, or even make them the new baseline if you are welcoming the changes. We call this Approval Testing. For more […]