“Een professionele testorganisatie is een verzekeringspolis voor de kwaliteit van softwareapplicaties”, stellen Peter Bas Oosthoek en Marc Hesse. Het altc-concept (application lifecycle test center) zou de implementatie van een steeds beter wordende testorganisatie kunnen garanderen.
Testen is een volwassen it-discipline. Inmiddels is duidelijk dat een professionele testorganisatie een verzekeringspolis is voor de kwaliteit van softwareapplicaties en kosten bespaart. Er zijn nogal wat testmethoden, testverbetermethoden en testtools beschikbaar. Ook zijn een aanzienlijk aantal normeringen gedefinieerd, bijvoorbeeld ISO (International Standards Organization) en cmm (capability maturity model). Er is veel goede literatuur met degelijke analyses over welk testonderwerp dan ook. Er is zoveel; zien we door de bomen het bos nog? In de praktijk blijkt dat veel projecten en testcompetentiecentra worstelen met het maken van de juiste selectie voor het inrichten van de testdiscipline.
Bij de start van projecten en het opzetten van beheer en van een testcompetentiecentrum is er behoefte aan een duidelijke en overzichtelijke aanpak om de testdiscipline in te richten of te professionaliseren. Vanuit deze behoefte is het altc-concept ontwikkeld, met de ambitie om de testdiscipline voor een gehele applicatielevenscyclus neer te zetten.
Voorspelbaar
Een altc is een testorganisatie waarbinnen vereisten, ontwerp, software en procedures op een fabrieksmatige manier worden getest. Gedurende de hele levenscyclus van applicaties wordt vastgesteld of vragende organisaties de juiste vragen stellen en of leverende organisaties de juiste antwoorden geven.
In de projectfase van een applicatie valideert het altc de vereisten en het ontwerp die de vragende organisatie opstelt. Het centrum toetst of de vereisten volledig en duidelijk (testbaar) zijn. De nadruk ligt op de toetsing of en hoe de vereisten zijn opgesteld voor de relevante ISO-kwaliteitsattributen. Na deze toetsing kan de bouw van de applicatie starten. Het altc ondersteunt vervolgens de vragende organisatie bij het opstellen van de testhulpmiddelen die nodig zijn om de applicatie tijdens en na de bouw te testen. Voor de leverende organisatie richt het altc zich op het ondersteunen van een fabrieksmatig (iteratief) software-engineeringproces. Het altc biedt software-engineers ‘best practices’ en middelen om de unit- en systeemtesten gestandaardiseerd en professioneel uit te voeren.
Het resultaat is een voorspelbaarder testproces met minder problemen (fouten) in de software die pas aan het licht komen bij de vragende of beheerorganisatie. In de lijnorganisatie (exploitatiefase) functioneert het altc op een vergelijkbare manier, maar dan gericht op nieuwe versies van de bestaande applicatie.
Gereedschapskist
Een belangrijk onderdeel van het altc is de gereedschapskist. De daarin opgenomen gereedschappen vormen de basis voor de testtrajecten. De structuur van deze gereedschapskist is gebaseerd op de vier bouwstenen ‘organisatie’, ‘mensen’, ‘middelen’ en ‘processen’, die in elk bedrijfsonderdeel ingevuld moeten zijn voor een succesvolle operatie. Per bouwsteen zijn kenmerken te onderscheiden. De kenmerken van ‘organisatie’ zijn: vraag en levering, offshoring en uitbesteding, en acquisitie. Die van ‘mensen’ zijn: training en opleiding, en coachen. Die van ‘middelen’ zijn: infrastructuur en werkplekken, en werkinstructies voor testtooling. Bij ‘processen’ vinden we: testproces, verbetercyclus, kwaliteitsbewaking, en hergebruik van testscripts en dergelijke.
Enkele voorbeelden van de inhoud van de gereedschapskist zijn: een ‘best practice’ voor het uitvoeren van bedrijfsprocesvalidaties (een methode om vroeg in de vereistenfase de impact van een nieuw product of systeem op de bedrijfsprocessen te valideren); trainingen gestructureerd testen; checkout- en checkinprocedures voor het valideren van offshore te bouwen applicaties; een portaal waarmee de elementen uit de gereedschapskist te ontsluiten zijn voor alle testmedewerkers; standaard testwerkplekken, gebaseerd op diverse testtools; ’templates’ voor bijvoorbeeld een master- en een detailtestplan; en ‘best practices’ op basis van uitgevoerde testtrajecten.
De gereedschapskist van een altc bevat een overzichtelijk aanbod van hulpmiddelen die essentieel zijn voor het implementeren en professionaliseren van de testdiscipline. Het selectieprobleem, het door de bomen het bos niet meer zien, is daarmee opgelost.
Zelflerend
Een altc lost niet alleen het selectieprobleem op, maar biedt ook een beproefde en eenvoudige methode om de testdiscipline in te richten en te professionaliseren. Hierbij kan gebruik gemaakt worden van een implementatiemethodiek die vijf stappen omvat: assessment, plan van aanpak, uitvoering daarvan, pilotproject, en verbeteringen naar aanleiding van die pilot.
Een assessment omvat het vaststellen van: de status van de testdiscipline in de betreffende organisatie, het gewenste ambitieniveau en de delta (het verschil; wat moet wijzigen). Op basis van de assessmentresultaten wordt een plan van aanpak opgesteld om de delta initieel te implementeren. Uitvoering van dat plan resulteert in een eerste invulling van de vier bouwstenen waaruit de testdiscipline bestaat. Via een pilotproject wordt in de praktijk bepaald hoe de nieuwe testdiscipline functioneert en welke verdere verbeteringen nodig zijn binnen die discipline op basis van voortschrijdend inzicht. Vervolgens worden die verbeteringen aangebracht.
Hiermee is de testdiscipline initieel geïmplementeerd of geprofessionaliseerd. Na aflevering van de testdiscipline kan bij gebruik in de praktijk het principe van de zelflerende organisatie worden toegepast.
Integraal
Onderdeel van de altc-gereedschapskist is een verbetercyclus om gericht te werken aan het verhogen van de professionaliteit van de testdiscipline. Periodiek, bijvoorbeeld na elk testtraject, evalueert de klantorganisatie zelf wat beter kan en worden deze verbeteringen aangebracht. Daarnaast wordt bepaald wat het juiste moment is om de stap te maken naar een hoger niveau van professionaliteit (zie figuur).
Een altc biedt dus: een integrale visie op de positie van de testorganisatie in de vragende en leverende organisatie; een testorganisatie voor de gehele levenscyclus van een applicatie, waarin synergie tussen de verschillende fasen van de levenscyclus is gewaarborgd; een beproefde aanpak voor implementatie en professionalisering met gebalanceerde aandacht voor de elementen organisatie, processen, mensen en middelen; inzet van ‘best practices’ en marktstandaarden op alle gebieden van de testdiscipline; en een zelflerende testorganisatie waarbinnen intentionele groei en kwaliteitsverbetering van het testproces impliciet aanwezig is.
Met een altc zie je door de bomen het (test)bos weer. Het lost het selectieprobleem bij het implementeren of professionaliseren van de testdiscipline op heldere wijze op. Het is eenvoudig te implementeren binnen elke organisatie met het ambitieniveau waar die organisatie aan toe is. Het resultaat is een zich verbeterende testorganisatie die zowel de vragende als de leverende organisatie professioneel van dienst kan zijn gedurende de gehele levenscyclus van een applicatie.
Peter Bas Oosthoek, test competence manager Atos Origin Nederland, Marc Hesse, senior testconsultant Atos Origin Nederland