Automatiseringsstrategi

Testautomatisering er en effektiv måde at kunne gennemføre og gentage tests. Særligt i en agil kontekst er der behov for automatiseret test. Denne strategi sigter mod at implementere automatiseringsløsninger, der ikke kun forbedrer produktiviteten, men også øger kvaliteten af vores softwareprodukter. 


Sådan gør du

Mål og forventninger

Definér klare og målbare mål for automatisering af test.

Angiv forventede fordele, såsom tidsbesparelser, fejlfrihed og bedre testdækning.

Testautomatisering as is

Lad os få beskrevet hvor og hvor meget test, der allerede foretages automatiseret og hvilke værktøjer, der bruges dertil.

  • Unittest
  • IDM test (Validator)
  • UX ???
  • Play Wright

IDM test og Validator

Det IDM Validator kan og som vi benytter i vores testsuiten, både til komponenttest og integrationstest, er at når man har connectorer (dvs håndtag/api'er) til systemer, så kan testcases udføre kode, fx oprette en person eller rette i persondata i et system, hvorefter man så i validator kan kontrollere om det forventede resultat opnås i et andet system. Fx kan vi oprette en person med en arbejdsrelation i IDM og kontrollere at der oprettes den tilsvarende bruger i fx AD eller WISEflow med de rette attributter og roller.
En sådan testcase kan enten afvikles og kontrolleres i webgrænsefladen til Validator, eller fx kaldes med et REST-kald eller via et script.

Man kan også afvikle alle testcases i en test suite og få en rapport over beståede og fejlede testcases.

Så det er fx nemt at bruge sin komplette testsuite til regressionstest, fordi man bare kan afvikle alle testcases igen.

Det vi så har et ønske om i forbindelse med Azure DevOps er selvfølgelig at kunne afvikle Validator testcases og måske kunne afvikle hele testsuiter i pipelines, når en ny version skal releases.

Jest og PlayWright

Til bacheloransøgningsportalen, minansøgning.au.dk, anvendes Jest og Playwright til brugergrænsefladetest. Jest er Javascript-baseret test-runner, der afvikles i en NodeJS-kontekst (fx som en del af CI-processen i Azure DevOps), og bruges til unittest af de forskellige komponenter i applikationen. Testresultaterne uploades til Azure DevOps og kan ses i "Test Plans". Playwright benyttes til end-to-end test af applikationen ved at simulere de 87 forskellige kombinationer et pladstilbud kan udløse for en ansøger til AU. Playwright benytter en (eller flere) headless browser(s) til at "afspille" en opstillet testcase og kan lave screenshots af applikationen, som benyttes til at sammenligne med det forventede resultat. Da denne form for test er en langsommelig størrelse, og de 87 testcases desuden er dækket af Jest, er Playwright (endnu) ikke en del af CI-processen i Azure DevOps.

Testautomatiseringsstrategi (overblik) og -metodik

Giv en oversigt over den overordnede tilgang til testautomatisering, herunder hvor den passer ind i udviklingscyklussen.

Forklar, hvordan automatiseringen støtter virksomhedens forretningsmål.

Beskriv den overordnede metode, der vil blive fulgt for testautomatisering.

Forklar, hvordan testscenarier prioriteres for automatisering.

Angiv retningslinjer for testdesign og vedligeholdelse af automatiserede testscripts.

Testautomatiseringsværktøjer og -teknologier

Identificér de værktøjer og teknologier, der vil blive brugt til testautomatisering.

Begrund valget af disse værktøjer og beskriv, hvordan de passer til organisationens behov.

Testmiljøer og testdata

Beskriv, hvordan testdata vil blive genereret, administreret og vedligeholdt.

Angiv kravene til testmiljøet og processen for at sikre, at det er tilgængeligt og konfigureret korrekt.

Testautomatiseringsarkitektur

Definér den tekniske arkitektur for testautomatisering, herunder opdeling af testlag, testrammer og rapporteringssystemer.

Testscriptudvikling og vedligeholdelse

Beskriv processen for at udvikle automatiserede testscripts, herunder kodestandarder og best practices.

Angiv retningslinjer for testscript-vedligeholdelse og versionsovervågning.

Testautomatiseringsrapportering

Forklar, hvordan testresultater vil blive indsamlet og rapporteret.

Definér de nøglepræstationsindikatorer (KPI'er), der vil blive overvåget for at vurdere automatiseringens effektivitet.

Uddannelse og kompetenceudvikling

Angiv planen for træning af teammedlemmer i brugen af testautomatiseringsværktøjer og -metoder.

Risikostyring og kontinuerlig forbedring

Identificér potentielle risici i testautomatiseringsprocessen og beskriv planen for at håndtere dem.

Forklar, hvordan automatiseringsprocessen vil blive evalueret og forbedret over tid.

Tidsplan og ressourceallokering

Angiv en tidsplan for implementeringen af testautomatiseringsstrategien og fordelingen af ressourcer til opgaverne.

Godkendelse af testautomatiseringsstrategi

Beskriv, hvordan strategien vil blive gennemgået, godkendt og kommunikeret til de relevante interessenter.