Antiteststrategier i teori og praksis

Av Odd Fidje - Promis Qualify

Mange har hørt om Patterns og hvordan disse kan brukes til å gjenbruke effektive strategier i møte med kjente problemer. Men visste du at vi også kan snakke om Anti-patterns? Innenfor testområdet kan vi kalle det antiteststrategier, fordi det dreier seg om handlingsmønstre som vi følger selv om de er ineffektive og hemmende. Altså det motsatte av en god teststrategi.

Men hvorfor skulle noen velge en antiteststrategi, hvis de er ineffektive og lite egnet? Svaret er at dette ofte dreier seg om ubevisste handlingsmønstre. Kanskje følger vi dem fordi det er slik vi har lært at det skal være, eller det alltid har vært gjort slik der vi arbeider. Kanskje var antiteststrategien en gang hensiktsmessig, men endrede forutsetninger har gjort at den nå er ineffektiv.

Så hva er typiske antiteststrategier? Her er noen eksempler:

Lag gjerne en risikovurdering, men la i praksis inngrodde vaner og gamle leveranser være styrende i testgjennomføringen


Si at du har forankret en risikoanalyse, kanskje gjort grundige undersøkelser om testobjekter og skrevet testplan. Men når testen starter, leter testerne i stedet etter de tingene som gikk feil forrige gang dere produksjonssatte. Det hjelper ikke hvor mye dere er blitt enige om hvor feilene mest sannsynlig er eller hvor endringene kommer denne gangen, det er det som gikk feil forrige gang som teller. Noen ganger er det gode grunner til å teste det som feilet forrige gang. Men like ofte kan det skyldes gamle vaner. Vi gjør det fordi vi alltid har gjort det. Problemet med dette er at i verste fall tar vi dermed tid og krefter fra tiden vi kunne brukt på det som er den reelle risikoen i prosjektet og produktet.


Lag testplanene i isolasjon, uten hensyn til arbeidsformen hos utviklerne eller sluttbrukernes hverdag


Dette er en annen gjenganger. Alle ønsker jo å ha oppdaterte testplaner som er relevante. Men ofte må planer legges uten at de som gjennomfører testene er så involvert. Kanskje har vi to uker til å gjennomføre test. Men så viser det seg at de som skal gjennomføre testen kun jobber 20 % og skal hente i barnehagen akkurat da testen skal foregå. Eller utviklerne ikke har tilgang til testmiljøet. Eller testdata er oppbrukt. Vi trenger å skaffe oss kontekst for testplanene våre, og kjenne sluttbrukerne og testerne. Og vi må også ta hensyn til utviklerne, til ting som sprintplanlegging, tid til feilretting, prioriteringer opp mot andre oppgaver og slike ting. Hvis testplanene skal ha verdi, så må de være tilpasset virkeligheten vi står i.

 


Det er alltids tid til ytelsestest og sikkerhetstest – bare gjør ferdig de funksjonelle testene først

Noen ganger kan vi ubevisst lage et A-lag og et B-lag av ulike testtyper. Alle ser verdiene av de funksjonelle testene, og det er ofte dem vi blir målt på. Men ikke-funksjonelle tester blir også viktigere og viktigere, og vi må behandle dem som likeverdige med de funksjonelle testene – f.eks. ting som sikkerhet, ytelse, tilgjengelighet. Her kan man for eksempel vurdere å legge ytelsene høyere i risikovurderingen når vi gjør risikoanalyser. Avhengig av hvor man er og kultur man er i – det kan være en kamp for å løfte fokus på enkelte testtyper.


Fra antiteststrategier til positive teststrategier


Gode teststrategier kjennetegnes gjerne av følgende:

  • Gir ønskede resultater
  • Er tilpasset og relevante
  • Gir mulighet for videreutvikling og nyskapning

Hvordan sikrer vi oss at arbeidet vårt er preget av slike strategier, og ikke ineffektive og uhensiktsmessige antiteststrategier?

En måte å se det på er at måten vi tenker, handler og føler på henger sammen. Endrer du på én av dem, vil det også skape bevegelse på de andre områdene:


Følelsene våre
: Hvis vi tør å følge risikovurderingen våre og lykkes, vil det skape tillit og mestringsfølelse. Våg å stole på de vurderingene vi gjør av risiko nå, ikke bare dem vi gjorde forrige gang vi testet! Dette gjelder også hvis vi klarer å skape engasjement i testarbeidet. Hva med å ha mer fritesting eller arrangere bughunts med premier slik at testerne kan bruke sin faglige kunnskap og kjennskap til løsningen aktivt, og la kreativiteten slippe løs. Kanskje kan vi til og med sette av tid til slike aktiviteter i teststrategi og testplaner?

Tankene våre: Hvordan vi tenker om oss selv og omgivelsene våre gir ofte en selvforsterkende effekt. Klarer vi å sette testene våre inn en større sammenheng. Et eksempel er illustrert her:

Adferden vår: Ledelsesteori og -praksis har lært oss mye om hva som skaper mer positiv og hensiktsmessig atferd i prosjekter og organisasjoner. Å være konsekvent, drive aktiv ledelse og tydeliggjøre roller og ansvar skaper trygghet og forutsigbarhet, slik at vi kan bruke energien på en hensiktsmessige måte. Gode rutiner, for eksempel gode feilhåndteringsplaner og god møtepraksis er eksempler på dette.

Mest av alt handler det kanskje om at vi faktisk våger å følge det vi har skrevet i teststrategier og testplaner, og har disse som levende dokumenter slik at de faktisk reflekterer det vi gjør. Ofte vet vi av erfaring nemlig ganske mye om hva som er gode strategier, og hva som er antiteststrategier.

Er du klar til å kvitte deg med ineffektive og uhensiktsmessige antiteststrategier? Det er fullt mulig - lykke til!