Uit een productrisico analyse (PRA) kan naar voren komen dat het beoordelen van de onderhoudbaarheid van de software moet worden meegenomen in de teststrategie.
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.
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?

De 4 soorten onderhoud van software
Meer Lezen

Onderhoudbaarheid software in de teststrategie
Meer Lezen

Aanleidingen voor onderhouden van software
Meer Lezen

De scope van software testen in onderhoud
Meer Lezen