Hoe beveilig je je applicatie?
februari 24, 2022
Doorontwikkelen software, hoe werkt het?
april 6, 2022

Software testen
Waarom en hoe?
 

Testen van software: waarom en hoe?

In onze steeds verder digitaliserende wereld worden software-applicaties steeds belangrijker. Elk bedrijf maakt wel gebruik van software, of het nu kleinschalig is of juist grote, complexe systeemimplementaties zijn. Zeker in het laatste geval is het voor bedrijven van belang om het systeem tijdig te updaten. Het testen van de software is hier onderdeel van. Maar, ook bij de ontwikkeling van software is testen natuurlijk onmisbaar. Waarom is software testen zo belangrijk en hoe werkt het?

Het belang van software testen

Wanneer nieuwe software wordt ontwikkeld, is het niet ondenkbaar dat er bij oplevering nog programmeerfouten in het product zitten. Zo kan het gebeuren dat een applicatie na livegang nog de nodige probleemmeldingen oplevert.

De programmeerfouten zorgen ervoor dat de software niet efficiënt is, traag is of slecht werkt. De klantervaring lijdt eronder als de programmeerfouten niet uit de software worden gehaald.

Een ander probleem is dat je nieuwe software bugs kan bevatten. Hierdoor werkt de software niet goed of zelfs helemaal niet. Niets vervelender dan een applicatie die ineens vastloopt en waar je vervolgens niets meer mee kunt, behalve hard resetten, met mogelijk verlies van werk. Dat wil je voorkomen door de software goed te testen.

Software testen wordt dus steeds belangrijker voor de continuïteit van bedrijven.
 
 

Hoe gaat testen in zijn werk?

Bij het testen van software kun je gebruik maken van testscripts of unit tests. Daarnaast voeren de testers ook menselijke handelingen uit om fouten op te sporen. Software-testers kijken naar wat er fout kan gaan bij het in gebruik nemen van een product.

Neem bijvoorbeeld het inlogscherm van een app. Bij een inlogscherm kan de gebruiker inloggen met een e-mailadres en een wachtwoord. De tester heeft dan een aantal verschillende testcases die allemaal getest moeten worden.

Bijvoorbeeld: wat er gebeurt als het e-mail vakje leeg is, wanneer het wachtwoord vakje leeg is, of wanneer de combinatie van beiden niet klopt? Elke aparte handeling is een losse casus die moet worden nagelopen, getest en goedgekeurd.

De voordelen van automatisch testen

Je kunt je voorstellen dat er bij nieuwe software of bij een update enorm veel scenario’s zijn die getest moeten worden. Dat gaat een stuk sneller als het automatisch gebeurt.

Daarom wordt er vaak automatisch in een geïsoleerde omgeving getest. Dit gebeurt aan de hand van vooraf gestelde scenario’s die heel strikt zijn vastgelegd. Als er één afwijking is, wordt een release automatisch geblokkeerd. De nieuwe versie kan dan niet live gaan. Het voordeel hiervan is dat een gebrek al aan het licht komt, voordat de nieuwe versie gebruikt wordt. Het probleem kan dan tijdig worden getackeld

 
 

Wanneer is het zinvol om automatisch te testen?

Automatisch testen loont vooral bij grotere projecten. Denk aan projecten waarbij je afhankelijk bent van externe plugins of open source software: hierbij is automatisch testen nog waardevoller. Problemen worden eerder vastgesteld waardoor ze ook weer sneller opgelost kunnen worden.
Handmatig testen is vaak efficiënter bij kleine projecten, omdat het inrichten van een automatische testflow flink wat tijd kost. Dat wil niet zeggen dat automatisch testen nooit een optie is bij kleine projecten. Het kan namelijk wel degelijk zinvol zijn, bijvoorbeeld bij onderhoud of om te monitoren of alle belangrijke processen nog werken.

Software testen volgens Thoughtline

Het testen begint wat ons betreft al bij het ontwikkelen van de software. Om de focus op kwaliteit zo hoog mogelijk te krijgen, is het van belang dat iedereen kwaliteit als iets essentieels ziet voor een succesvolle oplevering.

Je kunt kwaliteit proberen af te dwingen door bepaalde eisen aan de code te stellen. Het aantal ‘major Checkstyle’ violations moet bijvoorbeeld nul zijn en de coverage minimaal 80 procent. De ontwikkelaars zien dit vervolgens als een verplichting en proberen aan de eisen te voldoen ‘omdat het moet’.

Kwalitatief betere code schrijven

Wat volgens ons echter beter is, is als ontwikkelaars uit zichzelf proberen kwalitatief betere code te schrijven. Daarvoor gebruiken we SonarQube. Dit is een open platform voor het managen van codekwaliteit. SonarQube analyseert de code en verifieert de code kwaliteit. SonarQube biedt de ontwikkelaars hulp door aan te geven waar er bijvoorbeeld violations in de code zijn, waar men afwijkt van object georiënteerde best practices en waar de architectuur niet gevolgd wordt.

Zo waarborgen we dat de code in eerste instantie al zo compleet en goed mogelijk wordt opgeleverd. Dit maakt het testproces daarna efficiënter en sneller.

 
 
werkwijze1
 
Software testen: waarom en hoe?
 
sparrenMaurice