Introduktion
Formål
Formålet med dette dokument er at beskrive de tests, som er udviklet og afviklet forud for release af FSK Registry.
Følgende typer af test bruges indgår i udviklingsarbejdet:
Unittests, der verificerer, at de individuelle enheder i kildekoden virker efter hensigten, herunder måling af code coverage.
Integrationstest til der verificerer at de individuelle enheder kan integreres og arbejde sammen, verifikation af funktion og deployment.
Performancetest, der verificerer at servicen performer med hensyn til svartider og er stabil under et specifikt load, som i nogle tilfælde kan anvendes med samme mål som integrationstests.
Endurancetests, der verificerer at servicen fungerer under længerevarende belastning og ikke har f.eks. memory leaks som kan udføres i stagning/produktionslignende miljø.
For de typer af tests og det også beskrevet i hvilket omfang der er særlige krav til testdata, og hvorledes etablerede testdata kan vedligeholdes.
Læsevejledning
Dokumentet henvender sig til udviklere og testere. Læseren forventes at have kendskab til Java software udvikling, herunder unittesting, med anvendelse af Maven, JBoss applikationsserver.
Definitioner og referencer
Definition | Beskrivelse |
NSP | Den nationale service platform (inden for sundheds-IT) |
Afviklede component tests
Følgende tests er afviklet som en del af komponent udviklingen. Der henvises i øvrigt til Udviklerguiden og Testvejledning (FSK).
Unittest
FSK Registry består af en servlet, der implementerer ITI-18 Registry Stored Query.
FSK Regstry logik samt beregning af Document Entry samt validering af CPR numre er dækket af unit tests.
Unit tests afvikles som en del af byg af FSK Registry:
mvn clean install
eller ved at kalde:
mvn test
Integrationstest til verifikation af funktionalitet
Når FSK Registry er deployet kan en integrationstest aktiveres via Maven ved følgende kommando:
mvn test -Pintegration-tests -Dintegrationtestpropdir=src/test/integrationstest-localhost
hvor "integrationtestpropdir" udpeger det underbibliotek, hvor den skal ledes efter test.properties (og eventuelle jks).
Integrationstesten afvikles ikke som en del af byg.
Indholdet af test.properties er som følger:
Property | Beskrivelse |
patientIdAuthority | OID for patient id authority (f.eks. CPR registerets OID 1.2.208.176.1.2) |
patientId | Patient id (CPR nummer), der skal forespørges på (f.eks. 2512489996) |
documentEntry.metadata.metadataEntry[0].formatCodeCode documentEntry.metadata.metadataEntry[1].formatCodeCode | FormatCode og typeCode der findes på test systemet. Dette anvendes til at tjekke at de korrekte dokumenter er returneret. Rækkefølgen skal være den samme som på test systemet. FormatCode og og typeCode med index 1, anvendes også til at forespørges på for at få et enkelt dokument retur. |
iti18.endpoint | URL for ITI-18 service (f.eks. http://localhost:8060/fskregistry/iti18) |
health.endpoint | URL for helbreds/versionsservice (f.eks. http://localhost:8060/fskregistry/health) |
Ved aktivering af integrationstesten vil helbreds/versionsservice afprøves.
Derudover vil der laves følgende
- en ITI-18 søgning på det angivne patient id. Den samme forespørgsel køres to gange. Det verificeres, at der i begge resultater returneres netop det antal DocumentEntry, som er konfigureret, og at de returnerede dokument id'er er det samme for begge svar.
- en ITI-18 søgning på det angivne patient id, formatcode og typecode (index 1) . Den samme forespørgsel køres to gange. Det verificeres, at der i begge resultater returneres netop eet DocumentEntry, og at det returnerede dokument id er det samme for begge svar.
- en ITI-18 søgning på det angivne patient id, og ikke eksisterende formatcode og typecode. Det verificere, at der ikke returneres noget svar i dette tilfælde
Performancetests
Der er ikke kørt nogen separat performance test på FSK Registry.
Endurance tests
Der er ikke kørt nogen separat endurance test på FSK Registry.