Procesverbetering

Testen heeft in de afgelopen decennia een vaste positie gekregen binnen softwareontwikkeling en de procesverbetering daarvan. Testorganisaties kunnen het zich niet veroorloven om hun testproces niet continu te onderwerpen aan verbetering. Wat op dit moment nog ‘goed genoeg’ is in onze IT-industrie, kan over een aantal jaren als ‘duidelijk onder de maat’ beoordeeld worden. Continue procesverbetering  is nog altijd een vereiste om bij te blijven in een concurrerende markt. TPI® Next is een wereldwijd erkende standaard om de volwassenheid van het testproces in kaart te brengen en deze gefaseerde aanpak wordt door Praegus gedragen.

Testen wordt nog vaak als een onbeheersbaar proces ervaren, waarvoor een aanzienlijke investering noodzakelijk is, zonder dat het nut daadwerkelijk zichtbaar is. Het testen duurt te lang en kost veel meer dan begroot. Verder is er weinig inzicht in de kwaliteit van het testproces en de daaraan gerelateerde kwaliteit van het te testen informatiesysteem.

In deze situatie is het noodzakelijk het testen aan procesverbetering te onderwerpen om te komen tot een beter inzicht in de kwaliteit van het te testen systeem en een betere beheersbaarheid van het testproces.

Gebaseerd op de standaarden TPI Next® en TMM is het mogelijk procesverbetering van het testen gemakkelijker en meer geleidelijk te laten verlopen. Hierbij geldt een referentiekader om de sterke en minder sterke punten van het huidige testproces te identificeren. Op basis hiervan kunnen pragmatische en concrete voorstellen voor de verbetering van dit testproces in termen van doorlooptijd, kosten en kwaliteit worden gerealiseerd.

Gebaseerd op de marktstandaarden TPI Next® en TMM onderkennen we in onze aanpak vijf aandachtsgebieden, namelijk:

  1. Testbeleid;
  2. Teststrategie;
  3. Testplannen;
  4. Testuitvoering;
  5. Overig: Testomgevingen / Testdatamanagement / Testtrainingen.

Testbeleid

Het testbeleid beschrijft hoe een organisatie zich bezighoudt met mensen, middelen en methoden rondom het testproces in verschillende situaties.

Er zijn ruwweg twee wegen om tot een testbeleid te komen: top-down en bottom-up. Bij de bottom-up situatie ontstaat bij de medewerkers die bij de structurering van het testproces zijn betrokken de behoefte aan een ‘kapstok’ voor het borgen van de structurering en procesverbetering. Het besef rijst dat er op hoger niveau in het bedrijf iets moet zijn waaraan de op lager niveau gedefinieerde standaarden en richtlijnen rondom testen kunnen worden getoetst. Dit toetsingskader is het testbeleid.

Bij een top-down aanpak heeft het management op strategisch niveau bepaald wat de eisen zijn die aan processen en producten worden gesteld. Deze vaststelling is gebeurd op basis van de missie en visie van het bedrijf en de strategische doelen die het management daarbij definieert. Aan de hand hiervan kunnen de kwaliteitseisen worden vastgelegd in kwaliteitsbeleid.

Teststrategie

De teststrategie is eveneens een document op organisatieniveau (of programmaniveau). In de teststrategie worden, op basis van een generieke risicoanalyse, de testsoorten die in het algemeen voorkomen in een project geïdentificeerd, gespecificeerd en op elkaar afgestemd. De standaard stelt voor om mede afhankelijk van de complexiteit en risico’s van het product, onderscheid te maken in een unit, integratie-, systeem- en acceptatietest. Voor het bepalen van het risicoprofiel van het product dient een risicoanalyseproces te worden doorlopen.

Het belang van strategiebepaling:

  • Vinden van belangrijke problemen;
  • Zo vroeg mogelijk beginnen;
  • Efficiënt gebruik van resources;
  • Resource intensieve problemen als eerste;
  • Geven accuraat kwaliteitsadvies.

Het streven van de teststrategie betreft het zo vroeg mogelijk vinden van de belangrijkste fouten tegen de minste kosten.

Testplannen

Voor ieder specifiek project wordt een testplan gemaakt. Dit is het communicatiemiddel ten aanzien van de testaanpak, de planning, de randvoorwaarden etc. Er zijn verschillende typen te onderkennen. Bij grote projecten met meerdere testsoorten kan er sprake zijn van een overkoepelend mastertestplan, met daaronder meerdere detailtestplannen. Het detailtestplan oftewel fasetestplan beschrijft de testaanpak en daarmee de samenhangende planning voor de specifieke testsoort, bijvoorbeeld componenttestplan of systeemtestplan, of testvorm zoals een performancetestplan.

De inhoud van de testplannen volgt in principe de blauwdruk zoals beschreven in de teststrategie. Eventuele afwijkingen hierop moeten dan nog worden beschreven. Voor het bepalen van acceptatiecriteria c.q. exit criteria ten aanzien van relevante kwaliteitsattributen biedt bijvoorbeeld ISO9126 een uitgebreid overzicht met allerlei voorbeelden.

Op dit niveau van testplannen ontstaat er structuur in de testaanpak en kan het management ‘in control’ komen op de testtrajecten en vandaaruit gaan sturen op kwaliteit en kosten.

Testuitvoering

In deze fase zal de daadwerkelijke test-procesverbetering vorm moeten krijgen. Wat zijn de beste testgevallen? Hoe kun je zo efficiënt mogelijk testen? Doen we geen testen dubbel? Hoe kunnen de fouten er zo snel mogelijk uithalen?

Om hier antwoord op te geven, is kennis nodig om de teststrategie en aanpak concreet om te zetten in testgevallen. Kennis van testtechnieken en professionaliteit dragen bij aan de inhoud van deze stap. De Test Analist speelt hier een belangrijke rol.

Met deze stap ontstaat er structuur en duidelijke testresultaten. Dit wordt ook zichtbaar in de testrapportages, die niet alleen melden over bevindingen maar ook inzicht geven in het testtraject. Hoe zijn de testen verlopen? Zijn de juiste aspecten getest? Waren er knelpunten in het testproces en waar kan procesverbetering plaatsvinden.

De meer gestructureerde en gedocumenteerde testset maakt het mogelijk om herleidbaar en herhaalbaarheid te vergroten. Kennisoverdracht wordt ook gemakkelijker. De behoefte aan hulp die daarbij nodig is van (dure) key-users kan op termijn daardoor ook afnemen.

Testomgevingen en testdatamanagement

De procesverbeteringen zoals genoemd raken het proces, van strategisch tot operationeel niveau. Daarnaast spelen Testomgevingen en Testdatamanagement ook een grote rol in verbeteringstrajecten.

Het kan voorkomen dat voor verschillende applicaties geen afzonderlijke testomgeving is. In extreme gevallen wordt er zelfs in productie getest. Dit leidt tot onwenselijke situaties en kan zelfs ongewenste risico’s met zich meebrengen.

Idealiter wordt er vaak uitgegaan van een OTAP-straat (Ontwikkel – Test – Acceptatie – Productie). Echter, factoren zoals complexiteit, intensiteit van het testwerk, noodzaak tot ketentesten, gevoeligheid van data, mogelijkheden door de leverancier en risicoprofiel van de betreffende applicaties bepalen de beste aanpak voor de inrichting van testomgevingen.

In nauwe samenwerking met de beheerders en het management moeten keuzes gemaakt worden. Praegus kan hierbij testinhoudelijk adviseren en meedenken over de meest wenselijke oplossing. Daarnaast zijn overwegingen op het gebied van technische (on)mogelijkheden en budgettaire overwegingen mede bepalend voor het eindresultaat.

Het gebruik van testdata is een ander belangrijk aandachtspunt. Vaak komen we tegen dat er met productiedata wordt getest. Specifiek voor onderdelen waar cliëntgegevens onderdeel uitmaken van de testdata brengt dat vanuit het oogpunt van privacywetgeving en imago  risico’s met zich mee.

Desondanks zien we veelal dat organisaties de behoefte hebben om testdata te anonimiseren, juist om deze problematiek te beperken. Er kan sprake zijn van diverse vormen van data-maskering zoals scrambling, shuffling, replacing en blurring. Daarnaast zijn er ook testinhoudelijke argumenten waarom het testen met productiedata juist wel of juist geen goede optie is.

Raadzaam is om te bepalen welke strategie voor welke applicatie het meest geschikt is. Hierbij spelen factoren zoals gevoeligheid, complexiteit en afhankelijkheid in de keten een belangrijk rol. De meer complexe strategieën zullen ook meer tijd en geld kosten. Op het gebied van datamaskering zou tooling een oplossing kunnen bieden, waarbij ook de mogelijkheden voor het genereren van testdata beschouwd kunnen worden. Praegus heeft ervaring met tools die hiervoor geschikt zijn.

Testtrainingen

Tenslotte biedt Praegus de mogelijkheid van testtrainingen en workshops. Met name binnen het traject van professionaliseren en structuren van het testproces is er bij de betrokkenen behoefte aan een theoretische ondergrond of een meer hands-on gerichte leeractiviteit om ervaring op te doen. Op beide gebieden kan Praegus zowel standaard als op maat gemaakte trainingen verzorgen.