Betere responstijden, hoge uptime, minder foutmeldingen. Praegus helpt je de snelheid, betrouwbaarheid en stabiliteit van je software waarborgen.
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.
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.
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.
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.
Geautomatiseerd testen vraagt meer expertise, omdat de nauwkeurigheid en snelheid van het testen veel hoger ligt. Ook vraagt geautomatiseerd testen een betere voorbereiding, zoals:
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 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.
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