Iedere organisatie, bedrijf of instelling dat zich in deze tijd bezighoudt met het ontwikkelen van informatiesystemen onderkent het belang van een volwassen ontwikkel- en testproces, zou je denken. Echter, berichten als 'website ligt eruit', 'hackers slaan hun slag', of 'invoering nieuw systeem weer uitgesteld' zijn aan de orde van de dag en discussies omtrent de toepasbaarheid van gevestigde of innovatieve project-, ontwikkel-, en testmethodieken blijven actueel. Ongeveer vijf jaar geleden constateerde ik een toenemende interesse bij bedrijven en instellingen wereldwijd in het managen, meten en verbeteren van het testproces. Testen werd minder gezien als een noodzakelijk kwaad voor 'go-live', maar juist meer als kritisch onderdeel voor het doorvoeren van potentiële kostenbesparingen binnen projecten. De achterliggende gedachte is dat een hoogkwalitatief testproces zich niet alleen bezighoudt met activiteiten die puur binnen het testen liggen, maar zich juist profileert als kwaliteitsdiscipline die in meer of mindere mate alle projectactiviteiten beïnvloedt ter ondersteuning van een voorspelbaar en hoog kwalitatief systeemontwikkeltraject, van begin tot eind. Projecten worden hierdoor voorspelbaar uitgevoerd en opgeleverd waardoor bedrijven beter en sneller kunnen inspringen op veranderingen in de markt door het toepassen van geavanceerde informatiesystemen. Het resultaat: langdurig concurrentievoordeel.
Het Testing Maturity Model (TMM)
Deze nieuwe kijk op testen vereist uiteraard ook de nodige middelen ter ondersteuning van het meten en verbeteren van het testproces. Het meest voor de hand liggend zijn volwassenheidsmodellen als CMMI (Capability Maturity Model Integrated) of Spice (ISO 15501), maar hier wordt testen slechts marginaal behandeld. Het Testing Maturity Model (TMM), ontwikkeld in 1996 aan het Illinois Institute of Technology, geeft daarentegen een helder beeld van de verschillende testvolwassenheidsniveaus. Deze niveaus komen ook overeen met de volwassenheidsniveaus van CMMI en aanverwante modellen:
– Niveau 1 ('Inital') – het niveau waarop men opereert als testen niet als specifieke discipline wordt gezien.
– Niveau 2 (‘Phase Definition') – testen is een specifieke discipline, maar nog niet volledig geïntegreerd in het systeemontwikkeltraject.
– Niveau 3 (‘Integration') – testen wordt over alle projecten heen uniform gepland, voorbereid en uitgevoerd (ook wel geïndustrialiseerd genoemd) en alle betrokkenen zijn voldoende getraind.
– Niveau 4 (‘Management & Measurement') – een belangrijk verschil met de voorgaande niveaus: doelstelling is juist om minder te testen door het testproces te optimaliseren aan de hand van geavanceerde testmetrieken en evaluatie van alle systeemgerelateerde software en documentatie zoals requirements, technisch/functioneel ontwerp, testplannen, testscripts, etc.
– Niveau 5 (‘Optimization/Defect prevention and Quality Control') – testen is nu volledig geïndustrialiseerd en wordt continu geoptimaliseerd door middel van geavanceerde testautomatiseringstechnieken, oorzaakanalyse (Engels: ‘root cause analysis') van defects, testinnovatie en algehele procesverbetering.
TMM is uitgebreid, heeft een goede (academische) basis, is in lijn met reeds geaccepteerde en toegepaste volwassenheidsmodellen als CMMI, maar kent echter ook tekortkomingen. TMM is gebaseerd op een zogenaamd stagemodel, waar je als organisatie als geheel op slechts één niveau kunt belanden, ook al zijn sommige, meer geavanceerde disciplines al wel aanwezig. TMM helpt ook onvoldoende om specifieke onderdelen van het testproces te verbeteren, zoals performancetesten, teststrategie, testdatamanagement of testbegroting (Engels: ‘test estimation'). Deze tekortkomingen kunnen ertoe hebben bijgedragen dat het TMM geen grootschalige toepassing heeft gekend.
Het Test Assessment Framework (TAF)
Testen moet dus gezien worden als ondersteuning voor langdurig concurrentievoordeel. Maar hoe kun je nu het gehele testproces en tevens specifieke onderdelen daarbinnen meten en verbeteren? Hiervoor is een nieuw en speciaal model ontwikkeld: het 'Test Assessment Framework' (TAF).
TAF combineert de nuttige volwassenheidscriteria van TMM met vijftien specifieke test- en kwaliteitsgebieden welke vanuit drie invalshoeken worden belicht. Het resultaat is een driedimensionaal model dat organisaties in staat stelt zowel de meest uitgebreide als specifieke verbeteringen in het testproces te meten en door te voeren (zie afbeelding):
1e TAF-dimensie: testdomeinen en gebieden
Hoe omschrijf je testen, waaruit bestaat testen? Het is een ware uitdaging om de antwoorden op deze vragen te organiseren en categoriseren tot een beperkte, maar overkoepelende set van testgebieden. Het is aannemelijk dat testen in ieder geval een strategie omvat, een zekere levenscyclus kent en verder bestaat uit een aantal belangrijke en specifieke disciplines die onder de loep moeten worden genomen. Ik heb deze drie hoofdonderdelen van TAF de drie ‘testdomeinen' genoemd: teststrategie, testlevenscyclus en de testdisciplines.
Binnen het domein teststrategie vinden we de volgende drie testgebieden: methodologie, omgeving en tools en organisatie en communicatie. Binnen het domein testlevenscyclus vinden we de volgende drie testgebieden: aanpak en planning, ontwerp en voorbereiding en uitvoering en rapportage. Binnen het domein testdisciplines vinden we de volgende negen testgebieden: performancetesten, begroten, testmetrieken, projectmanagement, defectmanagement en voorkoming, testautomatisering, testdatamanagement, requirementsmanagement en configuratiemanagement.
2e TAF-dimensie: TMM-volwassenheidsniveaus
Hoe meet je nu de testvolwassenheid van een testgebied als performancetesten of testdatamanagement? Zoals eerder aangegeven, TMM geeft nuttige indicaties op organisatieniveau, maar niet zozeer op het niveau van specifieke testdisciplines. Ik heb gekozen voor een pragmatische, maar tegelijk ook unieke oplossing: er is de mogelijkheid tot een assessment die relatief snel kan plaatsvinden en de mogelijkheid tot een langere, meer gedetailleerde assessment. Deze twee oplossingen heb ik de ‘Quick Assessment' en de ‘Full Assessment' genoemd.
De ‘Quick Assessment' omvat in totaal zo'n 130 vragen die door een ervaren assessor moeten worden geëvalueerd en beantwoord. De assessor zal zelf per vraag de volwassenheidsscore bepalen; deze assessment is dus naast snel, ook meer subjectief van aard. De ‘Full Assessment' omvat ongeveer 1300, discrete 'ja/nee'-vragen. Elke vraag is hier zo geformuleerd dat deze voldoet aan het bijbehorende volwassenheidsniveau binnen het betreffende testgebied. De ‘Full Assessment' duurt hierdoor uiteraard langer dan de ‘Quick Assessment', maar is daarentegen zeer uitgebreid en meer objectief van aard.
3e TAF-dimensie: testinvalshoeken
Organisaties worden vaak belicht vanuit drie invalshoeken processen (wat en hoe men het doet), tools/technologie (waarmee men het doet) en de mensen zelf (organisatiestructuur, training, communicatie, etc.).
Wanneer je deze categorieën loslaat op testen, komen herkenbare situaties naar voren als 'testplanning begint te laat in het project' (procesinvalshoek), 'er wordt gestructureerd getest, maar slechts ondersteund met spreadsheets' (technologie-invalshoek) en 'de testorganisatiestructuur is onduidelijk of inefficiënt' (mensinvalshoek).
Door deze drie testinvalshoeken te integreren in de vorige twee TAF-dimensies (de testdomeinen en gebieden en de TMM-volwassenheidsniveaus) is het beeld nu compleet: je krijg een volledige (driedimensionale) indruk van de gehele testorganisatie; welke testgebieden hebben welk TMM-volwassenheidsniveau en vanuit welke testinvalshoek processen, technologie en mensen.
Wereldwijd gebruik van TAF
TAF is niet het enige model dat organisaties in staat stelt testen te verbeteren. Echter, de unieke structuur van de testdomeinen en gebieden, de integratie van de testdomeinen en gebieden met het Testing Maturity Model en de unieke toepassing van de testinvalshoeken hebben ertoe bijgedragen dat het Test Assessment Framework als uitvinding is erkend. Inmiddels is voor TAF wereldwijd octrooi aangevraagd onder de naam 'Software Testing Capability Assessment Framework'. De details omtrent het octrooi zijn gepubliceerd door verschillende octrooibureaus en zijn daardoor toegankelijk voor het gehele publiek via het internet.
Sinds 2007 hebben al duizenden mensen in 49 landen kennis gemaakt met en gebruik gemaakt van het Test Assessment Framework, variërend van de Verenigde Staten, het Verenigd Koninkrijk, Nederland, Frankrijk, Duitsland, etc. maar ook in landen waarnaar veel ict-activiteiten (en dus ook testen) worden geoffshored zoals India, de Filippijnen, China en Brazilië. Wereldwijd zijn vele testassessments uitgevoerd en zijn organisaties geholpen met het verbeteren van het testen naar een volgend testvolwassenheidsniveau, op elk testgebied en elke testinvalshoek.
Volgende artikelen
De doelstelling van dit artikel was om een eerste indruk te geven van de veranderingen die op komst zijn inzake testen; een toenemend besef bij bedrijven en instellingen dat testen juist een onmisbare factor kan zijn in de strijd om langdurig concurrentievoordeel. Deze nieuwe kijk op testen moet worden gemanaged en ondersteund met behulp van nieuwe middelen die horen bij de 21e eeuw. Het unieke Test Assessment Framework stelt organisaties in staat om zowel het gehele testproces als tevens specifieke onderdelen daarbinnen te meten en verbeteren, vanuit elke belangrijke invalshoek in de organisatie: processen, technologie en de mensen zelf.
In de volgende drie artikelen zal ik ingaan op de verschillende testgebieden binnen de testdomeinen: teststrategie, testlevenscyclus en de testdisciplines. In het laatste artikel zal ik ingaan op een onderzoek dat enige tijd geleden is gedaan naar de voordelen van testcentralisatie en de verbetering van testvolwassenheid. In dit onderzoek komen interessante feiten naar voren die onderschrijven dat langdurig concurrentievoordeel voor bedrijven en instellingen daadwerkelijk wordt ondersteund door het verbeteren van testvolwassenheid.