Page History
| Navitabs | ||
|---|---|---|
| ||
Indholdsfortegnelse
| Table of Contents |
|---|
Introduktion
2.1. Formål
Formålet med dette dokument er at beskrive de tests, som er udviklet og afviklet forud for release af
...
GM-BFF.
Følgende typer af test
...
indgår i udviklingsarbejdet:
Unittests, der verificerer, at de individuelle enheder i kildekoden virker efter hensigten, herunder måling af code coverage.
Integrationstest, der verificerer at de individuelle enheder kan integreres og arbejde sammen, til 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.
...
.
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.
2.2. 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
...
.
...
...
2
...
.3. Definitioner og referencer
Definition | Beskrivelse |
DDS
Dokumentdelingsservice
NSI
National Sundheds-IT
NSP
Den nationale service platform (inden for sundheds-IT)
SHAK
Sygehusafdelingsklassifikation
SOR
Sundhedsvæsenets organisationsregister
STS
Security Token Service
Alias
Beskrivelse
UdviklerGuide
DDS - Guide til Udviklere
TestRapport
DDS - Testrapport til sammenligning
| NSP | National Service Platform |
| GM-BFF | Min Graviditet Backend for Frontend |
3. Afviklede komponenttest
Følgende tests er afviklet som en del af komponent udviklingen. Der henvises i øvrigt til guide til
...
udviklere for udførselsvejledning
...
.
3.1. Unittest til Code Coverage
...
Koden kan findes på https://git.nspop.dk/projects/BFF/repos/min-graviditet-backend-for-frontend/browse
GM-BFF unittests ligger i
...
projektets test pakker
...
dds\ddsregistry\application\src\test\java\
dds\ddsregistry\common\src\test\java\
dds\ddsrepository\application\src\test\java\
dds\common\src\test\java\
Eksempler på unit test er:
- AdhocQueryRequestWrapperTest verificerer at udtræk af patient id fra AdhocQueryRequest er korrekt.
- AdhocQueryResponseWrapperTest tester metoder på AdhocQueryResponseWrapper til filtrering af AdhocQueryResponse ud fra samtykker.
- DDSRegistryLogicTest tester den implementerede forretningslogik i DDS Registry, fejlhåndtering og delvist tilgængelighed af de backend services DDS Registry bruger.
- TreatmentRelationInvokerTest tester integrationen mod behandlingsrelationsservicen.
- AuthorisationCodeCheckerTest tester rettighedsstyring i forhold til autorisationstabellen, som i testen er en in-memory-database.
- UserCheckTest tester valideringens- og autorisationslogikken til rettighedsstyring ifm. HSUID-roller.
- RetrieveDocumentSetResponseWrapperTest tester metoder på RetrieveDocumentSetResponseWrapper til filtrering af AdhocQueryResponse ud fra samtykker.
- DDSRepositoryLogicTest tester den implementerede forretningslogik i DDS Repository, fejlhåndtering og delvist tilgængelighed af de backend services DDS Repository bruger.
Integrationstest til verifikation af funktionalitet
Integrationstestene til DDS Registry og Repository er ligger under /integrationtest.
Der er udviklet integrationstests, der matcher user stories og test cases i dokumentet DDS - Guide til anvendere.
Testene er også dokumenteret i design og arkitektur dokument i afsnit "Adgangsscenarier og tests"
Testdata
Integrationstestene udføres som udgangspunkt vha. NSP Test Identity Provider, hvor også keystores skaffes fra. En undtagelse fra dette er kald til registrering af dokumenter via ITI41, hvor der kaldes direkte mod open-xds uden dgws.
Integrationstestene er afhængige af pre-installeret testdata for:
Whitelist
Stamdata (SOR-data og autorisationsregister-data)
Integrationstests opretter selv sine testdata i form af spærringer og dokumenter.
Følgende identiteter anvendes som testpersoner i integrationstesten:
...
Navn
...
CPR
...
CVR
...
Autorisation
...
Autorisationskode
...
YderNr
...
National rolle
Afvikling af unit test med coverage rapport:
mvn verify |
Rapporten kan findes under: /target/site/jacoco-aggregate/index.html
. Integrationstest til verifikation af funktionalitet
Integrationstest afvikles med
mvn verify |
3.2.1. Testdata
...
EmployeeIdentities.sundhedsassistentEdsgerDijkstra()
...
EmployeeIdentities.sundhedsassistentKristenNygaard()
...
EmployeeIdentities.peterNaur()
...
EmployeeIdentities.lægeCharlesBabbage()
...
6QF17
...
EmployeeIdentities.lægeCharlesBabbage()
...
EmployeeIdentities.lægeCharlesBabbage()
...
OrganizationIdentities.sundhedsdatastyrelsen()
...
OrganizationIdentities.testOrganisation98021838()
...
Følgende cpr numre anvendes for Patienter:
CPR | Krav |
|---|
Skal have fuldmagt til 0405732615 ved
- fuldmagtstrengen urn:dk:nspop:sts:dds:read
- Relation i personInformation
Testpersonerne oprettes på følgende måde:
- Som udgangspunkt anvendes test person der findes i NSP Test Identity Provider.
- For lægeCharlesBabbage() er det gjort muligt at skifte hans cvr nummer, sådan at whitelisting kan aftestes.
- Ellers skal de oprettes i DTG - dette er typisk patienter:
- Se beskrivelsen her: https://www.nspop.dk/display/public/web/DTG+-+Guide+til+anvendere
- Her skal man bruge navn, CPR og adresseoplysninger.
- Efter testpersonen er oprettet tilknyttes evt. autorisationer (Tilføj event + opret ny autorisation).
Integrationstest mod miljøer
Testene kan afvikles mod følgende miljøer:
- local (udviklingsmiljøet som defineret i docker-compose setup, se udviklerguide for en beskrivelse af hvordan dette startes op.)
- test1 (DDS deployet på TEST1 miljøet)
- test2 (DDS deployet på TEST2 miljøet)
Testen afvikles manuelt med følgende kommando, når man befinder sig i dokumentdelingsservice/integrationstest:
mvn verify -P<miljø>,integration-testsPerformancetests
Der er ikke kørt nogen separat performance test på DDS Repository.
Testdata
Der er ingen særlige testdata eller krav til testdata for disse tests.
Endurancetest
Der er ikke kørt nogen separat endurance test på DDS Registry og Repository.
Testdata
...
1111110101 | Ingen |
3.2.2. Integrationstest mod miljøer
Ikke muligt.
Dokument Historik
| 3/4 2025 | Martin Henriksen/SDS | Etablering af dokumentation |
| 18/9 2025 | Thomas Glæsner/Trifork | Udfyldt |