Introduktion

Formål

Formålet med dette dokument er at beskrive de tests, som er udviklet og afviklet forud for release af NAS multiplexeren.

Følgende typer af test bruges indgår i udviklingsarbejdet:

De første to er beskrevet under unit tests og den sidste er beskrevet under "integrationstest til verifikation af deployment".

Læsevejledning

Dokumentet henvender sig til udviklere og testere.

Læseren forventes at have kendskab til Java software udvikling, herunder unittesting ved anvendelse af JUnit og Maven.

UnitTests

Der findes unit tests og integration tests af relevante områder af NAS Multiplexer. Det vil sige alle områder der har noget med den forretningsmæssige funktionalitet. 

Placeringen af disse følger standarden foreskrevet af Maven og er placeret i src/test/java i hvert af NAS Multiplexerens moduler.

Unittests er navngivet med navnet på den klasse, som de tester, efterfulgt af Test.

Således ligger unittesten for klassen:

./services/multiplexer/src/main/java/dk/nsp/nasmultiplexer/multiplexer/service/HealtServiceImpl.java

implementeret i:

./services/multiplexer/src/test/java/dk/nsp/nasmultiplexer/multiplexer/service/HealtServiceTest.java

Unittests er stilmæssigt opbygget på følgende måde:


Unittests er implementeret vha JUnit og kan eksekveres af Mavens standard testplugin SureFire.

Til udregning af testcoverage anvendes Jacoco Maven Plugin (se JaCoCo Maven plug-in).

Testcoverage udregnes i de enkelte Maven moduler i NAS Multiplexeres og aggregeres til en samlet rapport i modulet testreport.

Således er en samlet rapport over testcoverage tilgængelig i

./testreport/target/site/jacoco-aggregate/


Unittests og tilhørende udregning af testcoverage udføres som en integreret del af byg af komponenten (se i øvrigt Multiplexer - udviklerguide).

Integrationstest til verifikation af deployment

Her anvendes de integrations tests der er udviklet som en del af NAS2 projektet. Integrationstesten konfigureres til at kalde NAS Multiplexeren og dermed testes funktionaliteten af denne samt det verificeres at beskeder leveret til det ene system også kan afhentes igen. 

Det er muligt at afvikle NAS integrationstesten mod en lokaltion installation af multiplexeren. I folderen etc/nas ligger der en compose fil. Den starter et setup af 2 notifcation brokere samt tilhørende pullpoint service osv.

I folderen compose/test ligger der en compose fil der starter multiplexeren.

Når alle containere er startet kan NAS2 integrationstesten startes med nedenstående kommando fra NAS2 projektet i folderen interation-test.

mvn -Pdevelopment -Dnotificationbroker.endpoint=http://localhost:9090/multiplexer verify


Se testvejledning for NAS2 for hvordan testen den afvikles mod f.eks. test1 miljøet.