Test är något som pågår hela tiden utan att vi tänker på det. I vardagen testar vi till exempel nya maträtter, ett par nya skor, test av den nya chefen eller den nya rutinen för löneadministration, syntest, konditionstest, test av ny bil, och så vidare.

Vad skulle hända om vi slutade testa? Tänk dig scenariot att små barn skulle sluta resa sig varje gång de ramlar medan de lär sig gå eller att du aldrig skulle testa ett nytt resmål eller en ny biograf eller en ny drink eller ett nytt bröd eller en ny tidning eller en ny arbetsplats. Det skulle vara ganska tråkigt och framförallt bli ett ganska stillastående liv.

Varför är det så viktigt med test? Svaret skulle kunna sammanfattas i två ord: säkerhet och kvalitet.

Vad hände med JAS Gripen på Långholmen 1993? Hade det kunnat undvikas med fler tester? Farkosten Forbos-Grant hamnade i november 2011 utanför omloppsbanan och störtade mot jorden. Hade det kunnat undvikas med mer test? Och sist men inte minst så minns många av oss fortfarande Tietohaveriet i höstas som gav driftproblem i stora mått och som eventuellt skulle kunnat undvikas med katastrofövningar och test.

Test är också en viktig del av it-projekt. Alla som arbetar med it och affärsutveckling vet hur viktigt det är att rätt funktionalitet levereras vid rätt tidpunkt. Komplexiteten uppstår när projektet börjar få problem med att hålla tidplanen och man börjar knapra på testtiden för att nå uppsatt mål.

Testledaren skriker högt och meddelar vilka risker vi står om vi produktionssätter med minskade tester och med underlag från de redan bantade testerna. Styrgruppen säger ”vi hör vad du säger men vi måste får ut den här funktionaliteten nu. Vi står risken!”
Så släpps releasen och funktionaliteten börjar användas. Ibland går det bra, ibland går det inte bra. Och rättningar av buggar får göras.

Vem som tar ansvaret och vem som får skulden när det går bra respektive inte går så bra med kvaliteten i leveransen går jag inte in på i den här texten. Däremot kan man ställa sig frågan varför test prioriteras ned så ofta och varför vi inte vågar stoppa eller försena projekt i högre grad och landa testerna ordentligt för att säkerställa kvaliteten?

Ur ett affärsmässigt perspektiv är det naturligtvis viktigt att komma ut med nya produkter. Men det är minst lika viktigt att produkterna håller hög kvalitet, både funktionellt, administrativt och servicemässigt. Fixar vi inte hela kedjan spelar det ingen roll hur fina produkter vi har.

Utifrån mina erfarenheter som it-projektledare, beställare, styrgruppsmedlem och ansvarig för it-systemleveranser skulle jag vilja lyfta testområdet som en nyckel till hög kvalitet i leveransen av it-system, releaser och buggrättningar. Det handlar om att testa, hitta fel och att hinna rätta felen. Se test som en naturlig del i hela kedjan, avdramatisera men se också till att höja statusen för testområdet och testarbetet.

Metodmässigt finns det som vanligt ett antal metoder att välja mellan, även när det gäller test. Vattenfallsmodellen med sekventiella steg lätt att förstå och ganska enkel att rita upp. Men verkligheten med dagens integrerade och komplexa it-miljöer ställer krav på en iterativ och agil metodik och synsätt där test tas med tidigt i processen. Testdriven utveckling, TDD, är ett annat sätt att se på testarbetet där du utgår från att du först skapar dina enhetstester, för att sedan skriva kod som får dessa tester att passera. En tredje variant är utforskande testning som är en stil för programvarutestning som bygger på erfarenhetsbaserad testdesignteknik utan skriftliga testfall. Testerna skapas samtidigt som testarna lär sig systemet.

Oavsett metod för testningen så är målet med hela testarbetet och dess optimering att leverera tillförlitliga affärskritiska system. Och it-system i all ära men glöm inte att ta hand om de verksamhetskunniga användarna i acceptanstesterna!

Nästa gång blir det fokus på riktlinjer och policys – ett nödvändigt ont eller lustfyllt och inspirerande?


Fakta

  • CIO hos Movestic Livförsäkring AB. Har ett förflutet som nordisk IT-chef och diverse chefstjänster inom IT-området i branschen Bank, Finans, Försäkring.
  • Utbildning: Systemvetare och Ekonom.
  • Gör när jag är ledig: läser, ser film,dansar argentinsk tango, njuter av god mat och dryck, umgås med människor jag trivs med, joggar och styrketränar.
  • Familj: Man och en dotter+en bonusdotter
  • Bor: Kungsholmen, Stockholm
  • Bloggar här