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:
Unittests: Unittests tester, at de individuelle/isolerede enheder (klasser) i kildekoden virker som de skal.
Integrationstest: Integrationstests der afvikles ved byg af løsningen og mock NAS services der er konfigureret til at give foruddefinerede svar.
NAS integrationstest: Afvikling af integrationstests udviklet i NAS2 projektet mod en kørende NAS Multiplexer.
De første to er beskrevet under unit tests og den sidste er beskrevet under "integrationstest til verifikation af deployment".
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.
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).
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.