Versions Compared

Key

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

...

https://dros.nspnxrg.medcom.dk/dros/iti61?wsdl


Unittests

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

Placeringen af disse følger standarden foreskrevet af Maven og er placeret i src/test/java i hvert af NXRG servicens moduler.

Unittests er navngivet med navnet på den klasse, som de tester, efterfulgt af Test.

Således ligger unittesten for klassen:

./nxrg-app/src/main/java/dk/nsp/nxrg/ws/Iti42WS.java

implementeret i:

./nxrg-app/src/test/java/dk/nsp/nxrg/ws/Iti42WSTest.java

Unittests er stilmæssigt opbygget på følgende måde:

  • Hver testcase er implementeret som en metode i den relevante testklasse
  • Testcasen er navngivet, så det tydeligt fremgår, hvad formålet med testen er
  • Kommentarer i testcasen inddeler tydeligt i præcondition (Given), udførsel (When), tjek (Then) som beskrevet f.eks. Martin Fowler: Given-When-Then

Unittests er implementeret vha JUnit og kan eksekveres af Mavens standard testplugin SureFire.

Til udregning af testcoverage anvendes Jacoco Maven Plugin (se JaCoCo Maven plug-in).

Testcoverage udregnes i de enkelte Maven moduler i NXRG og aggregeres til en samlet rapport i modulet nxrg-testreport.

Således er en samlet rapport over testcoverage tilgængelig i

./nxrg-testreport/target/site/jacoco-aggregate

Unittests og tilhørende udregning af testcoverage udføres som en integreret del af byg af komponenten (se i øvrigt NXRG - 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  -Dvariabel=value

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


Property

Beskrivelse

iti18.service.endpointEndpoint for NXRG ITI-18 service
iti42.service.endpointEndpoint for NXRG ITI-42 service
iti57.service.endpointEndpoint for NXRG ITI-57 service
iti61.service.endpointEndpoint for NXRG ITI-61 service


For nemheds skyld er der angivet følgende profiler (kan angives med -P), med variabeldefinitioner for et givent miljø

localDet dockerbaserede udviklingsmiljø for NXRG
devDet fælles udviklingsmiljø for NXRG
test1NXRG på NSP Test1 miljø
test2NXRG på NSP Test2 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

Sammenhæng mellem integrationstests og user stories

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

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

Således findes testscenarier for brugerhistorien 'Registrer Dokumentsæt med ReferenceIdList' i featurefilen:

./nxrg-qa/src/test/resources/dk/nsp/nxrg/test/verification/RegistrerDokumentsaetMedReferenceIdList.feature


Performance test

Følgende beskrivelser er "work in progress" og justeres til, som tingene bliver lagt fast og gjort færdigt.

...