Beoordelen onderhoudbaarheid van software

Uit een productrisico analyse (PRA) kan naar voren komen dat het beoordelen van de onderhoudbaarheid van de software moet worden meegenomen in de teststrategie. Onderhoud software

Als opsteller van de teststrategie moet je dan gaan bepalen in welke testsoort en op welke wijze de onderhoudbaarheid beoordeelt moet gaan worden.

Om dit te kunnen, is het eerst nodig het begrip onderhoudbaarheid te definiëren. Een norm voor de beoordeling van software is de ISO 25010-norm voor softwarekwaliteit. Deze norm fungeert vooral als begrippenkader: het legt uit welke aspecten de kwaliteit van software bepalen en uit welke deelaspecten die op hun beurt weer bestaan.

Een onderdeel van ISO 25010 is het aspect onderhoudbaarheid, dat bestaat uit de deelaspecten Modulariteit, Herbruikbaarheid, Analyseerbaarheid, Wijzigbaarheid en Testbaarheid.

Ontwikkelhulpmiddelen bieden vaak de mogelijkheid om via een aantal metrieken de onderhoudbaarheid van de broncode te bepalen. Voorbeelden van metrieken zijn: het volume van de broncode en het aantal testprocedures in de broncode. De hulpmiddelen beperken zich meestal tot één specifieke programmeertaal, bijvoorbeeld C++ of Java.

De vraag is dan ook op welke manier de onderhoudbaarheid, onafhankelijk van de gebruikte programmeertaal, gemeten kan worden. Dus op basis van een uniforme set metrieken.

De oplossing van IfSQ

IfSQ (Institute for Software Quality) is in 2005 opgericht door een groep professionals die betrokken zijn bij het ontwikkelen en beheren van software.  IfSQ

Het Instituut heeft bestaand onderzoek naar softwarekwaliteit uitgebreid geanalyseerd en gekwantificeerd. Op basis van die analyse hebben ze een aantal defect indicatoren opgesteld. Deze defect indicatoren zijn programmeertaal onafhankelijk.

Een zogenaamd “Defect” is een fout of gebrek in de source code waardoor de software slecht kan functioneren. Bij een beoordeling van de source code wordt er gezocht naar defect indicatoren: dit zijn patronen die geassocieerd zijn met storingen, onbetrouwbaarheid en hoge onderhoudskosten.

De gebruikte defect indicatoren zijn door IfSQ als volgt gerubriceerd

  • Work In Progress (WIP):
    Er zijn duidelijke aanwijzingen dat het programma nog niet is afgerond.
  • Structured Programming (SP):
    Er zijn duidelijke aanwijzingen dat een deel of delen van het programma te complex is.
  • Single Point of Maintenance (SPM):
    Waarden zijn hard gecodeerd in het programma, of delen van de code komt op verschillende plaatsen voor (gedupliceerd)
  • Defensive Programming (DP):
    Er zijn aanwijzingen dat het programma zich niet beschermt tegen inconsistente gegevens of fouten van subsysteem.
  • Causes for Concern (CfCs):
    Er is twijfel over de volledigheid, juistheid en / of onderhoudbaarheid van het programma

De IfSQ standaard is onderverdeeld in 3 niveaus

  • IfSQ Level-1: Entry-Level
    Level-1 definieert de meest voor de hand liggende en meest voorkomende defect indicatoren die algemeen erkend worden door software experts als slechte praktijk.
    De defect indicatoren in Level-1 zijn voldoende duidelijk en gemakkelijk te identificeren dat iedereen, ongeacht de programmeerervaring, een Level-1-beoordeling kan uitvoeren.
  • IfSQ Level-2: Foundation-Level
    Level-2 bevat een aantal extra defect indicatoren. Voor het kunnen beoordelen van deze defect indicatoren is programmeer kennis en ervaring nodig.
  • IfSQ Level-3: Industry Best Practice
    Level-3 bevat een uitgebreide en actuele set defect indicatoren, inclusief die van Level-1 en Level-2. Deze indicatoren zijn opgenomen in een uitgebreide checklist voor code walkthroughs of code inspecties.

Een verdere uitleg over deze defect indicatoren en detaillering kun je vinden in de door IfSQ uitgegeven e-books voor Level-1 en Level-2. Je kunt ze hier downloaden.

Op basis van deze handreikingen is het mogelijk geworden het beoordelen van de onderhoudbaarheid mee te nemen bij het opstellen van de teststrategie.

Hoe je dat kunt doen kun je lezen in: onderhoudbaarheid opnemen in teststrategie

A

Ook interessant?

Soorten onderhoud van software

De 4 soorten onderhoud van software

Onderhoud is het wijzigen of aanvullen van een bestaand informatiesysteem en kan ad-hoc of planmatig worden uitgevoerd. Ad-hoc onderhoud vindt ...
Meer Lezen
beoordeling

Onderhoudbaarheid software in de teststrategie

In dit artikel gaan we in op de wijze waarop het beoordelen van de onderhoudbaarheid van software kan worden opgenomen ...
Meer Lezen
Time for a change

Aanleidingen voor onderhouden van software

Het is onvermijdelijk dat er in de loop van de tijd veranderingen noodzakelijk zijn in bestaande informatiesystemen. Requirements kunnen tijdens ...
Meer Lezen
De scope van testen in onderhouden

De scope van software testen in onderhoud

Wanneer software is aangepast moet er vastgesteld worden wat er getest moet worden en met welke diepgang. Er zijn verschillende ...
Meer Lezen
Blijf op de hoogte van onze nieuwste ontwikkelingen, schrijf je hier in voor de nieuwsbrief!