Academy

Hoe je testautomatisering voor jou kunt laten werken

June 23, 2023

Frederique De Winter

Facebook logo in yellowLinkedIn logo in yellow

De groeiende vraag naar snellere levering van kwalitatieve software vereist dat organisaties oplossingen zoeken in Agile, Continuous Integration en DevOps methodologieën. Testautomatisering is een essentieel onderdeel van dit proces. Maar in veel gevallen wordt testen (handmatig en geautomatiseerd) een bottleneck. De oorzaken kunnen uiteenlopen, maar vaak ligt het probleem bij de keuze van het testautomatiseringshulpmiddel. Hoe pakken we dat aan? En hoe voorkomen we dat testautomatisering een rem op de voortgang wordt?

First things first – een gestructureerd testproces

Om te beginnen heb je een gestructureerd testproces nodig. De reden hiervoor ligt voor de hand; testautomatisering moet in dit testproces passen. Denk dus eerst na over wat je wilt testen en hoe je het wilt testen.

Als dit testproces er eenmaal is, is het tijd om na te denken over het optimaliseren ervan door testautomatisering te introduceren. Gelukkig zijn er veel testautomatiseringstools, frameworks en bibliotheken beschikbaar. Ze hebben allemaal hun eigen voor- en nadelen, maar niet elke oplossing past bij de vereisten van jouw project. En hier begint het probleem.

Om de meest geschikte tool te kiezen, moet je de specifieke kenmerken van je project nauwkeurig onderzoeken. De belangrijkste vragen die je jezelf moet stellen zijn:

  • Wat wil je bereiken met testautomatisatie?
  • Op welke niveaus wil je testen?
  • Wil je unit-, component-, integratie- of systeemtesten uitvoeren?
  • Welk soort testen wil je op elk niveau uitvoeren?

Als je hier een duidelijk antwoord op hebt, kun je gaan nadenken over het automatiseren.

Randvoorwaarden bepalen

De kwaliteit van een applicatie bewaken door het leveren van een bugvrij product is cruciaal voor het succes van elk project. Geautomatiseerd testen kan hierbij helpen door de kwaliteit te verbeteren en de testdekking te vergroten. Maar om dat te bereiken, moet je de juiste tool kiezen. Daarom moeten we de projectvereisten goed begrijpen, zoals het type project (web/desktop/mobiel), de scope van het project, de technische kennis van het bestaande team op het gebied van codetaal, … voor je begint met het kiezen van een automatiseringsoplossing. Geen enkele tool is per definitie goed of slecht. De Return Of Investment (ROI) van elke tool of oplossing hangt af van de behoefte en de randvoorwaarden. Stel daarom jezelf eerst de juiste vragen om deze randvoorwaarden helder te krijgen.

Dit is slechts een deel van de vragen die je jezelf moet stellen voordat je een tool kiest.

Automatisatieoplossingen

Op basis van de randvoorwaarden kunnen we al een lijst maken van mogelijke automatiseringstools. Maar er is nog een belangrijke vraag. Wat is het beschikbare budget? Afhankelijk van het antwoord kun je bepalen of je voor commerciële tools gaat of voor gratis open-source oplossingen.

Commerciële tools

Het grote voordeel van commerciële tools is dat je vrijwel meteen na aanschaf van een licentie kunt beginnen met automatiseren. Deze tools hebben een gebruikersinterface die het veel gemakkelijker moet maken om een test te automatiseren, zelfs als je technische kennis beperkt is. Maar houd er wel rekening mee dat de kans groot is dat niet alles met de gebruikersinterface kan worden afgehandeld en dat er vaak enige scripting en technische kennis nodig is.

Gratis open-source oplossingen

Het feit dat deze open-source oplossingen gratis zijn, brengt ook kosten met zich mee. Geen licentiekosten, maar de kosten voor het opzetten van deze oplossingen en het scripten van de geautomatiseerde tests. Voor dit soort oplossingen is een diepgaande technische kennis een vereiste om er het maximale uit te kunnen halen.

In veel gevallen zien we dat commerciële tools vaak te duur zijn en open-source oplossingen te veel technische kennis vereisen. Gelukkig is er een tussenoplossing: een testautomatisatieframework.

Testautomatisatieframework

Een testautomatisatieframework is een gedefinieerde, uitbreidbare ondersteuningsstructuur die bestaat uit een combinatie van best practices. Deze zijn ontworpen om het ontwikkelen, onderhouden en uitvoeren van geautomatiseerde tests efficiënter te maken. De implementatie vraagt een eenmalige investering qua ontwikkeltijd, maar in tegenstelling tot commerciële tools zijn er geen terugkerende licentiekosten. Het grote voordeel van een automatisatieframework is dat het volledig kan worden aangepast aan de behoeften (randvoorwaarden) van de organisatie. Ze bieden veel flexibiliteit in allerlei aspecten:

  • Bouw je eigen rapportage en rapporteer in de output die je verkiest
  • Maak integraties met andere tools (bijv. testmanagementtools)
  • Bepaal zelf hoe je met testgegevens omgaat
  • Kies je eigen programmeertaal en IDE
  • Bepaal of en hoe je testresultaten wilt opslaan
  • Een minder technische laag bouwen voor het maken en onderhouden van tests
  • En nog veel meer …

Eenmaal ontwikkeld, moet een framework een standaard manier faciliteren voor het wijzigen, toevoegen en verwijderen van testscripts. Het moet ook schaalbaarheid en betrouwbaarheid bieden met minder inspanning.Een dergelijk framework biedt ook het voordeel dat je als organisatie alles onder controle hebt. Je bent niet afhankelijk van een leverancier van tools. Het ontwikkelen van je eigen automatisatieframework, aangepast aan jouw behoeften, brengt initiële ontwikkelingskosten met zich mee, maar het maakt je meer toekomstbestendig.

Conclusie

Het opzetten van een test(automatisatie)strategie doe je niet van de ene op de andere dag. Het vereist tijd, inzicht en expertise. Wij kunnen je bij elke stap helpen. Van het beoordelen van je huidige IT/Testorganisatie met onze BrightScan tot het implementeren van een geschikte automatiseringstooling.

Omdat we leveranciersonafhankelijk zijn, kunnen we je objectief advies geven over welke tools wel of niet voldoen aan de eisen van de organisatie. Als er niets is dat echt aan je behoeften voldoet, is er altijd nog de mogelijkheid om een gepersonaliseerd automatisatieframework te bouwen . Bij Brightest geloven we dat echte kwaliteit een holistische kijk vereist. Kosteneffectieve softwarekwaliteit vereist meer dan alleen testvaardigheden (lees meer over dit onderwerp in onze Whitepaper over “Hoe zet je kosteneffectief softwaretesten op?”). Samen met jou kijken we naar het volledige plaatje en richten we onze inspanningen op maximaal rendement.

Laten we samenwerken

Benieuwd hoe testautomatisering jouw organisatie kan helpen?

Neem contact met ons op