1. Begrebsliste
Betegnelse | Beskrivelse |
---|---|
Regressionstest | En test som tester at eksisterende funktionalitet ikke er blevet påvirket af nye releases. |
Feature | Feature 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. |
Testscenarie | Er æ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 outline | I 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. |
Fixture | Den 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øj | Beskrivelse |
---|---|
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. |
Jira | Indeholder testcases, testruns (NSP Regressionstest - SDS JIRA (nspop.dk)) og defects (RFC'er) |
GIT | https://git.nspop.dk/projects/NT/repos/nsp-regressionstest/browse Versionsstyring af test fixture kildekode |
Jenkins | NSP_REGRESSIONSTEST_CUCUMBER [Test] [Jenkins] (nspop.dk) Anvendes til afvikling og kontrol af automatiseret regressionstest |
Postman | Postman 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 Code | Visual 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:
Status | Beskrivelse |
---|---|
Defineret | Testcasen er oprettet og i gang med at blive beskrevet. Testcases i denne tilstand kan endnu ikke afvikles og er sandsynligvis endnu ikke korrekt designet |
Beskrevet | Testcasen 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 |
Implementeret | Testcasen er implementeret i koden og kan afvikles |
Fejler | Testcasen 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
Status | Beskrivelse |
---|---|
TODO | Testen kunne ikke gennemføres, da den indeholder fixtures som ikke findes eller ikke er færdigimplementerede endnu |
PASS | Testen er afviklet uden fejl |
FAIL | Testen 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.