Blog

Tool supported checks (Testautomatisering)

! Testautomatisering* is geen keuze !

testautogeenkeuzekeuze

Waarom dan niet ?

In een Agile(scrum) traject zijn er een aantal redenen waarom testautomatisering niet langer een keuze is. De belangrijkste zijn:

  1. De kwaliteit voor de klanten moet voorop staan. In de huidige markt kun je je geen slechte producten veroorloven.
  2. Je hebt veel minder verstoringen in productie omdat je meer zekerheid hebt dat de belangrijkste functionaliteiten werken.
  3. Het is onmogelijk om je hele product handmatig te regressietesten als je elke X weken of vaker live gaat, of alleen tegen extreem hoge kosten.
  4. Je kunt nog wijzigingen doorvoeren tot vlak voor live-gang. De test is niet meer een struikelblok.
  5. Je hebt veel meer zekerheid over de kwaliteit indien je noodgedwongen hotfixes moet doorvoeren omdat je altijd (delen) van de automatische checks kunt uitvoeren.
  6. Herhaaldelijk handmatig regressietesten gaat ten koste van echt testen en de testers zullen er snel genoeg van hebben.
  7. Uiteindelijk bespaar je er ook geld mee, maar wees je wel bewust dat je eerst moet investeren in het opzetten en dat er ook onderhoudskosten zijn aan de test.

Welke soorten testautomatisering zijn er ?

Er is een onderscheid te maken in 2 typen testen:

  1. whitebox testen; UnitTesten die worden gebouwd en uitgevoerd door een ontwikkelaar op een deel van de applicatie
  2. front-end testen; AcceptatieTest gedreven automatiseringsscripts gebaseerd op end-user scenario´s

testautoUTtestautoregressiebugs

 

Wat is nu de beste oplossing ?

Er is geen ´beste´ oplossing. De oplossing die een team/bedrijf het beste past hangt af van heel veel factoren zoals:

  1. de aanwezige kennis van testen en tester ondersteunende tools in het team
  2. de van bovenaf opgelegde visie of strategie rondom testautomatisering (is niet Agile, maar komt in de praktijk nog wel veel voor)
  3. de van bovenaf opgelegde tools die gebruikt moeten worden (is ook niet Agile, maar komt in de praktijk ook heel vaak voor)
  4. het soort applicatie (front-end web, native app, backend, cross-browser, etc. etc.); zeker niet elke tool is geschikt voor elk soort test
  5. beschikbaar budget (kun je tooling aanschaffen of is er alleen budget voor b.v. personeel of is er geen budget beschikbaar)
  6. wil je de testen kunnen integreren in het deployment/CI proces
  7. hoe nieuw is het voor de organisatie en wat moet je ´aantoonbaar´ maken en op welke wijze en voor wie
  8. algemeen kun je wel stellen: hoe eerder je test hoe beter
  9. algemeen kun je ook stellen: niemand kan zijn eigen werk testen
  10. algemeen kun je tevens stellen: als je kiest voor een combinatie van oplossing 1 en 2, zorg dan dat je zeker weet dat je niet dingen dubbel doet
  11. en oh ja, automatische testscripts zijn code, dus stop ze in je versiebeheer systeem zoals Git of Subversion

Welke tools raden De Agile Testers aan ?

Zoals hierboven gezegd is dat erg moeilijk aan te geven omdat er zoveel factoren zijn die dit beïnvloeden.

CucumberLogo Seleniumlogo

De combinatie Selenium en Cucumber wordt veel gebruikt en is open source. Voordeel is dat er dus veel kennis over beschikbaar is en je geen tool-kosten hebt. Er zitten echter ook nadelen aan zoals de vereiste technische programmeerkennis, eindgebruikers kunnen de scripts niet of heel moeilijk lezen en begrijpen en daarmee is het vaak lastig uit te leggen wat je allemaal wel of niet test. Ook is crossbrowser testen nog niet zo eenvoudig en zijn testen buiten de browser geen optie.

LogoRanorex

Een tool waar wij veel positieve ervaringen mee hebben opgedaan is Ranorex. Ranorex is een betaalde tool (2000 euro voor het eerste jaar en optionele verlengingen 400 euro per jaar) en kent een aantal voordelen zoals geïntegreerde crossbrowser ondersteuning (1 script voor Chrome, IE en FF testen), mogelijkheden om ook alles buiten een browser te automatiseren, slim gebruik van een repository waarin de opgenomen elementen worden opgeslagen en die hergebruik eenvoudig maakt en daarmee onderhoud eenvoudig en goedkoop, optie om ook native apps te testen, en ook niet onbelangrijk is dat je nauwelijks tot geen programmeerkennis nodig hebt, maar de optie is wel aanwezig voor uitzonderlijke gevallen dat het toch nodig is. Verder is de inleertijd kort, je kunt er snel mee aan de slag, is er een zeer goede support afdeling en een uitgebreid forum van gebruikers. Verder wordt er actief aan Ranorex doorontwikkeld en is er elke maand een update.

 

Daarnaast zijn er nog tientallen andere tools waarbij je van de meeste een trial version kunt downloaden van de website. Advies is om dit zeker te doen als je van plan bent om iets te gaan aanschaffen. Veel tools werken alleen op specifieke omgevingen of zijn heel moeilijk te installeren of te gebruiken en verkeren nog in een pril stadium van ontwikkeling (ook al doet de marketing op de site vaak anders vermoeden).

Tip: wil je hulp bij het opzetten van testautomatisering: vraag De Agile Testers

 

*ik schrijf hier TESTautomatisering, maar ik bedoel door een tool ondersteunde CHECKs omdat wij van mening zijn dat je alleen checks (met een vooraf vast gedefinieerd resultaat) kunt automatiseren.