Page History
Navitabs | ||||
---|---|---|---|---|
| ||||
Anchor | ||||
---|---|---|---|---|
|
Svareksponeringsservice XDS-Adaptere
Testvejledning
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
1 Introduktion
1.1 Formål
1.2 Læsevejledning
1.3 Dokumenthistorik
1.4 Definitioner og referencer
2 Overblik over tests
2.1 Unittest
2.2 Integrationstest (til verifikation af funktionalitet)
2.3 Performancetests
2.4 Endurance-tests
3 Afviklede tests
3.1 Unittest
3.2 Integrationstest til verifikation af funktionalitet
3.2.1 Forberedelse
3.2.2 Setup
3.2.3 Testdata
3.2.4 Testdesign
Anchor | ||||
---|---|---|---|---|
|
3.2.5 Gennemførelse af integrationstests
4 Generering af code coverage-rapporter
4.1 Code coverage for unittests
4.1.1 Code coverage for unittests
4.1.2 Code coverage for unittests og integrationstests
...
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Version | Dato | Ansvarlig | Beskrivelse |
---|---|---|---|
1.0 | 20.09.2016 | Systematic | Initiel udgave |
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Definition | Beskrivelse |
---|---|
DDS | Dokumentdelingsservice |
NSI | National Sundheds-IT |
NSP | Den nationale service platform (inden for sundheds-IT) |
XDS | Cross-Enterprise Document Sharing |
Alias | Beskrivelse | ||||||
---|---|---|---|---|---|---|---|
| Guide til udviklere - Svareksponeringsservice XDS-adaptere, (SSE/11734/PHB/0045) | ||||||
| Testrapport Svareksponeringsservice XDS-adaptere, (SSE/11734/TRP/0108) | ||||||
| Konfiguration af Svareksponeringsservice XDS-adaptere, (SSE/11734/NOT/0056) |
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
...
Anchor | ||||
---|---|---|---|---|
|
Wiki Markup |
---|
Følgende tests er afviklet som en del af komponentudviklingen og i forbindelse med release. Der henvises til \[Testrapport\] for fastholdelse af resultaterne fra gennemførte tests ifm. release. |
Anchor | ||||
---|---|---|---|---|
|
Unittests ligger i:
- *\src\test\java*
Wiki Markup |
---|
under de forskellige maven-artefakter, der indgår i Svareksponeringsservice XDS-adaptere. Resultatet af kørte tests opsummeres ved byg, beskrevet i \[Udviklerguide\]. |
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
...
- Dokumentdelingsservices (og dennes afhængigheder til øvrige services, se herunder).
- Svareksponeringsservice XDS-adaptere
Wiki Markup |
---|
\\
I stamdata skal testbruger være defineret som testperson med autorisationsnr.
Testbrugeren skal være whitelistet til at anvende dokumentdelingsservicen, se afsnit 3.2.3.
Der skal være etableret forbindelse til backend-systemet, hvilket potentielt indebærer oprettelse af laboratoriesvar i Laboratoriedatabanken.
Dokumentdelingsservicen skal være konfigureret til at anvende Svareksponeringsservice XDS-adaptere, som beskrevet i \[Konfiguration\]. |
Anchor | ||||
---|---|---|---|---|
|
...
Testklienten benytter et test-medarbejdercertifikat (MOCES) hentet fra et maven-artefakt etableret i regi af NSI, hvor organisationen bag er whitelistet til at benytte Dokumentdelingsservicen.
I testklienten er med property-fil konfigureret brug af følgende test-bruger, der er oprettet som testperson med autorisationsnummer i testmiljøets stamdata, f.eks. på NSP-miljø test1:
Læge Karl Hoffmann Svendsen, aut.reg.nr. NS362.
I testklienten er hardcoded anvendelse af følgende testpatienter:
Cpr-nummer for testpatient | Beskrivelse |
2512484916 | Cpr-nummer for testpatient med data i backend-systemet |
0101010101 | Cpr-nummer for testpatient uden data i backend-systemet |
Tabel 1 Id for testpatienter, der benyttes af tests.
...
Anchor | ||||
---|---|---|---|---|
|
Wiki Markup |
---|
Code coverage kontrolleres ved brug af Cobertura, som foreslået af NSP Husregler (for leverandører). Code coverage-rapporter fra et release er fastholdt i tilhørende \[Testrapport\]. |
Anchor | ||||
---|---|---|---|---|
|
...
- Cobertura etableres, ved enten:
- Download fra fx sourceforge (https://sourceforge.net/projects/cobertura/) og udpakning
- Kildekode hentes fra https://github.com/cobertura/cobertura/releases og bygges
- Ant installeres
- Download fra http://archive.apache.org/dist/ant/binaries/apache-ant-1.9.4-bin.tar.gz
I Ant's lib folder bør følgende jars være tilgængelige
Jar
Fremskaffelse
asm-5.0.1.jar
Indeholdende i Cobertura-2.1.1-bin-tar
asm-analysis-5.0.1.jar
Indeholdende i Cobertura-2.1.1-bin-tar
asm-commons-5.0.1.jar
Indeholdende i Cobertura-2.1.1-bin-tar
asm-tree-5.0.1.jar
Indeholdende i Cobertura-2.1.1-bin-tar
asm-util-5.0.1.jar
Indeholdende i Cobertura-2.1.1-bin-tar
cobertura-2.1.1.jar
Indeholdende i Cobertura-2.1.1-bin-tar
commons-lang3-3.3.2.jar
Indeholdende i Cobertura-2.1.1-bin-tar
oro-2.0.8.jar
Indeholdende i Cobertura-2.1.1-bin-tar
slf4j-api-1.7.5.jar
Indeholdende i Cobertura-2.1.1-bin-tar
slf4j-log4j12-1.6.4.jar
Bør være i lokal m2 folder
log4j-1.2.16.jar
Bør være i lokal m2 folder
- Installation af Cobertura modul på WildFly:
Følgende Cobertura afhængigheder kopieres fra cobertura-2.1.1-bin.tar.gz til <wildfly folder>/modules/net/sourceforge/cobertura/main
Jar
Destination
<arkiv>/cobertura-2.1.1.jar
<modul-main>/
<arkiv>/lib/asm-tree-5.0.1.jar
<modul-main>/lib/
<arkiv>/lib/asm-commons-5.0.1.jar
<modul-main>/lib/
<arkiv>/lib/asm-util-5.0.1.jar
<modul-main>/lib/
<arkiv>/lib/asm-analysis-5.0.1.jar
<modul-main>/lib/
<arkiv>/lib/oro-2.0.8.jar
<modul-main>/lib/
- En module.xml fil skabes i samme main mappe med følgende indhold:
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="net.sourceforge.cobertura">
<resources>
<resource-root path="."/>
<resource-root path="cobertura-2.1.1.jar"/>
<resource-root path="lib/asm-tree-5.0.1.jar"/>
<resource-root path="lib/asm-commons-5.0.1.jar"/>
<resource-root path="lib/asm-util-5.0.1.jar"/>
<resource-root path="lib/asm-analysis-5.0.1.jar"/>
<resource-root path="lib/oro-2.0.8.jar"/>
</resources>
<dependencies>
<module name="asm.asm" />
<module name="javax.servlet.api" />
<module name="org.slf4j" />
</dependencies>
</module>
- Default udskrives coveragefilen (cobertura.ser) i <wildfly folder>/bin mappen. Ønskes filen udskrevet til en anden mappe skabes filen cobertura.properties i main mappen med indeholdet:
net.sourceforge.cobertura.datafile=<sti>/cobertura.ser
For at få Cobertura til at skrive coverage af integrationstests, er der to muligheder:
Metode
Installation og brug
coberturaFlush.war servicen
- coberturaFlush.war er at finde i Cobertura-2.1.1-bin-tar
- Før kopiering til <WildFly>/standalone/deployments skal følgende linje tilføjes til coberturaFlush.war/META-INF/MANIFEST.MF:
Dependencies: net.sourceforge.cobertura Efter ændring deployeres coberturaFlush.war og servicen udstiller "<host>/coberturaFlush/flushCobertura". Kald til denne service ved f.eks. Curl får Cobertura til at skrive coverage filen. (Se trin 3.3).|
Genstart af WildFly
- Cobertura skriver automatisk coverage fil ved genstart af WildFly
- Denne mulighed kræver følgende ændring i <wildfly folder>/bin/standalone.conf med tilføjelse af:
JAVA_OPTS="$JAVA_OPTS -Djboss.shutdown.forceHalt=false"|
Bemærk at når WildFly startes med instrumenteret kode, da startes "optagelse" af code coverage. Ved kald til coberturaFlush servicen skabes et billede af hvordan coverage ser ud nu. Dette billede skrives til <wildfly>/bin/cobertura.ser, hvor filen bliver additivt opdateret, hvis filen findes i forvejen, eller skabes, hvis den ikke findes. "Optagelse" af code coverage bliver først reset ved genstart af WildFly og fjernelse af <wildfly>/bin/cobertura.ser.- Genstart af WildFly
...
mvn verify –Pexternal-test __
-Denvironment-property-file=<sti til tilpasset environment.properties> \
-Dtestclient-property-file=<sti til tilpasset testclient.properties>
- Afslutning af coberturas optagelse gennemføres ved enten:
- Shutdown af WildFly, eller
- At åbne siden http://<host:port>/coberturaFlush/flushCobertura (fx via curl eller i browser. Bemærk at dette forudsætter at filen coberturaFlush.war blev kopieret og deployeret)
- Flet code coverage-rapporter ved i kommandoprompt i SXA hovedfolder at udføre:
cd cobertura/target/coberturaReporting-coberturaReporting
ant –f cobertura.xml create-report
- Genereret code coverage-rapport kan nu læses i folderen cobertura/target/coberturaReporting-coberturaReporting/report