Værdi Baseret Test

En innovativ og utraditionel testmetode

Værdi Baseret Test er et testkoncept, hvor man fokuserer på at skabe værdi for forretningen frem for at finde fejl i it-systemerne.Og det er ikke nok kun at teste it-systemerne. De omliggende processer og den forretningsmæssige værdi  skal også testes.

Her er en velkendt historie... For et stykke tid siden fik du en rigtig god idé, der ville bringe din virksomhed langt foran dine nærmeste konkurrenter. Du undersøgte alle mulig- heder, forberedte en Business Case, planlage alle aktiviteter, opsatte leverancedatoer, fik ledelsens godkendelse til at forsætte.

Men nu er projektet langt efter tidsplanen fordi udviklingen tog længere end forventet, og for at gøre tingene værre, viser testen alle mulige problemer, der kræver, at en masse arbejde skal laves om. Projektets omkostninger stiger og stiger, men hvad værre er, forsinkelsen ser ud til at underminere hele din Business Case.... og de forretningsfordele, som du forudså systemet ville give, virker meget langt fra at blive indfriet. 

Du ved at test er nødvendig, men hvorfor skal den altid komme i vejen? Hvorfor skal hele testprocessen være gennemført, før nogen kan begynde at bruge systemet? 

Og så pludselig ud af ingenting lancerer konkurrenten en helt ny service, der godt nok kun kan to tredjedele af, hvad din service en gang kommer til at kunne, men konkurrenten kaperer store markedsandele .... og din virksomheds aktiekurser styrtdykker.....

Nick Oppenhejm fra nsero beskriver i det følgende en helt ny tilgang til software testning, som vil revolutionere de fleste virksomheders evne til at idriftsætte nye IT-systemer, på en måde der leveres forretningsfordele væsentligt hurtige end hidtil og med væsentlig mindre risiko.

Hvad er der galt med den traditionelle måde at teste på?

I dagens yderst konkurrenceprægede marked er det vigtigt, at virksomheder ikke taber markedsandele til konkurrenterne ved at lancere upålidelige og fejlbehæftede IT-systemer og services. For de fleste virksomheders vedkommende betyder dette at nye IT-systemer gennemgår et formelt og struktureret testforløb op imod en detaljeret teknisk kravspecifikation - før det frigives til forretningen.

Denne tilgang til test, på trods af at den er bredt accepteret, har flere ulemper. I takt med at nye systemudviklingsmetoder (som fx agil systemudvikling) er blevet mere fremherskende, bliver disse ulemper endnu mere synlige. Testmetoderne er ikke fulgt med tiden og er ofte utilstrækkelige til at teste nutidens software. Traditionelle testprocesser har spillet fallit i forhold til:

Et stigende pres på forretningens konkurrenceevne, hvilket betyder, at der stilles krav om den kortest mulige tid mellem, at forretningen har erkendt behovet, til IT-systemet er leveret. Traditionelle testmetoder er systemorienterede snarere end forretningsorienterede, og er i følge deres natur meget langsomme til at levere nogen form for forretningsfordele. I virkeligheden viser de ingen direkte fordele - de øger bare sikkerheden for at funktionaliteten overholder kravspecifikationen.
Kunder der kræver synlige forretningsfordele fra nye IT-systemer, før de er parate til at acceptere ændringer. Traditionelle testmetoder fokuserer på fejlene i de testede IT-systemer, snarere end at måle de forretningsfordele IT-systemerne giver.
En øget kompleksitet og distribution indenfor moderne systemarkitektur, bestående at multi-tier, multi-platform, multi-system løsninger, der er dagens standard. Traditionelle testmetoder besidder ikke den fleksibilitet, der skal til for at implementere disse løsninger hurtigt og effektivt.

Udfordringen ligger i at opdatere og forbedre testprocesserne til at kunne vise og levere afgørende forretningsfordele på den kortest mulige tid. Men hvordan kan dette mål så realiseres?

Et svar kunne være - en anderledes tilgang til softwaretest og systemintegration - som nsero har udviklet. Denne nye tilgang målretter testen mod at opnå det slutprodukt, der i virkeligheden er brug for - nemlig forretningsfordele .... og metoden gør det muligt at levere fordelene hurtigere end traditionelle testmetoder. Denne tilgang til test hedder Værdi Baseret Test.

Traditionelt starter testen ud fra den forudsætning, at produktet er perfekt (fordi der endnu ikke er fundet problemer). Den forsætter med at lede efter fejl og drives af et krav om at finde flere fejl (derfor talemåden "En god test er en test der afslører fejl"). Testen forsætter, indtil man har en formodning om, at der kun er et acceptabelt og begrænset antal fejl tilbage i produktet.

Værdi Baseret Test arbejder ud fra den forudsætning, at et produkt er værdiløst - da det endnu ikke har vist, at det besidder nogen form for værdi. Testen forsætter med at påvise mere og mere af den værdi som produktet giver forretningen, indtil et punkt hvor summen af alle de viste fordele overgår summen af alle kendte fejl, risici og ubekendte. På dette tidspunkt i testen, kaldes systemet det Tidligst Acceptable System (TAS). TAS måles forskelligt fra projekt til projekt - afhængigt af forretningens behov og krav. Et IT-system skal fx understøtte 90% af virksomhedens kunder, før det betragtes som et acceptabelt IT-system, mens et andet IT-system betragtes som en succes, hvis det understøtter nogle få, men meget vigtige forretningsprocesser. Nogle udviklingsprojekter er begrænset af en fastsat dato som fx Scrum, hvor systemet skal være "live" , her er TAS simpelthen den implementering, som giver den størst mulige værdi på den pågældende dato.

Målet, med at give forretningsværdi på et så tidligt tidspunkt som overhovedet mulige, opnår Værdi Baseret Test ved en anderledes tilgang til de tre hovedområder inden for softwaretest:

  • Planlægning
  • Teamwork
  • Teknik

Planlægning er nøglen til succes for denne metode

Værdi Baseret Test anser ikke planlægning som en engangsaktivitet, der kun skal gennemføres først i testfasen, men en aktivitet der løbende udføres gennem hele projekt- og testforløbet. Følgende områder er indeholdt i Værdi Baseret Test-konceptet:

Genkende og prioritere den testede forretningsfunktionalitet. Målet er at levere så meget forretningsværdi så muligt - evaluering af de opnåelige forretningsfordele skal gennemføres i testens opstartsfase og løbende styres og revideres gennem hele testforløbet.
Høj grad af fleksibilitet. Betyder at fx planer skal være udformet på en sådan måde, at de er lette at ændre, så de hele tiden afspejler ændringerne i det omgivende miljø. En vigtig fremgangsmåde er taktisk planlægning gennem hele testforløbet, hvor man sikrer sig at testen hele tiden leverer størst mulig forretningsværdi.
Proaktiv og positiv holdning til problemer. Forvent at der opstår problemer bl.a. med manglende funktionalitet og infrastruktur. Testplaner er traditionelt baseret på en streng antagelse om; at systemer leveret til test har et vist kvalitetsniveau - Værdi Baseret Test's tilgang til planlægning medfører at der altid er alternative planer. Dette betyder, at problemer opfattes som en mulighed for at teste andre dele af systemet, i stedet for en begrænsning som stopper hele testprocessen.
Se på funktionaliteten i klumper. For at sikre at en leverance giver størst mulige forretningsværdi, skal den bestå af "klumper", indeholdende sammenhængende og nært beslægtet forretningsfunktionalitet , snare end en lind strøm af moduler, som set ud fra et teknisk perspektiv, hænger sammen. Ved at tænke på denne måde sikres det ikke alene, at den leverede funktionalitet virkelig er værdiskabende, men reducerer også mistanken om at testen er med til at begrænse omfanget af leverancen.
Hold hele tiden fokus på at systemet skal levere størst mulig forretningsværdi på den kortest mulige tid.

Nedenstående figur viser hvordan, man ved at følge en forretningsfokuseret testplanlægning, kan sikre at TAS opnåes hurtigst muligt, eller at man opnår fleste mulige forretningsfordele på en given fast leverancedato. Ved at have indsigt i hvilke dele og områder af IT-systemet, som giver de største forretningsfordele, kan testen tilrettelægges, så disse dele og områder behandles først i testforløbet. Mindre vigtige dele og områder, hvor der evt. er manuelle "work arounds", kan testes senere.

vbt

Test-teamets kvalitet og erfaring må ikke undervurderes

Nøglespillerne på testholdet skal:

Have et indgående kendskab til det forretningsområde, som de er med til at teste, samt have stor forståelse for hvilke forretningsfordele og risici, der er forbundet med det testede it-systemet.
Have en analytisk tankegang med fokus på problemløsning, der gør dem i stand til at finde og diagnostisere fejlsituationer, samtidig med at de skal være i stand til at foreslå alternative veje frem, hvis tingene går galt.
Have veludviklede interpersonelle færdigheder, så de kan samarbejde med de andre projektdeltagere og øvrige medarbejdere - både med en forretnings- og teknisk baggrund.
Være dynamiske og motiverede, så de ikke taber modet og mister moralen, hvis tingene går galt, men snarere ser muligheder i problemerne.
Gives dedikeret administrativ support, så de kan koncentrere sig om at bruge deres testkompetencer i testarbejdet, frem for at skrive testrapporter.
Være teknisk kompetente og være hurtige til at tilpasse sig ny teknologi.

Mange testværktøjer og tekniker bruges til at facilitere processen

Værktøjer og tekniker som bruges i testen omfatter:

Fokuseret letvægtsdokumentationen. Traditionel test er ofte karakteriseret ved store mængder af dokumentation i form af testscripts, testscenarier, testplaner, resultatlister, fejlrapporter, testdata osv. Værdi Baseret Test erkender at noget af denne dokumentation er berettiget, men sigter mod at lette testernes arbejde ved at fokusere på enkel og målrettet dokumentation, brug af automatiseret resultatgenerering og automatiseret regressionstest skal sikre testerne den nødvendige sikkerhed for kvaliteten.
Værktøjer til automatiseret test. Standard testværktøjer kan bruges til at automatisere store dele af testen, disse værktøjer er især velegnede til gennemførelse af regressionstest. Når først et vist niveau af forretningsfordele er nået, kan automatiserede regressionstest vise, at dette niveau som minimum også er tilstede i fremtidige releases.
Daglige status møder. Det er vigtigt at sikre en effektiv kommunikation i testteamet. Dette gøres gennem daglige møder af 5 - 10 minutters varighed, hvor man bl.a. gennemgår næste dags test, generel fremdrift, allokering af fælles ressourcer, ejerskab og fremdrift af problemer og fejlrettelser.
Nærhed til både forretningen og udvikling. Hvis det er muligt, skal testen foregå tæt på brugerne, forretningen og udviklerne - altid i en tæt og konstruktiv dialog med alle parter. Målet med testen er at opnå maksimale fordele for forretningen, og forretningsbrugerne er de ideelle mennesker til at vurdere og rådgive om, hvorvidt testen opfylder disse mål.

Ved at se på ovenstående elementer, er det tydeligt at de to testmetoder traditionel test og Værdi Baseret Test har modsatrettet fokus på adskillige vigtige punkter:

 Antager at systemet er værdiløst og retter sig mod at vise dets værdi for forretningen frem for Antager at systemet er perfekt og retter sig mod at finde fejl

Har acceptkriterier baseret på at vise positive fordele og værdi frem for Har acceptkriterier baseret på at minimere antal af fejl

Faciliterer hurtig levering og hurtige leverancer frem for Hindrer hurtig udvikling og hurtige leverancer

Fokuserer testteam, udviklingsteam og forretning mod samme fælles mål frem for Skaber konflikter mellem testteam, udviklingsteam og forretning

Skal have fokus på forretningskrav, rettet mod at finde forretningsfordele frem for Har ofte et meget teknisk fokus, rettet mod at finde fejl

Lægger op til at uddannelse og brug af IT-systemet starter før det er helt færdigt frem for IT-systemet skal være helt færdigt før uddannelse og brug kan påbegyndes

Der er værdi i punkterne til højre,men vi værdsætter punkterne til venstre højere.....

Ultimativt revolutionerer Værdi Baseret Test den måde som virksomheder angriber softwaretest og systemintegration på ved at:

  • Levere et system til kunden, der er bedre end det de har i forvejen
  • Levere systemet på det tidligste tidspunkt, hvor det giver værdi
  • Vurdere fordele og risici på forretningens og kundens præmisser
  • Lægge op til en leveranceorienteret kultur hos både kunde og leverandør
  • Facilitere hele systemleverancens livscyklus

Værdi Baseret Test kan forvandle din virksomheds leveranceapparat inden for IT-systemudvikling. Metoden tilskynder alle involverede parter, til at sætte fokus på "forretningsværdien" i alt hvad de foretager sig. Denne fremgangsmåde medfører en målrettet arbejdsindsats, mod hurtigst muligt at levere et produkt, som giver den størst mulige værdi.