Zonder feature testing ben je helemaal nergens
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 kun je 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. Al 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.