Ole Wahlgreen (t.v.) fra Phase One sammen med Software-Pro's konsulent. (Fotograf:  Alexander Flemming)

Ole Wahlgreen (t.v.) fra Phase One
sammen med Software-Pro's konsulent.
(Fotograf:  Alexander Flemming)

 

Indføring af automatisk test af et program til billedbehandling. Det er opgaven fra Phase One, som Software-Pro p.t. er ved at løse. Derefter overtager kunden.

 

Phase One er ledende indenfor udvikling af digital mellemformat-kameraer og fotografisk software til professionelle fotografer og avancerede amatører. De har brug for at finde det rigtige koncept til automatiseret test af kernedelen i et billedbehandlingsprogram indenfor digital fotografi. Programmet er en professionel fotografisk applikation til at tilpasse billedfiler til det ønskede billedresultat.

- Vi har en deadline i september for et produkt, så vi kunne simpelthen ikke vente. Vi var nødt til at komme hurtigere i gang, forklarer testmanager Ole Wahlgreen fra Phase One om grunden til at inddrage ekstern hjælp i opstartsfasen.

Indenfor softwaretest er testautomatisering brug af ​en ​speciel software, der er adskilt fra den software, der er under test. Den specielle software afvikler test og sammenligner faktiske resultater med forventede resultater. En stor fordel ved testautomatisering er at man kan automatisere gentagne, men nødvendige skridt i en formaliseret testproces – og det kan også anvendes til testaktiviteter, der ville være vanskelige og trivielle at udføre manuelt.

Hos Phase One var den praktiske del af opgaven at opbygge et testmiljø, udvikle et framework og lave POC (Proof of Concept) herpå. Afslutningsvis skal projektet overleveres til en fastansat. 

 

- Vi er ikke bare kommet tidligere i gang. Vi har fået et afprøvet koncept, viden og erfaring ind.

Testmanager Ole Wahlgreen, Phase One

Sådan gjorde vi

Først var det vigtigt at forstå Phase One’s behov. Derfor startede vi med i fællesskab at lave en kravspecifikation og derefter designe hvordan konceptet kunne føres ud i livet. Vi aftalte en agil tankegang til udviklingen, med planlagte sprints med statusmøder. Dvs. kursen for udviklingen blev jævnligt justeret.

Programmet skal kunne køre på Windows, Mac og Linux. Da kunden i forvejen har en vis erfaring med programmeringssproget Python, var udgangspunktet scripting i Python. Kernedelen i billedbehandlingsprogrammet tilbyder et interface, hvor man kan teste mange features, så det var oplagt at anvende dette: Man kan fortælle interfacet hvilken billedfil, der skal tilpasses og med hvilken kommando, så det kunne nemt bygges ind i et testautomatiseringsværktøj. 

 

Snart i mål

- Det har været en lettelse, at Sofware-Pro gennem Proof of Concept har kunnet fjerne vores store usikkerhed om, om Python kunne dække alle tre platforme med de samme test.

Testmanager Ole Wahlgreen, Phase One

Der er nu gået et par måneder og der er knap en måned tilbage af konsulentopgaven. Status er, at der er en løsning på hvordan testmiljøet kan sættes op og frameworket er på plads. En prototype kan nu automatisk afvikle test på kernedelen, der hurtigt afspejler kvaliteten i produktet. Den sidste tid går med intensiv test, hvor studenter-medhjælpere inddrages og en ny fastansat test-ingeniør sættes ind i projektet, tilmed uger før det var planlagt.

Testmanager Ole Wahlgreen fra Phase One vurderer forløbet således:

- Vi er ikke bare kommet tidligere i gang. Vi har fået et afprøvet koncept, viden og erfaring ind. Det har været en lettelse, at Sofware-Pro gennem Proof of Concept har kunnet fjerne vores store usikkerhed om, om Python kunne dække alle tre platforme med de samme test.

Software-Pro’s konsulent på opgaven er overbevist om at både Phase One og medarbejderne får glæde af den automatiske test af produktet:

- For testere er det et værktøj, der kan øge mængden af regressionstest på forskellige hardware-konfigurationer og mindske manuel test for kernedelen. For udviklerne giver det et værktøj til hurtig respons og en god fornemmelse i maven ang. om funktionaliteten virker som den skal. Da det er kosteffektivt i det lange løb bør det også kunne ses på virksomhedens bundlinje. 

 

Manuelle test ikke så effektive

Manuelle test kan være besværlige og tidskrævende, f.eks. ved omfattende regressionstest, hvor softwaren testes, når der er udviklet nyt. Desuden er manuelle test ikke effektive til at finde visse typer af defekter, modsat automatiserede test.

Automatiserede test kan køre hurtigt og gentagne gange. Dette kan være omkostningseffektivt ved f.eks. regressionstest af softwareprodukter, der ændres (nye features, korrektioner) og har en lang vedligeholdelseslevetid. Selv mindre ændringer i et produkt kan være skyld i fejl i funktioner, der tidligere virkede. Her er en automatisk test nøglen til at sikre kvaliteten i produktet med hurtig respons.

 

Værktøj for både udviklere og testere

Testautomatisering kan med stor fordel anvendes både af software-udviklere og testere.

Udviklere kan sikre den ønskede funktionalitet under udviklingen lokalt i deres udviklings miljø inden koden stilles til rådighed for andre udviklere. Desuden kan en regressionstest, der automatisk afvikles hver nat på en release af produktet afspejle defekter.

Testere kan bruge testautomatisering til at afvikle deres udviklede testcases hurtigt og effektivt på dedikerede maskiner, som hardwaremæssigt afspejler dem kunderne anvender. Det være sig funktionelle som ikke-funktionelle f.eks. performancetest.

 

Er testautomatisering også vejen frem for jer?

Måske overvejer du, om testautomatisering kunne være noget for jer. Bliv klogere på det: Kontakt os for en uforpligtende snak.

 

Artiklen er skrevet af Ove Risum Aslaug og konsulent Flemming O. E. Jensen