1. Introduktion

1.1. Formål

Formålet med nærværende dokument er at beskrive de tests, som er udviklet og afviklet forud for release af Aftaleoversigt XDS-adaptere. Desuden beskrives generering af code coverage-rapporter.

1.2. Læsevejledning

Dokumentet henvender sig til udviklere og testere. Læseren forventes at have kendskab til Java software udvikling, herunder unit testing, med anvendelse af Maven, Docker og Wildfly applikationsserver.

2. Overblik over tests

Følgende beskriver de forskellige tests og hvorvidt de er forberedt og gennemført ved release af Aftaleoversigt XDS-adaptere.

2.1. Unit test

Automatiserede unittests, der verificerer funktionalitet på klasse- eller komponentniveau, er tilgængelige jævnt over kodebasen og udføres, medmindre eksplicit frabedt, ved hvert byg af softwaren.

2.2. Integrationstest (til verifikation af funktionalitet)

Automatiserede integrationstests, der verificerer både adfærd og brug af snitflader i setup, hvor Aftaleoversigt XDS-adaptere er integreret med andre services, er tilgængelige. Integrationstestene kræver øvrige services for at kunne afvikles, hvilket er beskrevet i efterfølgende afsnit tillige med testdata og afvikling.

2.3. Performancetest

Performancetests verificerer at servicen performer med hensyn til svartider og/eller er stabil under et specifikt load, som i nogle tilfælde kan anvendes med samme mål som integrationstests.

Der er ikke forberedt eller kørt performancetest for Aftaleoversigt XDS-adaptere.

2.4. Endurancetest

Endurance-tests verificerer at servicen fungerer under længerevarende belastning og ikke lider under f.eks. memory leaks.

Der er ikke forberedt eller gennemført endurance-test for Aftaleoversigt XDS-adaptere.

3. Afviklede tests

Følgende tests er afviklet som en del af komponentudviklingen og i forbindelse med release. Der henvises til AO XDS Adaptere - Testrapport for fastholdelse af resultaterne fra gennemførte tests ifm. release.

3.1. Unit test

Unittests ligger i:

*\src\test\java\*

under de forskellige maven-moduler, der indgår i Aftaleoversigt XDS-adaptere.

Resultatet af kørte tests opsummeres ved byg, beskrevet i AO XDS Adaptere - Udviklerguide.

3.2. Integrationstest til verifikation af funktionalitet

Integrationstestene til Aftaleoversigt XDS-adaptere verificerer, at der kan laves opslag af metadata og indhentning af dokument.

Integrationstestene udføres uden Dokumentdelingsservicen dvs. direkte op i mod AO XDS Adaptere.

Følgende integrationstest demonstrerer adfærd ved timeout og utilgængelighed, hvilket kræver omkonfiguration inden kørsel (se herunder):

  • integrationtest\src\test\java\dk\nsi\dds\projects\ao\integrationtest\AoConfigurationChangeIT.java

3.2.1. Forberedelse

Der skal være en kørende udgave af docker-setupet i

compose/development/docker-compose.main.v20.yml

3.2.2. Testdesign

Integrationstests, der verificerer Aftaleoversigt XDS-adaptere ved at kalde Dokumentdelingsservicens snitflader, findes i filer under folderen integrationtest\src\test\java\dk\nsi\dds\projects\ao\integrationtest.

Disse verificerer følgende (for detaljer henvises til filer under nævnte folder) ved positive tests:

  • At der returneres dokumentmetadata for Aftaleoversigt XDS-adaptere ved opslag på testpatient på Dokumentdelingsservicen ved anvendelse af søgeparametre specifikke for Aftaleoversigtsdokumenter
  • At fremfundne dokumentmetadata for Aftaleoversigtsdokumenter afspejler kombinationer af start- og stop-tidspunkter i søgeparametre
  • At der returneres Aftaleoversigtsdokument med tomt resultat-afsnit ved indhentning af dokument for testpatient uden data i backend-systemet
  • At der returneres Aftaleoversigtsdokument indeholdende aftaler ved indhentning af dokument for testpatient med data i backend-systemet
  • At der returneres Aftaleoversigtsdokument med tomt aftale-afsnit ved indhentning af dokument for testpatient med data i backend-systemet, når dette sker baseret på søgning med periode, hvor patienten ikke har aftaler

Integrationstestene verificerer følgende (for detaljer henvises til filer under nævnte folder) ved negative tests:

  • At der ikke returneres dokumentmetadata for Aftaleoversigtsdokument, når opslag på testpatient på Dokumentdelingsservicen sker uden anvendelse af søgeparametre specifikke for Aftaleoversigtsdokumenter

Integrationstests gennemføres ved at udføre maven-kommando:

mvn verify -Pexternal-test

Integrationstestene understøttes kun med standardprofilen “main” og ved brug af Bookplan stubben ”appointmentstub”.

Bemærk, at visse integrationstests kræver konfigurationsændringer og derfor er sat til ignored. Disse kan, efter konfigurationsændring som beskrevet i deres javadoc, køres selvstændigt ved at udkommentere ignore og tilføje argument –Dit.test=<testklasse-navn> til ovenstående maven-kommando.

  • No labels