Bespaar tijd met het automatisch testen van software!

Automatisch testen zorgt ervoor dat wanneer een wijziging in de code heeft plaatsgevonden dit niet handmatig gecontroleerd hoeft te worden maar dit vanzelf gaat. Tijdens de ontwikkeling van de software wordt de automatische testen toegevoegd. Het automatisch laten uitvoeren van deze testen kan bijvoorbeeld wanneer een programmeur zijn aangepaste code aan de andere programmeurs aanbiedt. In een notendop probeert men met automatisch testen te voorkomen dat nieuwe of aangepaste code bugs (fouten in de software) in de applicatie veroorzaakt.

Sneller en vaker testen

Automatisch testen is sneller dan wanneer daar een werknemer voor ingezet wordt. Het sneller kunnen testen resulteert in het voordeel dat er ook vaker getest kan worden. Wanneer er vaker getest kan worden, neemt de kwaliteit en betrouwbaarheid van de applicatie toe.

Deze testen moeten geschreven en geïmplementeerd worden. Het is belangrijk dat de test die voor een specifiek stuk code wordt geschreven voordat de code geschreven wordt. Op deze manier kan de geschreven code vanaf het begin en constant getest worden.

Problemen worden eerder getackeld

Wanneer bugs in een vroeg stadium van de ontwikkeling worden opgespoord kosten deze minder tijd om op te lossen dan wanneer deze in een later stadium ontdekt worden. 

In een later stadium kan het namelijk zo zijn dat er nieuwe code, die afhankelijk is van de code met een bug, geschreven is. Hierdoor zou het voor kunnen komen dat gedeelten van de nieuw geschreven code ook herschreven moet worden en niet alleen de code die in het vroege stadium is geschreven. Dit kost meer tijd.

Extra investering 

Om automatisch te testen zullen er testen geschreven moeten worden. Dit betekent dat er meer ontwikkeltijd voor de applicatie gerekend wordt dan wanneer er geen testen geschreven zijn. Uiteindelijk zal de applicatie door het testen echter sneller geleverd kunnen worden en zal de code van betere kwaliteit zijn. Automatisch testen is een investering voor het lange termijn. 

Bij doorontwikkelingen of updates aan de applicatie zal het juist tijd besparen en bugs voorkomen doordat de gehele applicatie dan automatisch getest wordt. De voordelen wegen dus in de meeste gevallen op tegen dit nadeel. 

Automatisch uitgevoerde tests wanneer de code wordt aangeboden

De verschillende soorten testen

Unit testing

Tijdens het uitvoeren van een unit test wordt het kleinste stukje code getest, bijvoorbeeld een functie met meestal een of meerdere inputs en een enkele output. Deze output kan vergeleken worden met de output die verwacht wordt. Een voorbeeld is een functie die A met B vermenigvuldigd, als de input A = 4 en B = 4 moet de output 16 zijn. 

Integration testing

Bij integration testing worden functies met elkaar verbonden en als geheel getest. De functies die hiervoor verbonden dienen te worden zijn bij het unit testing al individueel getest. Tijdens een integration test wordt bijvoorbeeld de uitkomst van een overkoepelende functie getest die afhankelijk is van andere functies. 

System testing

Tijdens een system test wordt bekeken of de applicatie voldoet aan de vooraf, door de klant opgestelde requirements. Bijvoorbeeld wanneer een van de requirements is dat de gebruikers moeten kunnen inloggen kan er gekeken worden of het gehele authenticatie gedeelte van de applicatie in de applicatie aanwezig is en of deze naar behoren werkt.

Wanneer valt de keuze op automatisch testen?

Niet ieder project leent zich goed voor het opzetten van automatische testen. Het schrijven van de testen die automatisch kunnen worden uitgevoerd kost namelijk extra ontwikkeltijd. Wanneer er geen of weinig doorontwikkelingen gepland staan kan het zijn dat de baten niet opwegen tegen de extra ontwikkeltijd. Projecten die werken met hardware zijn over het algemeen ook lastiger automatisch te testen. Er zijn echter een aantal zaken die het belangrijk maken om automatisch testen te implementeren voor een project.

Wanneer er bijvoorbeeld voor een project veel doorontwikkelingen gepland staan kan het belangrijk zijn te blijven testen. Op deze manier worden er minder snel bugs veroorzaakt door de toevoeging van nieuwe functionaliteiten binnen de applicatie en wordt er veel tijd bespaard op het handmatig testen.

De omvang van het project of ontwikkelteam speelt een rol bij de keuze om automatisch testen in te zetten voor een project. Wanneer er veel programmeurs meewerken aan een project zal de code vaker veranderen en kan het voorkomen dat iemand afhankelijk is van andermans code.

Wil jij na het lezen van dit artikel nog meer informatie over automatisch testen, of denk je dat dit iets is dat bij jouw project past? Neem dan contact met ons op!