Bite Solutions logo

Check je software op eventuele bugs door eerst functioneel te testen!

De meeste software wordt tegenwoordig uitvoerig getest voordat het op de markt verschijnt. De kwaliteitseisen waar een softwarepakket aan moet voldoen zijn torenhoog en software wat niet goed functioneert laat men meteen links liggen. Er zijn immers zat alternatieven op de markt aanwezig en de consument is daarvan op de hoogte. Daarnaast worden kwaliteitseisen steeds hoger en krijgen programmeurs steeds minder tijd om software te ontwikkelen. De hoge werkdruk van programmeurs kan ervoor zorgen dat zij fouten maken tijdens het coderen waardoor (een deel van) de software niet (goed) werkt. Door software functioneel te testen wordt de kwaliteit op basis van een functionele omschrijving getoetst om mogelijke fouten op te sporen.

Verschil tussen functionele en niet-functionele omschrijvingen

Software wordt getest op functionele en niet-functionele omschrijvingen, waardoor er vaak onduidelijkheid bestaat over het verschil tussen deze twee soorten. 

Functionele eisen geven antwoorden op de Wat-vraag. Wat moet de software aan functionaliteiten bieden om het bedrijfsproces te ondersteunen? En wat voor taken of activiteiten moet een gebruiker met de applicatie kunnen uitvoeren? 

Een aantal voorbeelden van functionele omschrijvingen zijn:

  • De software moet na elke bestelling een bevestiging versturen naar de klant;
  • De software moet automatisch informatie genereren over de bezorgtermijn;
  • De software moet inzicht kunnen geven in de voorraadinformatie.

Niet-functionele eisen geven antwoorden op de HOE vraag. Het beschrijft niet de functie zelf, maar welke overige eisen er aan de software worden gesteld. Het gaat hierbij vaak om performance, veiligheid en betrouwbaarheid.

Een aantal voorbeelden van niet-functionele omschrijvingen zijn:

  • De software moet gebruikt kunnen worden in internet browsers zoals Google Chrome, Mozilla Firefox en Microsoft Edge;
  • De software moet alle bestanden controleren op virussen;
  • De software moet binnen een ‘x’ aantal seconden worden geladen.

Soorten functionele tests

Voor het testen van software zijn er verschillende soorten functionele test varianten die door het gehele ontwikkelproces van de software worden gebruikt om het eindproduct van de hoogste kwaliteit te leveren aan de klant. 

Veel voorkomende soorten van functionele testen zijn:

  • Unit testing – Deze test toetst of de code in de software goed is geschreven en functioneert. Deze test wordt meestal uitgevoerd door de programmeur zelf.
  • Smoke testing – Door middel van een aantal test-cases wordt gekeken of de huidige versie van de ontwikkelde software goed genoeg is om verder ontwikkeld te worden
  • Regressie testing – Mocht er tijdens de smoke testing een ‘bug’ worden gevonden waarna deze is opgelost? Dan wordt de oplossing met een regressietest getoetst of alle onderdelen van de software goed blijven functioneren.
  • Integratie testing – Werken bepaalde onderdelen van de software goed met elkaar?
  • Acceptatie testing – Deze test wordt ook wel een ‘usability test’ genoemd. Door op deze manier software te testen kan men achterhalen of de software voldoet aan alle klanteisen. 

Agile

Acceptatie testing wordt ook binnen de Agile Methode gebruikt. Er wordt dan gebruik gemaakt van User Stories. Dat is geen functionele beschrijving, maar geeft aan wat de klant wil, nodig heeft en waarom hij of zij dit nodig heeft. Een User Story is dus als volgt opgebouwd: Als ……, wil ik ….  zodat ik…..

Een aantal voorbeelden van User Stories zijn:

  • Als zorgverlener, wil ik inzicht in de medicatiehistorie van een patiënt, zodat ik eventuele twijfel kan wegnemen;
  • Als directeur, wil ik inzicht hebben in de gewerkte uren van mijn personeel, zodat ik deze kan vergelijken bij de concurrent.

Bite Solutions
Stappen zetten op het gebied van testing met je bedrijf maar hiervoor niet de juiste mensen kunnen vinden? Stop met zoeken. Bij ons kun je terecht voor testers met de juiste basiskennis en motivatie. Onze young professionals popelen om zichzelf te bewijzen en verder te ontplooien.