1. Indhold
1.1. Indledning
Leverancen indeholder unit tests, integrationstest og endurancetest.
Unittests bør afvikles som en del af byggeprocessen, mens integrationstesten bør afvikles mod den deployede komponent. Begge disse tests kan afvikles med maven.
Endurancetesten bør afvikles med jmeter mod den deployede komponent.
Indeværende dokument indeholder beskrivelse af, hvordan disse tests afvikles. Resultatet af endurancetesten er beskrevet i særskilt dokument.
1.2. Læsevejledning
Læseren forventes at have kendskab til National Sundheds-IT's platform NSP, samt generelt kendskab til WildFly applikation server, MariaDB, Kafka og java.
1.3. Dokumenthistorik
|
Version |
Dato |
Ansvarlig |
Beskrivelse |
| 1.4 | 23-01-2020 | KIT | Beskrivelse af ny suite til integrationstests |
| 1.3 | 19-09-2019 | Openminds | Gennemgang og mere detaljeret dokumentation |
| 1.2 | 25-09-2018 | Openminds | Yderligere specifikation som følge af ny borgerservice og Kafka |
|
1.1 |
07-09-2017 |
Openminds |
Tilføjelse af yderligere integrationtests |
|
1.0 |
15-06-2017 |
Aage Nielsen |
|
1.4. Definitioner og forkortelser
|
Definition |
Beskrivelse |
|
NSP |
Den nationale service platform (inden for sundheds-IT) |
1.5. Unit tests
Unit tests bliver afviklet som en del af bygget, med mindre man eksplicit angivet, at det ikke ønskes.
Kør 'mvn clean install' eller 'mvn clean test'
1.5.1. Coverage report
Cobertura benyttes til – via maven – at danne en coverage rapport:
|
Rapporten kan også findes i code/target/staging.
1.5.2. Bemærkninger
Det er et krav, at der skal være en coverage på 80 %. Dog kan fx genereret kode afvige fra dette.
Nedenfor er beskrevet, hvilke pakker, der vurderes ikke at leve op til coverage kravet.
Følgende pakker indeholder genereret kode eller 3. part:
- dk.medcom.dgws.*
- oasis.*
- org.*
- dk.sundhedsdatastyrelsen.minlog.xml_schema.*
1.6. Integrationstest
Der findes en række forskellige integrationstests som validerer at komponenterne er deployet korrekt og understøtter ønskede use cases.
Integrationstests findes under modulet 'integrations-tests'.
1.6.1.1. Afvikling
Der er lavet følgende konfigurationer, som kan aktiveres ved at tilføje miljøangivelse i kaldet af maven.
| Testmiljø | Beskrivelse | Afvikles |
|---|---|---|
| dev | Konfigurationerne passer til det miljø, der startes op under udvikling i docker (/minlog/compose/development) | mvn test -Pintegration-test -Denv=dev |
| test1 | Konfigurationerne passer til NSP TEST01 miljøet | mvn test -Pintegration-test -Denv=test1 |
| test2 | Konfigurationerne passer til NSP TEST02 miljøet | mvn test -Pintegration-test -Denv=test2 |
1.6.1.2. Properties
Når man afvikler integrationstests, så har man nu mulighed for at styre dele af afviklingen vha. properties.
| Property | Beskrivelse | Default | Afvikles/Eksempler |
|---|---|---|---|
debug.nspSoap
|
Under afvikling af integrationstest, så skrives alle output og input igennem NspSoapClient klassen ud i loggen. Det fylder meget og kan støje ift. de oplysninger der ellers logges. Derfor er det muligt at med denne property at stoppe for logningerne fra NspSoapClient. |
true | mvn test -Pintegration-test -Denv=dev -Ddebug.nspSoap=false |
procurationtests.skip |
Nogle tests har en tendens til at fejle, da de har brug for fuldmagter for at testene er fyldestgørende. Så pga. de problemer med fuldmagtsservice, så har man her muligheden for at afvikle alle de integrationstests, som ikke er afhængige af fuldmagter. | false | mvn test -Pintegration-test -Denv=dev -Dprocurationtests.skip=true |
1.7. Performance- og endurancetest
Der henvises til MinLog2 - Performancetestvejledning dokumentet.