Testprocesverbetering loont

Weloverwogen teststrategie ontbreekt vaak

Testen staat bij veel organisaties in de belangstelling. Het verbeteren van het testproces is iets wat veel organisaties weliswaar willen, maar nog niet echt aanpakken. Er is sprake van de nodige drempelvrees: hoe moet je dat testen nou verbeteren, en vooral: wat levert het uiteindelijk op? In dit artikel wordt aan de hand van de ervaringen van een groot aantal organisaties een beeld geschetst van het 'gemiddelde testproces' en van de gemiddelde verbeterresultaten.

Systemen en ketens van systemen worden steeds complexer. De dienstverlening via internet groeit snel. Al meer dan een miljoen Nederlanders telebankieren. Energievoorschotten kunnen on-line worden aangepast. Daarnaast bevatten consumentenproducten steeds meer embedded software. Fouten in dergelijke (vaak bedrijfskritische) systemen leiden tot hoge herstelkosten, imagoschade of omzetverlies. Om die reden vergt testen een steeds groter deel van de totale ontwikkelinspanning. Op dit moment wordt tussen de 30 procent en 50 procent van projectbudgetten besteed aan testen en trends als offshoring en het gebruik van pakketsoftware hebben tot gevolg dat dit percentage alleen maar zal groeien. Beheersing en reductie van de kosten van ontwikkeling en beheer staan in veel organisaties echter hoog op de agenda. Omdat testen een steeds groter aandeel van het vaak toch al forse it-budget opeist, krijgt testen terecht aandacht van het topmanagement. Steeds méér testen is daarmee geen optie. De oplossing waarnaar gestreefd moet worden is béter testen.

Kwaliteit omhoog, kosten omlaag!

Dat lijkt een tegenstrijdig streven. Toch slagen veel bedrijven erin met gerichte verbeteringen in het testproces het aantal fouten in productie aanzienlijk terug te dringen en de totale ontwikkelingskosten te reduceren. Dit komt door de preventieve werking van testen. Een goede analyse van door testen gevonden gebreken vormt vaak een basis voor de verbetering van het ontwerp-, ontwikkel- en beheerproces, waardoor het aantal in die processen gemaakte fouten afneemt. Dat leidt vervolgens weer tot een verkorting van de herstel/hertest-cyclus en daarmee tot vermindering van de testinspanning. Ook stelt vroegtijdige informatie vanuit het testen een projectmanager in staat om het project veel scherper te sturen op tijd, geld en kwaliteit en uitloop te voorkomen. Het moge duidelijk zijn dat dit grote kostenbesparingen met zich meebrengt. Verbetering van het testen blijkt om die redenen vaak een investering met een dubbele opbrengst.

De benchmark

Eind 2004 is een enquête uitgevoerd naar de testvolwassenheid en testprocesverbeteringsdoelen en -resultaten binnen de Nederlandse en internationale testgemeenschap. De resultaten van 110 organisaties uit verschillende landen zijn vergeleken en geanalyseerd. Om de resultaten goed te kunnen vergelijken is het internationaal bekende TPI-model gehanteerd. Dit model biedt een referentiekader om de verschillende aspecten van testprocessen te onderkennen, hun volwassenheid te kunnen vergelijken en vervolgens te verbeteren.
Een belangrijke conclusie is dat vooral de onvoorspelbaarheid van het testproces de grootste uitdaging vormt. De meest genoemde reden (31 procent) voor testprocesverbetering is namelijk het beter willen beheersen van het testproces. Daarna worden als redenen gegeven het verbeteren van de softwarekwaliteit (23 procent) en het verkorten van de doorlooptijd van testen (22 procent). Opmerkelijk is dat efficiencyverbetering pas als vierde reden wordt genoemd (12 procent).

Een gestructureerd testproces

In de meeste bedrijven (66 procent) wordt testen (systeem- en acceptatietest) als aparte activiteit onderkend. Testen wordt gefaseerd uitgevoerd (63 procent), startend met een testplan, een voorbereiding van de tests en vervolgens de uitvoering ervan. Het testen vindt overwegend plaats in een eigen en beheerste testomgeving (61 procent) en de noodzaak van het gebruik van (test)tools wordt inmiddels goed onderkend (63 procent). Het vastleggen en bewaken van bevindingen in een eigen administratie wordt door het overgrote merendeel als een must gezien (86 procent).

Maar nog steeds te laat.......

Nog weinig organisaties (21 procent) zijn voldoende doordrongen van de winst die behaald kan worden als testen al in een vroeg stadium voldoende aandacht krijgt, bijvoorbeeld door in het projectoverleg over zaken als opleverdata, defectmanagement en de verwachte impact van wijzigingsvoorstellen mee te praten. Hoewel het gelukkig weinig meer voorkomt (27 procent) dat testen pas wordt ingeschakeld ná het opleveren van de software door de ontwikkelaars, is een vroegere betrokkenheid van testen bij het ontwikkelingsproces in veel gevallen gewenst: in slechts 13 procent van de gevallen wordt testen betrokken vanaf het opstellen van requirements.
Rapporteren over de testresultaten gebeurt wel op projectniveau, maar bestaat vaak alleen uit een opsomming van gedane bevindingen (67 procent). Wat nog te vaak ontbreekt is inzicht in de voortgang van het testen en een onderbouwd advies ten aanzien van kwaliteit en risico's van het te testen product op dat moment. Metrics over het testen (aantal en aard van bevindingen, testdekking- en diepgang, testinspanning ten opzichte van omvang systeem) worden vrijwel niet bijgehouden. Nog niet een derde deel van de bedrijven gaf aan daaraan serieus invulling te geven en deze metrics aan te wenden voor verbetering van zowel ontwikkelings- als testproces.

De kunst van het kiezen

Testen wordt soms wel omschreven als de kunst van het kiezen. Alles volledig testen is zowel theoretisch als praktisch onmogelijk. Er moeten dus keuzes worden gemaakt: wat wel of niet testen en indien wel, hoe licht of hoe zwaar (teststrategie). Deze keuzes hangen af van de risico's die het te testen product oplevert voor de bedrijfsvoering bij onjuist functioneren. Wordt bijvoorbeeld de performance van een nieuw ontwikkelde webapplicatie als een groot risico gezien, dan verdient dit aspect vermoedelijk een grondige test. De complexe berekeningsmodule van een salarissysteem levert vermoedelijk een groter risico op dan de invoerschermen van dat systeem en moet daarom grondiger getest. Maar hoe bewerkstellig je nu dat je iets lichter of zwaarder test? Uitgangspunt voor die schaalbaarheid is het hanteren van een teststrategie, gebaseerd op de risico's die worden gelopen door een onjuist functionerend systeem en de kennis van de 'zwakke plekken' van dat systeem. Het vervolgens kiezen voor bepaalde testspecificatietechnieken maakt dekking en diepgang van de test schaalbaar. Testspecificatietechnieken schrijven voor op welke manier je testgevallen afleidt uit requirements, functionele specificaties of procesbeschrijvingen. Er is een groot aantal technieken beschikbaar, zowel lichte als zware. Dit maakt het kiezen voor een lichte test (hanteren van een checklist of van één lichte techniek) of een zware test (hanteren van één of meer zwaardere technieken) een stuk makkelijker. Klinkt voor de hand liggend en dat is het ook! Daarom is het des te vreemder dat het juist hier in de praktijk aan schort. In 50 procent van de gevallen wordt er niet op een onderbouwde manier, op basis van risico's, een teststrategie gedefinieerd. In slechts 56 procent van de gevallen worden (eenvoudige) testspecificatietechnieken gehanteerd. Dit rechtvaardigt de stelling dat "testers niet kunnen kiezen". Overigens is dit niet per definitie de schuld van de testers, maar kan dit ook liggen aan bijvoorbeeld onvoldoende medewerking van andere partijen, zoals de opdrachtgever. Nog opvallender wordt het wanneer we kijken naar de focus van de verbeterinspanningen. Hierbij is er juist bovenmatig veel aandacht voor strategie en specificatietechnieken: men is zich dus wel degelijk bewust van het grote belang om dit goed in te richten, maar blijkbaar ontbreekt de kennis, de tijd of de middelen om dit in de praktijk te brengen.

Gedegen aanpak

68 procent van de organisaties die onderzoek hebben verricht naar verbetermogelijkheden, kiezen ook daadwerkelijk voor het doorvoeren van die verbeteringen en nemen dat over het algemeen zeer serieus. In bijna de helft van de gevallen (48 procent) wordt er een specifiek verbeterproject ingericht, dat in de meeste gevallen (tachtig procent van de projecten) een eigen budget krijgt toegewezen. De gemiddelde tijd die uitgetrokken wordt om de verbeteringen te realiseren ligt op ongeveer zes maanden. Kortom, testprocesverbetering is meer dan even een tool aanschaffen en de knop omzetten.

En wat levert 't op?

De hamvraag. Procesverbetering kan immers nooit een doel op zich zijn. In de huidige economische omstandigheden wordt een investering pas gedaan als er een aantoonbaar rendement is. Het onderzoek wijst uit dat het rendement van testprocesverbetering niet onaanzienlijk is. 61 procent van de verbeterprojecten resulteerde in een (veel) betere softwarekwaliteit, 79 procent in een (veel) hogere testdekking en 83 procent in een (veel) beter beheersbaar testproces. Minder indrukwekkend, maar niet te verwaarlozen (29 procent), waren de resultaten in verkorting van de testdoorlooptijd.
Hoewel hogere dekking kan leiden tot een grotere testinspanning en langere doorlooptijden, wordt dit in veel gevallen gecompenseerd doordat een betere beheersing de projectuitloop vaak minimaliseert... Testen duurt dan weliswaar langer, maar zit korter op het kritieke pad van het project!

Testkosten omhoog, totale kwaliteitskosten omlaag

Maar reduceren we nu de testkosten? Nee. 26 procent van de bedrijven geeft aan dat testen zelfs duurder wordt, terwijl maar 15 procent aangeeft een kostenbesparing te hebben bereikt. Toch zien 77 procent van de bedrijven de investering in testprocesverbetering als een (zeer) rendabele investering. Zoals hiervoor al gemeld, nam de softwarekwaliteit aanzienlijk toe. Dat betekent dat de (imago)schade en kosten van verstoringen in productie aanzienlijk lager zijn. Een betere beheersing van het testproces resulteert in minder uitloop van projecten, waardoor de time-to-market van nieuwe producten en diensten wordt bekort. De voordelen hiervan zijn vanzelfsprekend per sector verschillend, maar vaak aanzienlijk. Hiermee wordt nogmaals bevestigd dat het rendement van testprocesverbetering niet alleen mag worden gezocht in het terugdringen van de testkosten op zich. Deze conclusies worden onderschreven doordat bij 62 procent van de bedrijven ook het businessmanagement aangaf nadrukkelijk het positieve effect van testprocesverbetering te zien. Slechts 3 procent van de belanghebbenden zag het als een regelrechte desinvestering.

Kunnen we 't niet meten of willen we 't niet weten?

Velen zijn op zoek naar harde cijfers die het succes van het verbeterproces staven. Maar in de it-industrie gaat nog steeds het gezegde op: "Iedereen wil weten, niemand wil meten". Slechts 17 procent van de bedrijven gaf aan dat de verbeterresultaten door metingen konden worden aangetoond. Deels is dit natuurlijk te verklaren doordat resultaten niet alleen binnen het testproces kunnen worden vastgesteld, maar ook moeten blijken uit lagere herstelinspanningen in productie en meeropbrengsten door kortere time-to-market. En die 'opbrengsten' zijn vaak moeilijk te achterhalen en worden niet of nauwelijks vastgelegd. Het goede nieuws is dat naast de 17 procent van de bedrijven die met concrete cijfers de verbetering konden aantonen, bij 42 procent van de bedrijven de resultaten aantoonbaar en duidelijk waren. Bij nog eens 30 procent werden de resultaten subjectief, op onderbuikgevoel, beoordeeld.

Succes- en faalfactoren

Gevraagd naar de belangrijkste succesfactoren geven veel bedrijven aan dat commitment van management (23 procent) en de betrokkenheid van mensen 'op de testwerkvloer' (23 procent) essentieel zijn voor het welslagen van de verbeteractiviteiten. Als grootste bedreiging van dat welslagen worden door veel bedrijven onrealistische (te hoge en verkeerde) verwachtingen genoemd. Hogere softwarekwaliteit tegen dezelfde kosten valt bij een naar kostenreductie strevende CFO niet goed, terwijl aanzienlijk lagere testkosten, maar tegen lagere softwarekwaliteit bij het business management in het verkeerde keelgat zal schieten. Het is dus zaak balans aan te brengen in de te bereiken resultaten en die met alle 'stakeholders' af te stemmen.

Ten slotte

Het beeld van de stand van zaken bij een groot aantal organisaties is helder. De structuur van het gemiddelde testproces is redelijk op orde, maar de betrokkenheid van testen in het ontwikkelingstraject dient naar voren te worden gehaald en te worden versterkt. Daarnaast schort het vaak aan een weloverwogen teststrategie, die essentieel is voor het maken van keuzes in de dekking en diepgang van het testen en direct daarmee samenhangend de te maken testkosten. Kortom: men is de 'kunst van het kiezen' nog niet altijd machtig. Dat het verbeteren van het testproces tot aansprekende resultaten leidt, zoals beter testen in dezelfde of kortere tijdsduur, met een goed rendement op de investering, wordt door de meeste organisaties onderschreven. Voldoende aanleiding dus om testprocesverbetering hoog op de agenda van het it- en businessmanagement te plaatsen.< BR>
 
Wim van Uden, Tim Koomen, Sogeti Nederland B.V. (respectievelijk directeur Sales & Marketing en manager Business Development voor de divisie

x

Om te kunnen beoordelen moet u ingelogd zijn:

Dit artikel delen:

Lees verder


Stuur dit artikel door

Uw naam ontbreekt
Uw e-mailadres ontbreekt
De naam van de ontvanger ontbreekt
Het e-mailadres van de ontvanger ontbreekt

×
×
article 2005-03-11T00:00:00.000Z Wim van (e.a.) Uden
Wilt u dagelijks op de hoogte worden gehouden van het laatste ict-nieuws, achtergronden en opinie?
Abonneer uzelf op onze gratis nieuwsbrief.