Indhold


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:

  • Kør fra projektets rod i en kommandolinje:
    • mvn install
    • mvn site
    • mvn site:stage
  • Vis det generede site ved at åbne /target/staging/index.html i en browser
  • Vælg 'Cobertura Test Coverage' under 'Project documentation'-'Project Reports' i menuen til venstre


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:

Derudover kode uden forretningslogik






Performance

Det følglende beskriver performance test og analyse for

MinLog2 - Performancetest rapport borger lookup
MinLog2 - Performancetest rapport medhjælper lookup
MinLog2 - Performancetest rapport minlog1 lookup

Først er kravene til rapporten listet, dernæst beskrives de forskellige typer test data output, og hvordan de anvendes i analysen. Derefter skitseres performance kravene for begge test. Og herefter analyses data.

Krav til 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:

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.

Performance analyse

For alle test gælder følgende:

Udover det fremsatte performance krav på svartid, er der en række andre punkter som bør analyseres for at vurdere servicens sundhed.

Følgende punkter bliver derfor undersøgt:

Der er ikke målinger på database serveren (MariaDB) eller Kafka serveren.

Undersøgelserne foregår vha. de forskellige log filer, som er genereret under performance testen. De følgende afsnit gennemgår de vigtigste tal fra disse filer:

Hver kørsel/iteration (øgning af belastning) har en start og slut tid. Filerne access.log og jstat.log indeholder tidstempler. Dette muliggør at de kan mappes til en given iteration. Filen vmstat har ikke tidstempel. Men da den er startet samtidig med jstat loggen og logintervallet er kendt på 10 sekunder, kan iterationernes placering i data beregnes. Docker stats loggen har hverken tidsstempel eller fast logninginterval, hvorfor tallene/graferne kun kan bruges som en generel betragtning over hele test perioden.

I det nedenstående kan man klikke på de enkelte grafer for større billede. De enkelte iterationer er tegnet ind som lodrette mørke streger; 2 streger per iteration (start og slut tidspunkt).