Page History
Navitabs | ||||||
---|---|---|---|---|---|---|
| ||||||
Indhold
Table of Contents |
---|
Indledning
Leverancen indeholder unit tests, integrationstest og performance/endurancetests.
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 et sammendrag af dokumentet MinLog2-Testvejledning og performance
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.
Dokumenthistorik
Version | Dato | Ansvarlig | Beskrivelse |
1.0 | 10-10-2019 | Openminds |
Definitioner og forkortelser
Definition | Beskrivelse |
NSP | Den nationale service platform (inden for sundheds-IT) |
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'
Coverage report
Cobertura benyttes til – via maven – at danne en coverage rapport:
|
Rapporten kan også findes i code/target/staging.
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.*
Derudover kode uden forretningslogik
Performance
Rapport
Når en performancetest er afviklet skal der produceres en performancetestrapport. Denne skal redegøre for hvilke testplaner/distributioner der har været afviklet og skal præsentere findings ifm hver test. Følgende indhold forventes som minimum i en performancerapport:
- Det maksimale Throughput målt under testen og hvorledes dette forholder sig til det forventede brug.
- Gennemsnitlig svartid (100% og 95% fraktil) for de forskellige iterationer samt hvilket Throughput der skabte denne svartid.
- Bevist for at svartidskravene i kravspecifikationen er overholdt.
- Grafer over Throughput, Gennemsnitlig svartid, CPU belastning, Heap forbrug, IO wait time.
- En analyse af hvad der er den begrænsende faktor for Throughput og svartid.
- Foreslag til hvorledes Throughput kan øges og svartid kan mindskes baseret på de observationer der er foretaget.
Logs og målinger
Under en performancetest opsamles de logfiler som komponenten producere samt følgende målinger:
- vmstat - Opsamler målinger af virtuel memory-forbrug på process niveau.
- dockerstat - Opsamler målinger af resource-forbrug for en Docker process.
- jstat - Opsamlinger målinger af f.eks. Garbage Collection i en Java process.
- iostat - Opsamlinger målinger af io-forbrug (f.eks. disk) på et system.
Alle disse logfiler og målinger samles med de logfiler som NSP Performance Framework producerer og udleveres til komponentleverandøren, så denne kan producere grafer mv. til performancetestrapporten.