Wat is software testen?

Testen is een activiteit die bestaat uit meten en vergelijken, met als doel het verschil tussen de gewenste en de feitelijke situatie vast te stellen. Voor software wordt testen uitgevoerd om vast te stellen ‘dat de software goed is’, of ‘dat er geen fouten inzitten’. Maar ook ‘of de software te gebruiken is’ en ‘dat het snel genoeg werkt’ of ‘veilig genoeg is’.

Software testen heeft een groot aantal verschijningsvormen en kan zowel gecombineerd met een maak-verander activiteit worden uitgevoerd, of als losstaande activiteit.

Testen is niet voorbehouden aan gespecialiseerde software testers, maar wordt ook door ontwikkelaars, beheerders en eindgebruikers uitgevoerd. Elk van hen heeft eigen specifieke aandachtsgebieden, zoals ‘werkt de code die ik zojuist heb gecompileerd’, ‘werkt de applicatie die wij zojuist hebben gebouwd’ en ‘helpt die nieuwe software mij om mijn werk als arts beter uit te voeren’.

Traditioneel worden software testen op meerdere niveau’s georganiseerd en uitgevoerd: door opdrachtgevers/afnemers, door de projectorganisatie die voor de realisatie of het beheer zorgdraagt en door de makers/leverancier van de softwareoplossing. Veelal worden deze testen ‘testniveau’s’ of ‘testsoorten’ genoemd. Er zijn verschillende redenen voor, waarom deze testen los van elkaar, of zelfs onafhankelijk worden georganiseerd, zoals:

  • de expertisegebieden benodigd voor bepaalde testen en beschikbaar bij opdrachtgever, projectorganisatie of leverancier verschillen dusdanig, dat een test op het verkeerde niveau niet effectief is;
  • verschillende gezichtspunten tussen ‘dit werkt goed’ en ‘dit is wat ik nodig heb’;
  • parallelle voorbereiding maakt efficiënter werken mogelijk.

Een willekeurige applicatie kan binnen de testsoorten door verschillende ‘testbrillen’ worden bekeken: er kan bijvoorbeeld gelet worden op de snelheid waarmee de data wordt getoond, of de aanwezigheid van de afgesproken knoppen en functies. Dit heten de kwaliteitseigenschappen van een softwareproduct of computersysteem en zijn benoemd in de kwaliteitsstandaarden ISO 25010, ISO 25012 en ISO 12207. Omdat het meestal niet nodig is om alle kwaliteitskenmerken van een applicatie in iedere testsoort steeds opnieuw te bekijken wordt aan het begin van iedere testproject een keuze gemaakt in welke testsoort de verschillende kwaliteitseigenschappen worden bekeken. We noemen dit ‘testvormen’.

De verschillende kwaliteitseigenschappen hebben alle hun eigen manier van testen. Deze testen vereisen vaak specifieke kennis of ervaring, die veelal op verschillende momenten bij verschillende mensen beschikbaar is.