1. Begrebsliste

BetegnelseBeskrivelse
RegressionstestEn test som tester at eksisterende funktionalitet ikke er blevet påvirket af nye releases.
FeatureFeature er det element, som testes af et antal testcases.
I NSP projektet er de enkelte komponenter valgt som features for at gruppere testcases på samme måde som øvrig dokumentation på MSPOP er grupperet. 
Testcase

En testcase er en sekvens af trin med specifikke data og forudsætninger for at teste den korrekte adfærd/funktionalitet i komponenter på NSP platformen.

TestscenarieEr ækvivalent med en testcase, såfremt de pågældende trin kun skal testes med et sæt af data. Et Jira testissue kan være et testscenarie eller et testscenarie outline.
Testscenarie outlineI de tilfælde hvor samme trin skal gennemføres med forskellige datasæt, har vi et testscenarie outline. Et testscenarie outline indeholder potentielt mange testcases. Et Jira testissue kan være et testscenarie eller et testscenarie outline.
FixtureDen enkelte linie i en Gherkin testcase, som refererer til en bestemt kodestump ofte med variable som input.

2. Dokumentation af testcases

Alle testcases til den automatiserede regressionstest er dokumenteret i Jira projektet NSP Regressionstest - SDS JIRA (nspop.dk) ved anvendelse af Jira testmanagement plugin'et XRay.

Testcasene er struktureret i et Testrepository i forhold til den komponent som er omdrejningspunktet for testcasen.

De har alle testtypen Cucumber og er beskrevet i Gherkin syntaks, se Gherkin Reference - Cucumber Documentation.

Testcases bygger på fixtures som er kodet i Javascript.

Det er muligt at skrive yderligere testcases i Jira, såfremt man anvender fixtures som allerede eksisterer (se menupunktet Automated test library i Jira).

3. Links til Testværktøjer

Der anvendes følgende værktøjer til eksekvering af den automatiserede test:

VærktøjBeskrivelse
DTG

Dynamisk Testdata Generator (DTG) Oprettelse og ændring af borger testdata via importere. 

Denne service kan også bruges til manuel test.

DRG

Dynamisk Request Generator (DRG) Simplificeret måde at integrere med NSP services på. Blandt andet forsimples hele autorisationsprocessen. Alle testkald i den automatiserede test kører via DRG komponenten.

Denne service kan også bruges til manuel test.

JiraIndeholder testcases, testruns  (NSP Regressionstest - SDS JIRA (nspop.dk)) og defects (RFC'er)
GIThttps://git.nspop.dk/projects/NT/repos/nsp-regressionstest/browse Versionsstyring af test fixture kildekode
JenkinsNSP_REGRESSIONSTEST_CUCUMBER [Test] [Jenkins] (nspop.dk) Anvendes til afvikling og kontrol af automatiseret regressionstest
PostmanPostman API Platform Hjælpetool til manuel afvikling af testcases og til design af automatiserede testcases. Toolet anvendes til at opbygge og verificere requests, men anvendes ikke i den normale automatiserede afvikling. En postman collection indeholdene alle testkald i DRG kan findes her: TODO
Visual Studio CodeVisual Studio Anvendes til vedligehold af Fixtures (andre sourcetools vil også kunne anvendes). 

4. Status på testissues

Testissues har 2 status'er.

  • Den normale Issuestatus som angiver hvilket stadie selve testissuet er i. Den kan antage værdierne:
StatusBeskrivelse
DefineretTestcasen er oprettet og i gang med at blive beskrevet. Testcases i denne tilstand kan endnu ikke afvikles og er sandsynligvis endnu ikke korrekt designet
BeskrevetTestcasen er skrevet færdig i Jira og kan implementeres i koden. Denne status anvendes indtil testcasen frigives af den tekniske tester, som koder de enkelte fixtures
ImplementeretTestcasen er implementeret i koden og kan afvikles
FejlerTestcasen er implementeret i koden og kan afvikles, men pt blokerer en kendt fejl for succesfuld afvikling


  • Testeksekveringsstatus, der angiver resultatet af seneste afvikling. Den kan antage værdierne
StatusBeskrivelse
TODOTesten kunne ikke gennemføres, da den indeholder fixtures som ikke findes eller ikke er færdigimplementerede endnu
PASSTesten er afviklet uden fejl
FAILTesten er afviklet med fejl

5. Afvikling af test

Den automatiserede test afvikles hver nat som et Jenkins job, se NSP_REGRESSIONSTEST_CUCUMBER [Test] [Jenkins] (nspop.dk).

Jenkins jobbet trækker de nyeste testcases ud fra Jira og afvikler dem en for en med brug af de implementerede fixtures.

Der dannes en rapport i Jenkins, som giver overblik over den aktuelle kørsel, se et eksempel her: Cucumber Reports (no 95) - Features Overview (nspop.dk).

Resultaterne af de enkelte tests fødes automatisk ind i Jira projektet, så man på den enkelte testcase kan se afviklingsstatus.

De er også muligt i Jira at se den samlede Testkørsel som et Testexecution issue.

Det er kun testcases med status "Implementeret" som er med i Jenkins afviklingen.



  • No labels