Non-functional Testing

De komende Test-Updates gaan over internationale standaarden.  De eerste die we in deze Update bespreken is het ISO-9126 en ISO25000. Beiden gaan over Non-functionele requirements. Waarom ga ik het in de komende Test-Updates hebben over internationale standaarden, omdat ze belangrijk zijn om te kennen en omdat je ze je een makkelijke houvast geven mocht je ooit met vraagstuk zitten.

Nauw gerelateerd aan het testen van Internet of Things apparatuur, is het testen van de zogenaamde non-functionele requirements. Deze requirements zeggen niet wat een systeem moet doen, maar hoe het systeem moet functioneren. Sowieso worden non-functional requirements bij de moderne oplever strategieën steeds belangrijker.

Binnen het domein van de non-functional requirements is er een groep die nooit aan de aandacht ontsnapt en dat zijn de eisen die gemeten worden tijdens de performance, load en stress testen. Deze weten we dan ook al goed hoe we die moeten meten en inzichtelijk moeten maken hoe een systeem performed. Een andere set eisen die we tegenwoordig steeds beter weten te testen, zijn de eisen die gesteld worden aan de security aspecten van een systeem.  Maar er zijn meer non-functionele eisen die gesteld worden aan een systeem behalve deze twee.

 

ISO-9126

Het zal een aantal van jullie wellicht ontgaan zijn, maar ISO 9126 is in 2011 vervangen door de ISOstandaard ISO 250×0. Waar ISO 9126 zich voornamelijk richtte op de non-functionele systeem eisen waar ISO 250×0 zich ook richt op de non-functionele gebruikseisen en de eisen die gesteld worden aan de gegevens.

NFT-01ISO 9126 bestaat uit 4 boeken en wanneer testers over ISO-9126 spreken dan hebben ze het veelal over het tweede boek uit de standaard. Wat de standaard tot zo een geliefde standaard maakt is dat het een relatief eenvoudige kapstok is waar alle non-functionele eisen onder hingen.

 

Non-functionele eisen zijn opgebouwd uit Eisen en indicatoren. De eis is de hoofdeigenschappen waar de indicatoren onder vallen. Zij beschrijven allen wat er gemeten kan worden.  ISO 9126 kent 6 hoofdeigenschappen:

 

  • Betrouwbaarheid – de onderliggende karakteristieken geven een indruk over de betrouwbaarheid van het gekozen platform;
  • Efficiëntie – de onderliggende karakteristieken geven een indruk over hoe het systeem met zijn bronnen omgaat;
  • Overzetbaarheid – de onderliggende karakteristieken geven een indruk over het gemak waar mee het systeem van platform x naar platform y overgezet kan worden;
  • Functionaliteit – de onderliggende karakteristieken geven een indruk over de geschiktheid van het systeem waar het voor bedoeld is;
  • Bruikbaarheid – de onderliggende karakteristieken geven een waardering over het gemak waarmee het systeem gebruikt/ geleerd kan worden door gebruikers;
  • Onderhoudbaarheid – de onderliggende karakteristieken geven een waardering over het gemak waar mee het systeem nu en in de toekomst beheerd kan worden.

 

ISO 250xx

 

Zoals eerder geschreven is de ISO 25000 serie de opvolger van ISO 9126.  ISO 25000 is breder dan alleen softwareproducten het stelt ook eisen aan gegevens en de verwerking van gegevens, maar ook aan de tot stand koming van software. ISO 25010 kan je helpen bij het realiseren van een hoger CMMi level.

ISO 25000 bestaat uit:

Het besturingsmodel (ISO2500n): een beschrijving van de architectuur van het onderliggende (Square) gedachten goed en geeft een beschrijving hoe je het beheerproces in zou moeten richten;

  • Het kwaliteitsmodel (ISO 2501n): een beschrijving van de eigenschappen indicatoren waar een softwareproduct op gewaardeerd kan worden. Hier wordt een onderscheid gemaakt in:
    System en Software Quality Models (ISO25010):
    ISO 25010 beschrijft de kwaliteitseigenschappen voor de niet functionele systeem eisen bij gebruik van het systeem;
    Data Quality Models (ISO 25012):
    ISO25012 beschrijft de kwaliteitseigenschappen van de data voor gebruik door het systeem of door andere systemen en mensen;
  • Het Meet model (ISO2502n): een beschrijving van hoe je de afzonderlijke kwaliteitseigenschappen meetbaar kan maken.
  • Het Eisen model (ISO 2503n): een beschrijving hoe je de kwaliteitseigenschappen kan omzetten naar meetbare eisen.
  • Het Evalueer model (ISO 2504n): een beschrijving hoe je de meetresultaten kunt evalueren.

Voor nu zoomen we in op ISO 25010, omdat dit toch de standaard is waar veel testprofessionals tijdens projecten mee in aanraking komen. In tegenstelling tot ISO 9126 kent ISO 25010 geen 6, maar 8 hoofdeigenschappen:
NFT-02 Functionele geschiktheid: probeert een antwoord op de vraag te geven over hoe geschikt het systeem is om de functies uit te voeren waarvoor deze ontworpen is.;

  • Efficiëntie: probeert een antwoord op de vraag te geven hoe het systeem omgaat mijn bronnen
  • Compatibiliteit: probeert een antwoord op de vraag te geven hoe het systeem omgaat met oudere of nieuwere versies van zichzelf of leverende dan wel afnemende diensten.
  • Bruikbaarheid: probeert een antwoord op de vraag te geven of gebruikers eenvoudig hun taken uit kunnen blijven oefenen met het nieuwe systeem
  • Betrouwbaarheid: probeert een antwoord op de vraag te geven, hoe het systeem onderdruk reageert.
  • Beveiligbaarheid: probeert een antwoord op de vraag te geven, hoe veilig zijn de gegevens in het systeem en hoe veilig is het systeem
  • Onderhoudbaarheid: probeert een antwoord op de vraag te geven, hoe gemakkelijk is het systeem door de beheerders te onderhouden.
  • Overzetbaarheid: probeert een antwoord op de vraag te geven, hoe gemakkelijk kan ik het systeem overzetten van platform x naar platform y.

Ergo ISO 25000 zorgt ervoor dat we meer karakteristieken hebben om te meten als testers, maar dat er nauwelijks meer inidcatoren waarover we kunnen meten bij zijn gekomen, als we alleen kijken naar de aspecten die betrekking hebben op systemen, nemen we de aspecten in ogenschouw die ook betrekking hebben op de data dan zien we een wel degelijk een toename van aspecten waarop we kunnen beoordelen.