vrijdag 3 januari 2020

Zonder feature testing ben je helemaal nergens

Zonder feature testing ben je helemaal nergens
Techniek

Bij SMIT. hebben we hard gewerkt aan het verbeteren van de kwaliteit en consistentie van onze codebases. Niet alleen voor nieuwe, maar ook voor oudere projecten. Eerder dit jaar hebben we besloten om alle nieuwe projecten te feature testen. Dit om ons te voorzien van een gemakkelijke manier om te bevestigen dat onze projecten goed werken nadat er een functie is toegevoegd.

Joris.

Developer


Joris
Team

Joris.


Developer

{redirectTo url="/over-ons"}

Wat bedoelen we met feature testing? We schrijven code die een bepaalde actie in onze applicatie simuleert. Stel dat iemand een formulier indient, of probeert producten uit onze JSON API te halen. Dit kan eenvoudig worden gesimuleerd met een paar regels code. Zo kunt u het invullen van het formulier vanaf de web interface overslaan en gewoon op een knop drukken om te bevestigen dat het goed werkt. Dit kost ongeveer 10-30 seconden aan handmatig testen. Terwijl feature testing ongeveer 200 milliseconden kost. Ontzettend de moeite waard dus!

Sommige van onze ontwikkelaars waren al gewend om af en toe een Unit-test te schrijven bij het werken met financiële berekeningen. Het concept van het testen van functies was echter nog lang niet geïmplementeerd in onze lopende projecten. We geloofden gewoonweg niet dat het testen een zeer noodzakelijke voorzorgsmaatregel was om te nemen. Na het uitproberen van een aantal projecten zijn we tot de conclusie gekomen dat het testen van features niet te missen is bij het maken van stabiele en efficiënte software.

Er zijn vele malen in mijn carrière geweest dat ik een bug/kritische fout productie in had kunnen laten glippen. Nu ben ik ontzettend blij dat ik me daar veel minder zorgen over hoef te maken. Natuurlijk blijft het een uitdaging om goede overkoepelende Feature tests te schrijven.

Tegenwoordig worden applicaties steeds complexer, zijn er meer diensten bij betrokken en is er meer complexe domein-logica nodig voor de moderne automatisering waar klanten naar op zoek zijn. Het is te gemakkelijk om uit het oog te verliezen welke onderdelen invloed hebben op een ander deel van je applicatielogica.

Het is dus volstrekt logisch om je projecten te feature testen. Het zal je alleen maar tijd en hoofdpijn besparen en het belangrijkste is dat jouw klanten niet zo vaak te maken krijgen met onvolledige software.