6 redenen waarom automation projecten falen

Raj Subrameyer heeft een artikel geschreven over de 6 belangrijkste redenen waarom automation projecten falen. Wij vonden dit artikel zo goed dat wij het naar het Nederlands hebben vertaald!

Teams en organisaties worden vaak (te) snel enthousiast wanneer ze het woord “automation” horen. Iedereen wil het hebben, maar binnen de kortste keren geeft niemand er meer om en verschuiven de prioriteiten. Wanneer dat gebeurt, raakt de automatische testset in verval en daalt het inzicht in kwaliteit.

Bedrijven moeten met een andere mindset omgaan met automation en dit begint met het stellen van realistische doelen en de wil om het te laten slagen.

Het is wel interessant dat er bij verschillende bedrijven soortgelijke problemen optreden, die effect hebben op automation projecten. Lees hieronder de zes belangrijkste redenen die vaak voorkomen bij falende automation projecten. Hou deze valkuilen in je achterhoofd zodat je ze kan vermijden en stabiele automation frameworks kunt opzetten. Zorg dat je je team hierin meeneemt zodat het gehele team eigenaarschap voelt van de automation.

1. Mensen weten niet wat ze (niet) moeten automatiseren

Het is heel belangrijk om te begrijpen wat je moet automatiseren en wat niet.

Stel, je hebt een webpagina. Het is goed om de verschillende functionaliteiten van deze webpagina te testen. Het is echter een slecht idee om automation te gebruiken om problemen in de rendering, of de locatie van elementen op de pagina te checken. Dit komt omdat het moeilijk te voorspellen is hoe het scherm wordt getoond op verschillende devices, browsers en schermafmetingen. Als je begint met het gebruiken van x,y coördinaten om de locaties van elementen op de pagina te bepalen, dan kunnen de testen flaky worden wanneer ze op andere schermafmetingen en resoluties worden gedraaid. Deze scenario’s kun je beter manueel testen.

Wij willen de dingen automatiseren die stabiel zijn, niet snel zullen veranderen, vaak moeten worden herhaald of veel tijdswinst opleveren in het testproces. Door simpele, herhaaldelijke taken te automatiseren kunnen testers hun waardevolle test effort gebruiken om exploratory testen uit te voeren.

2. Het team heeft geen technische kennis

Om op een juiste manier te automatiseren heb je testers nodig, die een bepaalde technische expertise hebben. De echt technische mensen kunnen echter heel duur zijn en lastig te vinden. Veel bedrijven, waaronder start-ups, hebben moeite met het inhuren van echte automation engineers.

Het is de moeite waard om een aantal technische testers in te huren die een automation project kunnen kick-starten. Zij kunnen vervolgens andere testers binnen het team opleiden en inleren in het automation traject. Als dat geen optie is, dan kun je altijd nog investeren in een tool waarmee iedereen uit de voeten kan, ongeacht hun technische expertise.

3. Automation is niet zichbaar

Binnen veel teams zijn twee tot vijf mensen verantwoordelijk voor automation en de rest van het team heeft geen idee wat er gebeurt op dat gebied. Het gemis aan zichtbaarheid kan leiden tot een falend automation project omdat niemand je werk serieus zal nemen. Met name als je niet in staat bent om mensen te laten weten hoe jouw werk het testproces verbetert en waarde toevoegt aan het project.

Gelukkig zijn er makkelijke manieren om je automation meer zichtbaar te maken:

– Maak een automation wiki pagina met informatie zoals welke features geautomatiseerd zijn, welke modules worden gedekt en hoe je automation framework is opgezet.

– Zorg dat de resultaten van je automation zichtbaar zijn voor het hele team via email notificaties en dashboards, en discussieer in daily standups en andere meetings over de resultaten

– Hou lunch-en-learn sessies waarin je de verschillende trends, good practices en automation-gerelateerde tools behandelt

Het is belangrijk om je automation een gezamenlijke effort te maken en het gehele team te betrekken bij het plannen en uitvoeren ervan.

4. Applicaties zijn niet makkelijk te testen

Teams letten vaak niet op de testbaarheid van hun applicatie. Wat bedoel ik daarmee? Als je een applicatie bouwt, dan moet je ook zorgen dat het makkelijk te testen is vanaf unit niveau, systeem niveau, integratie niveau en acceptatie niveau.

Als je dit negeert dan eindigen we met een applicatie die vrijwel niet te testen is, op geen enkel niveau. Vervolgens wordt er geroepen dat automation niet werkt voor het team, terwijl het probleem eigenlijk ligt bij hoe de applicatie is opgebouwd en de complexiteit ervan.

Zorg dat je de testability van een story, een feature en requirements bespreekt bij de backlog grooming en de sprint planning meeting. Doe dit dus voordat development begint met het bouwen van een feature. Dit zal testability problemen helpen voorkomen verderop in het software proces.

5. De doelen van automation zijn vaag

We beginnen met het volgende doel: een robuust automation framework dat naadloos integreert met de CI/CD pipeline, onderhoudbaar is, stabiel en consistent draait en snel feedback geeft over de applicatie. Dit klinkt goed op papier, maar om zo ver te komen moeten we klein beginnen.

Dit is waar de meeste automation projecten falen: ze beginnen heel erg complex en eindigen met een draak van een framework dat moet worden gerefactored voor je er iets nuttigs mee kunt doen. Dit leidt tot tijdverlies, hoge kosten, en veel effort.

Begin met het identificeren van twee of drie high-level functionaliteiten die stabiel zijn, en automatiseer die als eerste. Haal hier feedback over op, wat ging goed en wat niet. Als deze testen consistent en stabiel draaien kan je aan de slag met de tests je erna automatiseert.

Het is daarnaast ook belangrijk om je automation suite op te delen in smoke tests en regressie tests. Smoke tests zijn de testen, die draaien na elke code check-in. Normaal gesproken draaien deze minder dan vijf minuten, zodat je snel feedback krijgt op nieuwe code changes. Een regressie test suite kan dagelijks draaien en dekt verschillende functionaliteiten van de applicatie. Wat je precies onder je smoke tests en regressie set schaart, kan verschillen met de context van je project, maar deze opzet werkt als een goede basis.

6. Het team heeft geen goed process om automation taken uit te voeren

Dit is een van de meest voorkomende problemen met test automation: er is geen goed proces in place om automation taken uit te voeren. Elk teamlid heeft zijn eigen interpretatie van het proces, wat leidt tot chaos en een falend automation project.

Het automation proces zou gestroomlijnd en duidelijk gedefinieerd moeten zijn van begin tot eind van de lifecycle van een story. Er zouden geen verschillende interpretaties voor moeten komen over wie wat doet en wanneer tijdens de software development lifecycle. Automation taken zouden aparte stories moeten zijn, net als hoe we verschillende features implementeren als delen van stories. Dit helpt het team om serieus om te gaan met automation taken en zorgt ervoor dat ze makkelijk te managen zijn. Tot slot, maak dit proces zichtbaar voor het gehele team door de stappen op whiteboards te schrijven, of als checklists in stories toe te voegen. Herinner het team er constant aan bij de daily stand-ups en andere team meetings.

Als je deze zes veel voorkomende redenen voor falende automation projecten in je achterhoofd houdt, dan kun je ze makkelijker pro-actief voorkomen wanneer je met automation bezig gaat met je team.

het volledige artikel lees je hier