Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Introduktion

Formål

Formålet med dette dokument er at beskrive de tests, som er udviklet og afviklet forud for release af DROS.

...

De i DROS anvendte tests gennemgåes i det følgende.

Læsevejledning

Dokumentet henvender sig til udviklere og testere.

Læseren forventes at have kendskab til Java software udvikling, herunder unittesting ved anvendelse af JUnit og Maven.

Afviklede komponenttest

I de følgende afsnit beskrives de tests der afviklet som en del af udviklingen af DROS.

Der henvises i øvrigt til DROS - Guide til udviklere for udførselsvejledning.

UnitTests

Der findes UnitTests af centrale enheder (klasser) i DROS.

...

Unittests og tilhørende udregning af testcoverage udføres som en integreret del af byg af komponenten (se i øvrigt DROS - Guide til udviklere).

Integrationstest til verifikation af funktionalitet og deployment

Integrationstestene for DROS er implementeret vha Cucumber og JUnit i moduletdros-qa, og er beregnet til afvikling mod en kørende udgave af DROS.

Afvikling af Integrationstests aktiveres via Maven ved følgende kommando i moduletdros-qa:

mvn verify -Pintegration  Pintegration-test  -Dvariabel=value

Det kræves at følgende properties angives ved afvikling af integrationstesten


iti18service for den bagvedliggende ITI-18 service (bruges til at finde DocumentEntry UUID udfra dokument id)

Property

Beskrivelse

iti41.service.endpointEndpoint for DROS ITI-41 service
iti42.service.endpointEndpoint for DROS ITI-42 service
iti42.nodgws.service.endpointEndpoint for DROS ITI-42 service (uden DGWS)
iti57.service.endpointEndpoint for DROS ITI-57 service
iti61.service.endpointEndpoint for DROS ITI-61 service
hm.dros.endpointEndpoint til roden Høremappe specifik DROS f.eks. http://localhost:8061/dros

 

For nemheds skyld er der angivet følgende profiler (kan angives med -P), med variabeldefinitioner for et givent miljøkan man nøjes med at specificere miljøet med argumentet environment

Der er følgende muligheder for test miljøer:

localDet dockerbaserede udviklingsmiljø for DROS
test1DROS på NSP Test1 miljø
test2DROS på NSP Test2 miljø

Således kan man afvikle integrationstestene mod test1 med følgende kommando:

Code Block
languagetext
/dros/trunk/dros-qa$ mvn verify -Pintegration-test -Denvironment=test1

Flere af integrationstestene er tagget med @RequiresValidationLevelReject". Dette gøres når testen er afhængig af at valideringsniveauet for de forskellige iti kald er sat til REJECT. Udviklingsmiljøet er sat op med REJECT, men det er ikke sikkert test miljøerne er. Når integrationstesten køres med mvn kan man derfor tilføje parameteren -Dcucumber.filter.tags="not @RequiresValidationLevelReject" hvis man ønsker at overspringe de test, som kræver valideringsniveau REJECT.

local vælges som default hvis der ikke specificeres miljø.

Testrapporter kan for integrationstesten genereres som html og json og kan ses i /target/cucumber-reports/cucumber.html og /target/cucumber-reports/cucumber.json

Høremappe specifik Integrationstest

Således kan man afvikle integrationstestene mod test1 med følgende kommando:

Code Block
languagetext
/dros/trunk/dros-qa$ mvn verify -Pintegration-test -Denvironment=test1 -Dcucumber.filter.tags="@høremappe" -Dhm.dros.endpoint=http://<test1>/dros

Integrationstestene af afvikles i dette tilfæde da de er tagget med @Høremappe. Derudover kan man også teste specifikke grupper af tests, da der også er tagget ud fra Testcase Id. Så tests HOERVAL_1_PatientId_01 og HOERVAL_1_PatientId_02 kan testes alene ved at tilføje @HOERVAL_1_PatientId til cucumber.filter.tags property.

Se desuden beskrivelse og liste over tests:
Høremappe - test af valideringsregler

Sammenhæng mellem integrationstests og user stories

DROS - Brugerhistorierfindes en liste over, hvilke user stories, der er relevante for DROS.

Disse brugerhistorier går igen i integrationstestene, da hver brugerhistorie svarer til en integrationstestssuite (feature) i DROS.

Således findes testscenarier for brugerhistorien 'Opret Stable Dokument' i featurefilen:

./dros-qa/src/test/resources/dk/nsp/dros/test/OpretStableDokument.feature