Testautomatisering en tools voor kwaliteitsverbetering

Steeds vaker kiest men bij de ontwikkeling van software voor geautomatiseerd testen. Het draagt bij aan het verkorten van de time to market van software en verkleint de kans op de fouten, wat de kwaliteit van software ten goede komt. In dit artikel neem ik je mee in de wereld van testautomatisering. Wat is het? Welke voordelen biedt het je? Op welke manier zet je tools in om te voorzien in geautomatiseerd testen?

Wat is testautomatisering of test automation?

Organisaties werken steeds vaker via een agile methode, waarbij middels iteraties naar een eindproduct wordt toegewerkt. Voorbeelden van agile methodes zijn onder meer Kanban en Scrum. Op het moment dat deze nieuwe manier van werken succesvol geïmplementeerd is binnen een organisatie, volgt een volgende wave: het automatiseren van processen bij de ontwikkeling van software. Denk aan continuous delivery, waarbij processen zo worden ingericht dat software op elk gewenst moment uitgebracht kan worden.

Belangrijk onderdeel van continuous delivery is geautomatiseerd testen. Op het moment dat een nieuwe versie wordt uitgebracht, is het belangrijk dat deze uitgebreid getest is voordat de stap naar een productieomgeving gezet wordt. Door de korte iteraties waarmee gewerkt wordt is het voor organisaties ondoenlijk om iedere nieuwe versie handmatig te testen. Test automation vormt er de oplossing voor.

Voordelen van geautomatiseerd testen

Er zijn verschillende redenen die geautomatiseerd testen interessant maken voor organisaties. Reeds las je al dat test automation bijdraagt aan een kortere time to market bij de release van nieuwe versies van software. Men is niet langer afhankelijk van een handmatige test, maar kan na de ontwikkeling van software al snel naar een productieomgeving (mits de software de geautomatiseerde testen succesvol doorloopt).

De kortere time to market zit niet alleen in het feit dat door geautomatiseerd testen eerder naar een productieomgeving kan worden overgestapt. Ook biedt test automation de klant sneller de kans om feedback te geven op ontwikkelde stukjes software. Deze feedback kan door ontwikkelaars in een volgende iteratie gebruikt worden om de software te verbeteren.

Het leidt tot een hogere kwaliteit, lagere kosten en doorgaans een stabieler product. Dat laatste zit in het feit, dat een stukje software na kleine wijzigingen direct getest kan worden. Zou dit handmatig gebeuren, dan zou dit tot onnodig hoge kosten leiden. Blijkt bij deze testen dat de prestaties van het eindproduct verslechterd zijn door kleine aanpassingen? In dat geval kan direct naar een oplossing worden gezocht in de volgende iteratie.

Verbeterde dekkingsgraad bij test automation
Niet onbelangrijk is het gegeven dat de dekkingsgraad toeneemt bij geautomatiseerd testen. Je kunt een nagenoeg oneindig aantal test scenario’s uitwerken en die na iedere sprint uit laten voeren door de tools die je hiervoor gebruikt. Zou je deze test scenario’s handmatig uit moeten voeren, dan loop je al snel tegen vertragingen aan. Daar komt bij dat de kans op fouten toeneemt, wanneer een groot aantal testcases handmatig worden uitgevoerd.

Aan de slag met automation testing tools

Er zijn verschillende test automation tools die gebruikt kunnen worden om software binnen het releaseproces automatisch te laten testen. Een goed voorbeeld van zo’n tool is Katalon, wat in 2015 op de markt kwam. De tool is gebaseerd op de frameworks van Selenium en Appium. Zeker voor partijen die beginnen met geautomatiseerd testen is het gebruik van deze tool aan te raden; de tool is zeer gebruiksvriendelijk. Men kan de tool gebruiken op zowel systemen met Windows, macOS, als ook Linux.

Ook het Selenium framework zelf helpt bedrijven bij het uitvoeren van geautomatiseerde tests. Het framework werd in 2004 ontwikkeld en wordt voornamelijk ingezet voor regressietesten. Doel van deze regressietesten is het controleren van de werking van onderdelen in de software, welke bij de laatste iteratie niet zijn aangepast. Je kunt het framework gratis gebruiken; het is open-source.

Een derde tool die het bekijken waard is: LambdaTest. Het is een cloud-based tool, welke gebruikt wordt voor het testen van zowel mobiele apps als software voor computers. Prettig aan LambdaTest is de mogelijkheid om koppelingen op te zetten met verschillende CI/CD-tools. Denk aan tools als Jenkins en Circle CI.

Meer weten? Vincent helpt je graag verder.

Meer lezen over digitalisering en software ontwikkeling?

Hier vind je de meest recente artikelen.

12345