Introduktion

Formål

Formålet med dette dokument er at beskrive de tests, som er udviklet og afviklet forud for release af Min Spærring service.

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 og MySQL.

Dokumenthistorik

versionDatoAnsvarligBeskrivelse

1.0

29.06.2012

Systematic

Initiel udgave

1.1

21.08.2012

Systematic

Beskrivelse af keystores i afsnit 2.2.1 uddybet.

1.2

25.09.2012

Systematic

Beskrivelse af integrationstest opdateret

1.3

23.05.2014

Systematic

Rettelser som konsekvens af opsplitning af tidl. NPI-mavenprojekt i selvstændige komponenter.

1.4

28.11.2014

Systematic

Referencer til Nationalt Patientindeks (NPI) fjernet

1.5

25.11.2016

Systematic

Fjernet performance- & endurancetest afsnit da de ikke længere er anvendt.

1.6

13.06.2018

Systematic

Migreret til NSPOP SVN


22.10.2018KITDokument flyttet fra Word til Confluence. Original dokument navn var: PHB0008 Testvejledning Samtykke Service.docx

Definitioner og referencer

DefninitionBeskrivelse

NSI

National Sundheds-IT (Navnet er skiftet til Sundhedsdatastyrelsen, men forkortelsen anvendes stadig I pakkenavne på softwaren)

NSP

Den nationale service platform (inden for sundheds-IT)

SHAK

Sygehusafdelingsklassifikation

SOR

Sundhedsvæsenets organisationsregister

STS

Security Token Service

AliasBeskrivelse

UdviklerGuide

Guide til Udviklere Min Spærring Service (SSE/11734/PHB/0007)

TestRapport

Testrapport Min Spærring Service (SSE/11734/TRP/0008)

 Afviklede component tests

Følgende tests er afviklet som en del af komponent udviklingen. Der henvises i øvrigt til [UdviklerGuide] og [TestRapport].

Unittest til Code Coverage

Min Spærring består af ConsentAdministration og ConsentVerification.

ConsentAdministration har en unittest klasse:

  • consentservices\common\src\test\java\dk\nsi\consentservices\common\dao\impl\ConsentDAOTest.java

ConsentDAOTest tester at de samtykke- og spærring registreringer der foretages overholder de foreskrevne restriktioner.

ConsentVerification har to unittest klasser:

  • consentservices\consentverification\application\src\test\java\dk\nsi\consentservices\consentverification\impl\ConsentForForeignersTest.java

  • consentservices\consentverification\application\src\test\java\dk\nsi\consentservices\consentverification\impl\ConsentVerificationLogicTest.java

ConsentForForeignersTest tester håndteringen af forespørgsler efter samtykke/spærring til udenlandske sundhedspersoner.

ConsentVerificationLogicTest indeholder unit tests, der verificerer logikken til Min Spærring verifikation.

Fælles for begge services er at de bruger DGWS Consumer / Provider til sikkerhedsintegration og Min Log til auditering, hvoraf Min Log er beskrevet i et andet dokument.

Integrationstest til verifikation af funktionalitet

Integrationstestene til de to Min Spærring services er baseret på de vedlagte webserviceklienter:

  • consentservices\consentadministration\client\src\main\java\dk\nsi\consentservices\consentadministration\ConsentAdministrationService.java

  • consentservices\consentverification\client\src\main\java\dk\nsi\consentservices\consentverification\ConsentVerificationService.java

Begge gør brug af DGWS Consumer klasserne til sikkerhedsintegration.

ConsentAdministration har to integrationstest klasser:

  • consentservices\consentadministration\integrationtest\src\test\java\dk\nsi\consentservices\consentadministration\bean\impl\ConsentAdministrationSecurityIT.java

  • consentservices\consentadministration\integrationtest\src\test\java\dk\nsi\consentservices\consentadministration\bean\impl\ConsentAdministrationServiceIT.java

ConsentAdministrationSecurityIT tester at servicen kun kan tilgås med valide certifikater og såfremt brugeren findes i whitelisten.

ConsentAdministrationServiceIT tester de forretningsorienterede krav til servicen.

ConsentVerification har ligeledes to integrationstest klasser:

  • consentservices\consentverification\integrationtest\src\test\java\dk\nsi\consentservices\consentverification\bean\impl\ConsentVerificationSecurityIT.java

  • consentservices\consentverification\integrationtest\src\test\java\dk\nsi\consentservices\consentverification\bean\impl\ConsentVerificationServiceIT.java

ConsentVerificationSecurityIT tester at servicen kun kan tilgås med valide certifikater og såfremt brugeren findes i whitelisten.

ConsentVerificationServiceIT tester de forretningsorienterede krav til servicen.

Testdata

Keystores benyttes i forbindelse med integrationstestene både af test-drivere og af services deployeret til JBoss.

Integrationstestenes test-drivere benytter keystores validVocesVault.jks og expiredVocesVault.jks, der udtrækkes automatisk fra artefaktet remote-test-resources (dk.nsi.dgws) ved kørsel af integrationstest.

Services deployeret til JBoss benytter validVocesVault.jks, der ved deployering ligeledes udtrækkes automatisk fra remote-test-resources.

Begge services har et setup og teardown sql-script liggende under:

  • consentservices\consentadministration\integrationtest\src\test\resources\sql

  • consentservices\consentverification\integrationtest\src\test\resources\sql

Integrationstest på NIAB med anvendelse af DCC

ConsentAdministration servicen kan testes på NIAB sammen med DCC, såfremt denne er konfigureret på NIAB’en. Konfiguration af service URL for consentadministration i test properties filen ændres til at pege på service endpoint for smtykkeadminsitration servicen på DCC..

Eksempel herunder fra consentservices/testclient.nspadmin.properties

administration.wsdl.location = http://localhost:8080/consent-administration/service?wsdl
administration.service.url = http://localhost:8080/decoupling/consent-administration/service

  • No labels