Wat is testautomatisering en wat is geautomatiseerd testen?

Geautomatiseerd testen is de uitvoering van testen door een systeem of applicatie die specifieke testsoorten zoals regressietest of een unittest automatische uitvoert zonder tussenkomst van mensen.

Testautomatisering is de automatisering van het proces van het beheren en bewaken van verschillende tests en de testresultaten.

Waarom is testautomatisering belangrijk?
Kwaliteitsbewustzijn is meer en meer aan de orde, in de steeds vluchtiger wordende wereld van softwareontwikkeling. De kortere time-to-market, het grotere bereik en directer contact met en aandacht van de afnemers maken dat bedrijven die software ontwikkelen zich geen blunders kunnen permitteren.

Dat betekent dat er goed, maar ook veel getest moet worden; vaak op een heel scala van systemen of configuraties. Die testen moeten ook steeds vaker worden herhaald. In Agile softwareontwikkeling worden regressietesten bij voorkeur na elke sprint of zelfs elke check-in uitgevoerd. Bij DevOps wordt zelfs gesproken over Continuous Testing.

Bij Agile ontwikkeling wordt vanaf het begin van het project al werkende software opgeleverd en de functionaliteit wordt met elke eenheid van werk uitgebreid.

Elke oplevering van werk kan daarmee reeds bestaande functionaliteit ‘breken’, terwijl niet alle requirements of specificaties vooraf voldoende zijn uitgewerkt. Dit maakt het heel moeilijk om een testset over de hele breedte van je applicatie te kunnen plannen.

Het belang van een complete regressietestset die op elk gewenst moment, of beter nog, bij elke build kan worden uitgevoerd is dan levensgroot.

Als bij iteratief ontwikkelen pas wordt begonnen met testautomatisering als de software het predicaat ‘stabiel’ heeft gekregen of als het testproces aan alle kanten is omkaderd, dan kijk je tegen een achterstand aan die in de beschikbare tijd niet meer in te halen valt.

Bovendien loop je dan het risico te maken te krijgen met een product waarvan je de kwaliteit maar moeilijk kunt aantonen.

Testautomatisering is daarmee in steeds meer ontwikkeltrajecten noodzakelijk en onderdeel van een continu-proces. De werkelijkheid laat echter zien dat meestal wordt begonnen zonder gedegen plan of teststrategie. Tools worden aangeschaft zonder te weten of ze voldoende bijdrage kunnen leveren aan het bereiken van de doelstellingen.

Praegus kiest voor functionele dekking vroeg en geïsoleerd. Tooling ondersteunt het uitvoeren van grote hoeveelheden kleine, afgebakende testgevallen. De stelregel is: 1 testcase toont 1 requirement aan. Waar mogelijk testen we businesslogica tegen de business-laag van de applicatie. Dit kan zijn tegen services of API’s, maar ook direct tegen de programmacode. Leidraad hierbij is de testautomatisering-piramide van Cohn.

Wanneer moet je overstappen naar geautomatiseerd testen?

1) Wanneer de organisatie snel groeit zowel in het aantal mensen als softwarepakketten.
2) wanneer het aantal tests die uitgevoerd moeten worden om gestructureerd en dekkend te kunnen testen snel toeneemt
3) handmatig testen het deployment proces vertraagd
4) wanneer je Agile of Scrum software ontwikkelmethodes gebruikt
5) als je tussentijdse tests tussen sprints wil inzetten

Voordat je kan beginnen met het automatiseren is het belangrijk om goed inzicht te hebben in het ‘risico gebaseerd testen’. Hiervoor moet je de vragen; wat-, waar-, waarom- en hoe diep testen beantwoord hebben.

Wat is belangrijk bij geautomatiseerd testen?

Geautomatiseerd testen vraagt meer expertise, omdat de nauwkeurigheid en snelheid van het testen veel hoger ligt. Ook vraagt geautomatiseerd testen een betere voorbereiding, zoals:

  1. een goede test coverage
  2. goed afgestemde en volledige testsoorten (unittesten, systeemtesten e.d.)
  3. een duidelijke visie
  4. een heldere aanpak
  5. regressie testen en end2end tests
  6. acceptatietesten

Praegus vindt het belangrijk om behalve de juiste tool(s), ook de juiste aanpak (strategie) te kiezen om effectief geautomatiseerd te kunnen testen.

Dat betekent dat we er altijd naar streven om functionaliteit zo vroeg en onderhoudbaar mogelijk af te dekken. Waar mogelijk testen we business logica tegen services en/of API’s, zodat onderhoud intensieve en relatief langzame geautomatiseerde testen tegen de gebruikersinterface alleen daar worden ingezet waar ze echt noodzakelijk zijn en meerwaarde bieden.

Het (geautomatiseerd) testen is voor Praegus onafhankelijk van tool (leverancier), platform (desktop, web, mobile, backend, etc.), methode en locatie.

Testtools voor geautomatiseerd testen

Testtools zijn een hulpmiddel bij testautomatisering, geen totaaloplossing.

Zaken zoals de toekomstige onderhoudbaarheid van testscripts en inzicht in de opbouw van juiste testgevallen zijn bepalend voor het succes van test automatiseren. Het is dan ook van belang dat deze meegenomen worden bij het formuleren van de strategie en aanpak. Maar ook bij selectie van de juiste testtool.

Het zijn aspecten zoals deze die mede het succes van testautomatisering bepalen. Deze aspecten zijn vaak niet te automatiseren. Dit blijft het werk van een tester.

Het is om die reden van groot belang dat de tester weet om te gaan met zowel de tool als het opzetten van een gedegen testproces en het onderhoud daarvan. Ook hier geldt dat kennisoverdracht- en borging bij de interne testers voorop moet staan.

Praegus OS Toolchain is bijvoorbeeld een zeer geschikte Open Source testtool om in te zetten voor het onderhoud van de tests, voor real-time inzicht in de testresultaten en controle over de geautomatiseerde testscripts. De OS Toolchain is ideaal in te zetten voor integratietest, systeemtest en landschappen waarin veel verschillende apps draaien.

Kijk hier voor meer informatie over de Toolchain testtool

Ben je benieuwd wat Praegus voor jou kan doen?

Praegus is de specialist op gebied van geautomatiseerd testen en testautomatisering met Agile/scrum softwareontwikkelmethodes.

Wij kunnen helpen met:

1. Opzetten en uitwerken van de testautomatisering strategie en -aanpak
2. Inhuur van testexpertise en testers
3. optimalisatie testautomatiseringsproces
4. Testtrainingen, -opleidingen en workshops
5. Uitvoeren van testen
6. Selectie en implementatie testtools

Wij zijn er voor jou

Wil jij testautomatisering inzetten in jouw organisatie? Of wil je misschien een keer praten met een van onze experts over de voordelen van geautomatiseerd testen?

Onze Praegus testexperts staan klaar om je te helpen met al je vragen. Of om een keer geheel vrijblijvend te sparren over test tools en over de test kansen voor jullie organisatie.