Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Navitabs
rootLaboratoriesvarservice (SXA) - Leverancebeskrivelse
includeroottrue


Anchor
_Toc40578283
_Toc40578283

Svareksponeringsservice XDS-Adaptere
Testvejledning

Anchor
_Toc44403513
_Toc44403513
Anchor
_Toc277248668
_Toc277248668
Anchor
_Toc327798371
_Toc327798371
Anchor
_Toc292960798
_Toc292960798
Indhold
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
_GoBack
_GoBack

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
_Toc317831244
_Toc317831244
Anchor
_Toc317839917
_Toc317839917
Anchor
_Toc327543209
_Toc327543209
Anchor
_Toc462245120
_Toc462245120
Dokumenthistorik

Version

Dato

Ansvarlig

Beskrivelse

1.0

20.09.2016

Systematic

Initiel udgave

Anchor
_Toc327543210
_Toc327543210
Anchor
_Toc462245121
_Toc462245121
Definitioner og referencer

Definition

Beskrivelse

DDS

Dokumentdelingsservice

NSI

National Sundheds-IT

NSP

Den nationale service platform (inden for sundheds-IT)

XDS

Cross-Enterprise Document Sharing

Alias

Beskrivelse

Anchor
ref_UdviklerGuide
ref_UdviklerGuide
Udviklerguide

Guide til udviklere - Svareksponeringsservice XDS-adaptere, (SSE/11734/PHB/0045)

Anchor
ref_Testrapport
ref_Testrapport
Testrapport

Testrapport Svareksponeringsservice XDS-adaptere, (SSE/11734/TRP/0108)

Anchor
ref_Konfiguration
ref_Konfiguration
Konfiguration

Konfiguration af Svareksponeringsservice XDS-adaptere, (SSE/11734/NOT/0056)

Anchor
_Toc327543211
_Toc327543211
Anchor
_Toc462245122
_Toc462245122
Overblik over tests

...

Anchor
_Toc462245127
_Toc462245127
Afviklede tests

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
_Toc462245128
_Toc462245128
Unittest

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
_Ref416952058
_Ref416952058
Anchor
_Toc462245129
_Toc462245129
Integrationstest til verifikation af funktionalitet

...

  • 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
_Toc462245131
_Toc462245131
Setup

...

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
_Toc462245135
_Toc462245135
Generering af code coverage-rapporter

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
_Toc462245136
_Toc462245136
Code coverage for unittests

...

  1. Cobertura etableres, ved enten:
    1. Download fra fx sourceforge (https://sourceforge.net/projects/cobertura/) og udpakning
    2. Kildekode hentes fra https://github.com/cobertura/cobertura/releases og bygges
  2. Ant installeres
    1. Download fra http://archive.apache.org/dist/ant/binaries/apache-ant-1.9.4-bin.tar.gz
    2. 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

  3. Installation af Cobertura modul på WildFly:
    1. 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/

    2. 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>

    1. 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

    1. For at få Cobertura til at skrive coverage af integrationstests, er der to muligheder:

      Metode

      Installation og brug

      coberturaFlush.war servicen

      1. coberturaFlush.war er at finde i Cobertura-2.1.1-bin-tar
  1. Før kopiering til <WildFly>/standalone/deployments skal følgende linje tilføjes til coberturaFlush.war/META-INF/MANIFEST.MF:

    Dependencies: net.sourceforge.cobertura
  2. 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

    1. Cobertura skriver automatisk coverage fil ved genstart af WildFly
  3. 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.
    1. Genstart af WildFly

...

mvn verify –Pexternal-test __
-Denvironment-property-file=<sti til tilpasset environment.properties> \
-Dtestclient-property-file=<sti til tilpasset testclient.properties>

  1. Afslutning af coberturas optagelse gennemføres ved enten:
    1. Shutdown af WildFly, eller
    2. 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)
  2. Flet code coverage-rapporter ved i kommandoprompt i SXA hovedfolder at udføre:

cd cobertura/target/coberturaReporting-coberturaReporting
ant –f cobertura.xml create-report

  1. Genereret code coverage-rapport kan nu læses i folderen cobertura/target/coberturaReporting-coberturaReporting/report