Meny
29.09.2010

Hvordan automatisere testing av IT-infrastrukturen

Automatisering gjør ikke nødvendigvis testing av software raskere, mer pålitelig eller billigere.
Ettersom kostnadene knyttet opp mot installasjon og selve automasjonsverktøyene kan bli høye, er denne type prosjekter uten unntak bare lønnsomme på lang sikt.

Ikke alle metoder og automatiseringsverktøy har samme egenskaper og funksjoner.

Samtidig har prosjekter forskjellige krav til kostnader så vel som ytelse.

For at du skal få maksimalt ut av automatisert testing, har vi derfor rådført oss med Jayajyoti Sengupta som er lokalisert i Sverige og er direktør i det globale outsourcing- og offshoring-selskapet Cognizant.


Velg hva som skal automatiseres
Det å forstå hvilke faktorer som kan gjøre det vanskelig å automatisere en spesifikk test er vesentlig i forhold til det å veie kostnadene opp mot fordelene.

Jayajyoti Sengupta sier at prosesser som egner seg for automatisering, er systemer som er en viktig del i et overordnet system og løsninger som behandler store mengder data.
  
– Også løsninger som utfører standardiserte oppgaver, og som kan brukes på tvers av systemer, er egent for automatisering.

Men vel så viktig er det å kartlegge mer utradisjonelle områder for å spre automatiseringsinvesteringene, for eksempel å lage testrapporter og installasjonsrutiner, sier han. 


Valg av riktig verktøy

Enhver bedrift som ønsker å investere i automatisering, må ta hensyn til at løsningen skal tilfredsstille behovene i mange år.

Det er med andre ord viktig at løsningen er skreddersydd for en rekke ulike områder, for eksempel at den er mobil, samt at den passer for en tjenesteorientert arkitektur og såkalt IVR-programvare (Interactive Voice Response).
  
– Det er viktig å velge et verktøy med støtte for flere strukturer, og som gjenkjenner mange forskjellige programmeringsspråk, og ikke minst at løsningen støtter alle plattformer.

Et annet viktig poeng er at automatisering skal kreve minimalt med manuell innsats, og at applikasjonsfeil automatisk gjenopprettes for å unngå kostnads- og tidkrevende avbrytelser, sier Jayajyoti Sengupta.


Avgrens testprosessen

Mangelen på sentraliserte og standardiserte automatiseringsprosesser har i mange organisasjoner ført til lange testsykluser som er uoverkommelig dyre, samtidig som de ikke evner å avdekke alle manglene.

Slike prosesser må derfor forbedres i form av en farebeskrivelse for konkret å se hvordan testingen kan gjøres rimeligere og mer effektiv.

Ikke minst er det viktig med engasjement hos ledelsen for å sikre finansiering og støtte til de endringer som må til i arbeidsflyten for å forbedre testprosessene.
  
– Alle som skal gjennomføre et automatiseringsprosjekt, bør sørge for spesialopplæring av dem som skal gjennomføre testene.

For å sikre høy avkastning bør man ha fortløpende måling av testprosesser, samt at man bør prioritere prosessforbedringer basert på forretningsmål, sier Jayajyoti Sengupta.


Strukturvalg

Som et hvilket som helst annet verktøy må også løsninger ved automatisert testing benyttes korrekt for å være effektive.

Riktig valg av struktur bidrar til gjenbruk og langsiktig effektivitet. Når det er sagt, er en struktur ikke en erstatning for automatiseringsverktøy, men et veikart for dets bruk.
En av de mest populære strukturene er den ”datastyrte”, der testdataene lagres separat, noe som fører til en betydelig enklere bruk og tilpasning av rapporter, samtidig som datavedlikeholdet forenkles.

En annen tilnærming er en søkeordstyrt struktur der datatabeller og søkeord bevares uavhengig av testskriptene og selve verktøyet.

Sistnevnte er noe mer komplisert enn den datastyrte prosessen, og kan derfor medføre økte kostnader og forsinkelser.
  
– I Cognizant har vi utviklet en hybrid struktur som kombinerer de beste egenskapene fra begge verdener.

Den hybride modellen lagrer testdata fra automatiseringsverktøyet i et regneark, noe som gjør det svært enkelt å vedlikeholde og gjenbruke skriptene, forklarer Sengupta.


Ikke undervurder det manuelle
Selv om ordet automatisering antyder at maskiner gjør jobben, skal man ikke undervurdere den manuelle arbeidsinnsatsen.

Mennesker må koble opp testmaskinene, opprette skriptene, velge tester og ikke minst analysere testresultatene.

Et viktig overslag av disse kostnadene er viktig. Ikke bare i forhold til budsjettering og planlegging, men også for å utforme en nøyaktig investeringskalkyle. 
  
– Vi identifiserer alltid hvilke faktorer i en IT-organisasjon som burde tas med i betraktningene ved beregning av manuell arbeidsinnsats.

Et hjelpemiddel for å beregne denne type innsats er å klassifisere testprosjekter som enkle, middels og komplekse og antall trinn som kreves for hvert prosjekt, påpeker Sengupta.


Standardiser prosessene

Standardiserte prosesser ved automatisering er spesielt viktig for å avgjøre om testskript kan gjenopprettes etter feil i applikasjonen som testes og ved logging av eventuelle feil.
  
– Ved å innføre standardiserte prosesser er det enklere for utviklere å opprette ensartede skripter og ikke minst forstå skripter utviklet av andre, forklarer Sengupta.


Identifiser hvem som skal utføre testene
Automatisering høyner sjefens forventninger om at testing kan utføres med ingen eller lite manuell arbeidsinnsats.

Nettopp derfor anskaffes ikke nødvendig personale som kreves for analysering og utforming.

Derfor er det ekstremt viktig å definere i forkant hvem som skal eie og utføre prosessene.
  
– Det er viktig å planlegge hvem og hvor mange som skal utføre testene for å unngå unødvendige avbrudd, forsinkelser og kostnadsoverskridelser.

Dersom dette ikke gjøres, er det en fare for manglende kapasitet til å kjøre tester hyppig nok til å rettferdiggjøre automatiseringsinvesteringene, sier Sengupta.


Vær nøyaktig
Jayajyoti Sengupta forklarer at med verktøy som AAER (Automated Execution Efficiency Ratio) kan en bedrift avgjøre hvor effektivt automatisering av testene gjennomføres.
  
– Verktøyet analyserer forholdet mellom den menneskelige innsatsen som en prosentvis andel av den totale innsatsen som er nødvendig for å gjennomføre testene.
Men husk og ikke bare å sammenligne antall arbeidstimer som kreves manuelt og for automatisert testing.

Husk å inkludere andre fordeler som prosentandelen av feil som kartlegges, reduksjon av nødvendig tid til testing, kundetilfredshet og økt produktivitet, sier han.

  
– Med andre ord er ikke automatisert testing av programvare like enkelt og raskt som ordet antyder.

Men ved bruk av de rette redskapene, prosessene og strukturene kan bedrifter realisere store kostnadskutt og øke kvaliteten på testing av programvare, avslutter han.

« Tilbake

 CMS by Makeweb.no