Hvad er automatiseret test?

Udgivet: November 15, 2019
Senest opdateret: September 08, 2020

Softwaretest er et vigtigt aspekt af ethvert IT-projekt. Men tiden, pengene og ressourcerne, der skal til for at kunne udføre effektiv test (især for store og komplekse systemer), kan imidlertid hurtigt vise sig at øge de samlede omkostninger ved projektet.

Automatiseret testning er en metode til, at reducere tiden og kræfterne, som testen kræver, og kan samtidig levere et mere pålideligt output hurtigere. Det gør man ved at lave og udføre scripts til test af et systems funktioner ved sammenligning af det faktiske resultat med det forudsagte eller ønskede resultat. Dette i modsætning til manuel test, hvor et menneske tester manuelt ved at analysere målinger, afprøver forskellige scenarier og kontrollerer, om resultaterne er i overensstemmelse med den forventede opførsel.

Automatiseret test er ofte kombineret med automatiseret ”deployment” (installation af softwaren), hvor en udvikler blot "trykker på en knap", og så installerer computeren opdateringen automatisk og udfører det automatiserede test-script - Altsammen uden at gøre noget manuelt. Dette speeder desuden hele forløbet fra udvikling til at tingene går i luften op, samtidig med at det reducerer menneskelige fejl.

I denne artikel vil vi fokusere på automatiseret test som en selvstændig proces, og vil ikke komme ind på emnet om automatisk installation.

Hvad er fordelene ved automatiseret test?

Automatiseret test sparer tid og penge

Lad os sige, at der bygges et nyt system fra bunden. For hvert udviklingstrin skal teamet kontrollere de nye krav, udvikle de nye funktioner, kontrollere om de nye features influerer på de eksisterende funktionaliteter, og så sørge for at opdateringen fungerer på alle understøttede operativsystemer og enheder.

Det er her automatiseringen kommer ind. Omend den indledende opsætning af automatiserede testcases kan koste en masse tid og kræfter, så kan udviklingsteamet genbruge disse test i efterfølgende implementeringer. Når opsætningen er på plads, kan de automatiserede test køres igen uden ekstra omkostninger, og de er meget hurtigere fuldført end manuelle tests, hvilket giver virksomhederne mulighed for at tilføje funktioner og forbedringer, selv på daglig basis hvis de vil.

Automatiseret test øger nøjagtigheden af ​​resultaterne

Manuel test er mere sårbar overfor fejl. Især når man tager antallet af betingelser, der skal testes på hvert udviklingstrin, i betragtning. Selv den mest grundige tester kan begå fejl under gentagen manuel test.

Omvendt så betyder automatiske test, at de samme trin udføres nøjagtigt ens hver gang, og at der altid føres nøjagtigt arkiv over resultaterne. Test-scriptene skal blot holdes opdateret, således at de afspejler opdateringer i den software, der skal testes.

Automatisk test muliggør flere implementeringer

Da tiden, der er afsat til test, er betydeligt kortere, er virksomheder i stand til at udføre flere med kortere mellemrum. Dette er især brugbart i forbindelse med at få nye features ud med en kortere time-to-market, eller ligefrem udrulle vigtige ændringer af et system på daglig basis.

Automatiseret test højner systemets kvalitet

Testere kan udvide omfanget for at hjælpe med at forbedre softwarekvaliteten. Ved automatiseret test kan de test, der tager for lang tid når de udføres manuelt, blive udført uden opsyn. Scriptet kan sagtens køre hundreder eller endda tusinder af testcases, inklusive de komplekse, i hvert gennemløb. Man kan endda lave et skema for scriptene, der så køres uden for kontortid, og få detaljerede resultater næste morgen.

Automatiseret test gavner alle involverede i projektet

De scripts, der er oprettet til automatiseret test, er gavnlige for både testere og udviklere. Scripts kan bruges af udviklerne til at fange problemer og løse dem, endda før de sender opgaverne til testere. Automatiseret test hjælper med at finde udfordringer i det tidlige stadie af softwareudvikling, og reducerer derfor risikoen for at levere fejlbehæftet software.

Ydermere drager testerne også fordel af at være i stand til at fokusere på andre opgaver, såsom at kontrollere systemets UI og UX og sørge for, at det er fuldt optimeret med henblik på konverteringer, da de automatiserede testskripter kan køre uden menneskelig indgriben.

Sådan udfører vi automatiseret test hos 1902 Software

På trods af de mange fordele ved automatiseret test er det ikke nødvendigvis den bedste metode for alle testcases i et udviklingsprojekt. For eksempel har aspekter som UI og UX stadig brug for menneske-øjne til at teste, at alt er ordentligt optimeret. Det er heller ikke altid praktisk at implementere automatiseret test med mindre og mere ligetil systemer, når man tager initialomkostningerne i betragtning.

Med det in mente, så implementerer vi automatiseret test i vores udviklingsprojekter således:

1. Det første trin er at fastlægge, hvilke dele af softwaren, der skal automatiseres. Projektlederen noterer alle de features, der vil blive automatiseret, og gennemgår listen med kunden. Normalt overvejes disse faktorer:

  • Højrisiko og forretningskritiske funktioner
  • Processer der testes gentagende gange i hvert udviklingstrin
  • Komplicerede testbetingelser eller features der er vanskelige at teste manuelt
  • Processer der er tidskrævende at teste manuelt

Som standard køres testscriptene efter hver implementering på staging- og live-serveren. Men hvis kunden har andre ønsker til planlægningen (f.eks. at scriptet skal køre på fredage på et bestemt tidspunkt), bliver dét også fastlagt her.

2. Når listen over funktioner er lavet, fastlægges omfanget af automatiseringen i detaljer:

  • Forretningsrelaterede forhold der skal overvejes
  • Brugerflow
  • Testscenarier
  • Testdata der skal bruges under kørslen, baseret på testscenarierne

3. Vi opretter derefter testmiljøet. Vi understøtter typisk de aktuelle browsere og operativsystemversioner på udviklingstidspunktet.

4. Når testmiljøet er oprettet, udvikler vi så testscriptene. Udfærdigelsen af ​​testscripts baseres på kravene, der er fastlagt i det første trin. Det er undervejs i udviklingen af ​​testscripts at kunden bør informere projektlederen, hvis de har tilføjet eller fjernet elementer (f.eks. et tekstfelt) i en feature, der er inkluderet af den automatiserede test, da enhver ændring på en side i sidste ende vil påvirke resultatet af den automatiserede test.

5. Derefter køres testskriptene, hvorpå en detaljeret testrapport sendes til projektlederen. Hvis et problem opdages af scriptet, vurderer projektlederen alvoren af problemet - dvs. om der er behov for en øjeblikkelig rettelse eller ej.

6. Scriptene vedligeholdes ved konstant at gennemgå og ændre dem efter behov, når nye funktionaliteter føjes til de funktioner, der er inkluderet af den automatiske test. Dette er et vigtigt trin for at opretholde effektiviteten af ​​automatiseringsskriptene.

Hvis du vil lære mere om automatiseret test, og om hvordan det kan gavne dit IT-projekt, så kontakt os i dag. Vores in-house QA-team med glæde hjælpe dig.