Blog

Sneller software opleveren? Een goed testing framework is de basis.

Auteur Joep Joep is Quality Engineer bij Trivento en gaat geen uitdaging uit de weg. Hierbij geniet Joep van geautomatiseerd testen, infrastructuur en verbinden.

In een vluchtige wereld moeten organisaties tegenwoordig concurrerend en flexibel zijn. Er is snelheid en wendbaarheid nodig om volledig mee te bewegen in de veranderende markt. Maar hoe zorg je ervoor dat dit lukt en welke rol heeft een testing framework daarbij? Je leest het in deze blog. 

Allereerst is het belangrijk om de waarde in te zien van het testen van complexe applicaties. Door goed te testen zorg je ervoor dat hoogwaardige software snel kan worden geleverd. Juist daarom is enkel het kennen en beheren van een testautomatisering tool tegenwoordig niet langer voldoende. De praktijksituatie is leidend. Zo weet je hoe en voor welke doeleinden het ingezet kan worden. Niet alleen om geautomatiseerde testen te schrijven, maar ook om teams sneller en beter te laten presteren.

Hiervoor is een testing framework nodig dat:

  • Betrouwbaar en consistent draait, elke build en deploy weer.
  • Heldere feedback levert aan de teams en de organisatie.
  • Schaalbaar is. Zodat er eenvoudig veel nieuwe tests kunnen worden toegevoegd zonder aanvullende code te schrijven.

Creëren van succesfactoren

Hoe zorg je ervoor dat er succesfactoren worden gecreëerd zodat de testen zorgen dat de time-to-market versneld wordt? Het begint met het definiëren van een goede strategie. Deze strategie geeft antwoord  op de vragen: Why, How en de What. Waarom worden testen opgesteld en wat is het doel ervan? Is het doel dat de testen bijdragen om de time-to-market te versnellen of ligt wellicht de nadruk meer op het borgen van de veiligheid.

Tegenwoordig heeft bijna elke manier van testen toegevoegde waarde om, al dan niet, geautomatiseerd  in de CI/CD pipeline, een platform te testen. Denk bijvoorbeeld aan systeem-, performance-, security-, usability, A/B testen.

De teststrategie geeft een totaaloverzicht van wat er getest wordt en met welke diepgang. In een testtraject is het onmogelijk om alles honderd procent te testen

Het juiste test framework bij elke situatie 

Ervaar jij dat ontwikkelaars niet willen helpen met het opzetten van testen of ben jij de enige die meerwaarde inziet van het testing framework? Tegenwoordig is er een overvloed aan testing frameworks om uit te kiezen. Elk met zijn eigen sterke eigenschappen.  Kies de juiste tool op basis van de opgestelde strategie. Stel jezelf altijd weer de vraag: ‘welk framework sluit het beste aan bij de gekozen testsoort?”. Deze moet het team ondersteunen om een framework te bouwen die niet alleen controleert wat de applicatie doet, maar het team in staat stelt om samen te specificeren wat de applicatie moet doen.

Binnen Trivento prefereren wij ‘Cypress.io’, een alleskunner, als basis voor onze testing frameworks. Zo kan Cypress ingezet worden voor testen van frontend, van API, van ketenintegratie en usability. Vind je dit interessant? Hierover schrijf ik meer in mijn  volgende blog.   

Ligt de nadruk op bijvoorbeeld performance testing, kies dan een tool welke hiervoor ontwikkeld is. Zo zetten wij binnen Trivento ‘Gatling’ in als performance tool ook al is het met Cypress mogelijk.

Up-to-date automatisering van de test

Testen moeten net als de applicatiecode onderhoudbaar zijn. De mate van onderhoudbaarheid van testen wordt bepaald door de herbruikbaarheid, leesbaarheid, wijzigbaarheid en het gebruik van generieke componenten van de code.

Bij slecht opgezette testen wordt het steeds lastiger om wijziging door te voeren. Dit verlaagt de kwaliteit van de testen en het schrijven nieuwe testen zal steeds meer tijd vergen. 

Het structureren en onderhouden van testscripts is essentieel om het testing framework schaalbaar te houden. 

Download het ebook 'De bouwstenen van een schaalbaar businessmodel' >>

Goede reporting voor inzichtelijke testen

Inzicht krijgen krijg in de testen en testresultaten is key. Zodra testen falen moet er in een oogopslag zichtbaar zijn wat er fout gaat en waardoor deze fout wordt veroorzaakt. Zijn jouw testen langzaam of onbetrouwbaar? Zorg ervoor dat alles goed gerapporteerd wordt. Flaky testen (testen die willekeurig falen of slagen) moeten inzichtelijk gemaakt worden. Een foutieve test is niet altijd de oorzaak van het probleem, het kan namelijk ook een een fout in de applicatie zijn.

Daarom is het onderzoeken van dit soort testen essentieel. Goede reporting draagt aan eraan bij om deze testen op te sporen en de oorzaak inzichtelijk te maken. Cypress helpt hierbij door testresultaten te visualiseren in een dashboard , inzicht in flaky testen en eenvoudige integratie in CI/CD (zoals gitlab).

Niet alleen teams, maar ook de organisatie zelf heeft baat bij leesbare testresultaten. Zo is continue de feedback over de applicatie inzichtelijk en kan hierop worden bijgestuurd.

One-size-fits-all? Hoe zorg jij ervoor dat het testing framework  succesvol is?

De gouden formule  voor het opzetten van testing frameworks bestaat niet niet. Elke organisatie heeft een eigen platform wat getest wordt in de eigen context. Hierdoor dient elk testing framework op maat gemaakt te worden. Zo biedt het meerwaarde voor een organisatie.

Zoals je nu wellicht inziet, een goed ontworpen test framework zorgt ervoor dat de software versneld wordt opgeleverd. Niet alleen door de teams maar ook de organisatie!  

Heb jij een uitdaging waar je graag eens met een van onze testexperts over wilt sparren? Neem gerust contact op. 

Dit artikel delen?

Ben je opzoek naar meer?

Bekijk hier een selectie van onze ebooks.

De bouwstenen van een schaalbaar businessmodel

Download nu

Digital Business met Microservices

Download nu

Van traditionele organisaties naar digitale winnaars

Download nu