Til toppen

Kravspesifikasjoner, testhendelser og testdata

Suksesskriterier for å sikre effektive leveranser av kundespesifikke løsninger.

Generelt

Gurusofts grunnprodukt inneholder tilstrekkelig funksjonalitet til at man kan lansere en beste-praksis nettbutikk. All funksjonalitet som inngår i grunnproduktet har Gurusoft utarbeidet tester for å kvalitetssikre. Vi har valgt å automatisere disse testene, sånn at vi kan gjennomføre dem så effektivt som mulig, så ofte det er behov for det. Det betyr at denne delen av nettbutikken deres er godt ivaretatt med tanke på både kravspesifikasjoner, testhendelser og testdata.

Kundetilpasninger er løsninger vi lager på bestilling fra våre kunder. Det betyr at det er deres behov som styrer hva vi skal utvikle for dere. I disse tilfellene er det dere som må fortelle oss hva dere forventer av den ferdige løsningen. Dvs. hva skal til for at dere bekrefter at vi har levert nøyaktig den løsningen dere har bestilt?

I alle utviklingsoppdrag er det nødvendig å ha et klart og tydelig mål for å vite hva vi skal lage. Siden det er dere som vet hva dere vil ha, er det også dere som best kan spesifisere og dokumentere kravene deres. Vi kan selvsagt bistå, men det er dere som vet når dere er fornøyd med løsningen.

For at vi skal kunne arbeide så effektivt som mulig, ønsker vi overlevering av både kravspesifikasjon og testdata før vi starter utvikling av løsningen.

Arbeidet med kravspesifikasjon og testhendelser kan oppleves som tidkrevende og vanskelig. Det som ofte er det mest tidkrevende, er å sikre at man virkelig vet hva man vil ha før man bestiller en kundetilpasning. Når dere vet nøyaktig hva dere vil ha, og dette er koordinert og forankret internt, blir det fort mye lettere å beskrive kravet og utarbeide testhendelser og testdata som ivaretar dette behovet.

Dersom dere bare skal ha noen få enkle kundetilpasninger, eller dere ønsker at Gurusoft skal bestemme detaljer i løsningen for dere, er kravspesifikasjon ikke absolutt nødvendig. Dere må da være innforstått med at det er en risiko for at vi kan bruke mer tid enn vi kanskje hadde trengt hvis målbildet var helt klart i forkant. 

Jo mer komplekse kundespesifikke løsninger dere har behov for, og jo sterkere føringer dere har til sluttresultatet, jo viktigere er det at dere utarbeider en detaljert kravspesifikasjon, inkludert testhendelser, før utviklingsarbeidet starter.

Dersom Gurusoft starter større utviklingsoppgaver uten alle krav og forventninger til løsningen, vil sannsynligheten for at vi leverer nøyaktig det dere forventer være minimal. Resultatet blir flere runder med endringer og testing, og det blir tidkrevende og lite verdiskapende for alle parter. 

Illustrasjonen nedenfor gir et noe komisk, men lett forståelig innblikk i hvor galt det kan gå med prosjekter og utviklingsprosesser der målbildet ikke er tydelig kommunisert og forstått ;-). 

 

Testhendelser

Dere bestemmer selv hvilket nivå dere ønsker å ha testhendelsene på, men vi gjør oppmerksom på at jo mer detaljert og entydige de er, jo større er sjansen for at vi treffer med en løsning som dekker deres behov på første forsøk. Dvs. jo tydeligere beskrivelser og bedre testhendelser / testdata, jo enklere blir det for Gurusofts konsulenter å utvikle løsningen dere ønsker, og jo mindre tid forventes til justeringer i etterkant.

I spesielt komplekse leveranser, vil vi kreve at testhendelser utarbeides før vi starter utviklingsarbeidet. Dette gjør vi for å spare tid for alle parter, spare dere for penger, og spare oss begge for frustrasjon senere i prosjektet, dvs. for å unngå det som vises i tegningen ovenfor. 

Testing i IT-prosjekter er et eget fagområde, og det kan i enkelte tilfeller være lurt å få hjelp med dette. Hvis dere ønsker hjelp fra oss kan selvsagt våre konsulenter bistå. Men generelt så kommer man langt med litt struktur og sunn fornuft. Vår anbefaling er at dere skriver testhendelser, og sikrer testdata, som gjør at personer som ikke har vært involvert i arbeidet med løsningen kan teste den i etterkant. Vi vil også anbefale at dere starter med å utarbeide en testhendelse først, og gjør en vurdering og kvalitetssikring av den før dere utarbeider resten. 

Generelt må testhendelser som et minimum inneholde:

  1. Forventet resultat etter gjennomført test.
  2. Framgangsmåte for å oppnå forventet resultat.
  3. Nødvendige testdata for å kunne gjennomføre testen.

Dere kan se eksempel på hvordan en detaljert testbeskrivelse kan se ut her.

Vi mener dette er et godt eksempel på hvordan en testbeskrivelse sammen med testdata sikrer et tydelig målbilde. Det gjør det enkelt for alle i prosjektet å vite når målet er nådd, og dermed også hva som skal til for at en leveranse blir godkjent. 

Tips - Pass på å teste at ny funksjonalitet fungerer som den skal, men husk også å teste når den ikke skal slå inn. Det er dette som ofte omtales som negative tester. Forsøk så godt dere kan å fremprovosere feil.

Integrasjoner

Når det gjelder integrasjoner så går vi opp disse detaljene sammen, dvs. vi utarbeider en integrasjonskontrakt som beskriver hvilke mappingregler som gjelder.

Dere kan velge å teste integrasjoner basert på denne integrasjonskontrakten, men dere kan også velge å lage egne testhendelser og få hjelp fra andre i deres organisasjon med å teste alle dataflyter. Dette kan være et nyttig verktøy for å spre kompetanse, spesielt dersom dere samtidig innfører nye rutiner internt.

Dere må uansett passe på å utarbeide testdata for integrasjoner. Vi anbefaler at dere lager testdata for hvert unike tilfelle dere skal teste. 

Oppsummering

Husk at tiden dere investerer i arbeidet med spesifisering av krav, testhendelser og tesdata, vil dere få igjen når vi kommer til testfasen. Dere vil slippe å lure på hva som skal testes, og hvordan, og dermed effektivt gjennomføre nødvendige tester. Dere får raskt testet om løsningen er levert iht. deres krav. Gurusofts utviklere vil sannsynligvis ha spart tid i utviklingsfasen, og de vil i tillegg ha gjort en del av testarbeidet for dere allerede. Erfaringsmessig blir det få behov for justeringer i testfasen når man har gjort en nøye spesifisering.

NB! Vi anbefaler at dere utarbeider og forvalter testhendelser for alle deres kundetilpasninger, sånn at disse kan brukes som en intern dokumentasjon av løsningen, og for å sikre at dere har oversikt over alt som skal testes ved en større oppgradering.