Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Hvis man ønsker af afvikle testen op mod en andet miljø f.eks. test1 eller test2 henvises til NXRG - Testvejledning.

4.6. Performance test

Performance testen foregår vha. et test framework udviklet af Arosii.

Performance testen består af 2 dele:

  1. Udvikling af selve testen. Dette foregår i JMeter og kræver både java udvikling og efterfølgende opsætning i JMeter.
  2. Udførsel af testen. Dette foregår vha. en række shell scripts på en master og flere slave maskiner. 

Udvikling og opsæt er beskrevet i nærværende dokument, mens den faktiske udførsel af testen er beskrevet i NXRG Testvejledning.

Performance testen skal passe til NXRGs  snitflader. Ændres disse er det også nødvendigt at ændre performance testen.

I det følgende antages at koden er hentet ned fra SVN: https://svn.nspop.dk/svn/components/performance/trunk/  samt at man har docker installeret i sit udviklingsmiljø. JMeter skal også være tilgængelig.

Kildekodens struktur

Kildekoden indeholder også performance test til andre services, men i nedestående er NXRG vigtigste dele trukket frem.



├── modules
    ├── ...
    ├── jmeter-ihe/src/main
    │                    ├── java/com/arosii/
    │                    │   ├── protocol/ihe/
    │                    │   │    ├── control/gui/
    │                    │   │    │    ├── AbstractRegisterDocumentSetSamplerGui.java
    │                    │   │    │    ├── ITI18SamplerGui.java
    │                    │   │    │    ├── ITI42SamplerGUI.java
    │                    │   │    │    ├── ITI57SamplerGUI.java
    │                    │   │    │    └── ITI61SamplerGUI.java
    │                    │   │    ├── sampler
    │                    │   │    │    ├── AbstractIHEDocumentRegistryUpdateSampler.java
    │                    │   │    │    ├── ITI18Sampler.java
    │                    │   │    │    ├── ITI42Sampler.java
    │                    │   │    │    ├── ITI57Sampler.java
    │                    │   │    │    └── ITI61Sampler.java
    │                    │   └── resources/ihe/
    │                    │        └── Messages.java
    │                    └── resources/com/arosii/jmeter/
    │                        ├── protocol/ihe/sampler/
    │                        │    └── persons_nxrg.txt 
    │                        └── resources/ihe/
    │                             └── messages.properties

    └── ...
├── tests
    ├── ...
    ├── ihe
    |   └── /src/test/jmeter/templates
    |                         ├── distributions
    |                         │   └── 15min.template.jmx
    │                         └── testplans
    |                             ├── nxrg_iti18.template.jmx
    |                             ├── nxrg_iti42_create_replace.template.jmx
    |                             ├── nxrg_iti57_create_deprecate.template.jmx

    |                             └── nxrg_iti61_create_replace.template.jmx
    └── ...



modules: indeholder kildekoden til de forskellige test

  • GUI klasserne anvendes til indtastning  af test parametre
  • Sampler klasserne anvendes til at lave det faktiske service kald
  • persons_nxrg indeholder de cpr numre, der skal køres test med
  • Message indeholder labels til skærmbillederne

tests: indeholder de generede test filer

  • distributioner
  • planer

Versionskontrol

Test versionen styres vha. af revision i trunk. I dokumentet "testvejledning" afsnit performance test angives, hvilken version af performance testen der anvendes med en given version af NXRG.

Udvikling af test

NXRGs  performance test består af ovennævnte java sourcer. Disse vedligeholdes i takt med at NXRG snitflader ændres/udvides og skal performance testes.

Lokal test kan gøres ved at bygge projektet og starte JMeter op.

Generering af testfiler

Når man har udviklet og bygget test projektet, startes JMeter. Herefter kan en eksisterende performance test åbnes og køres herfra. Eller en ny kan laves. 

Det følgende skærmbillede viser den skærm, som er udviklet i ITI42SamplerGUI med data hentet fra en gemt test:

Image Modified

Når man starter testen (den grønne pil) aktiveres et kald mod den service, der er konfigureret under 'Host configuration' og hermed aktiveres koden fra ITI42Sampler.

Resultatet kan ses under 'View Result Tree',  hvor både kald og svar kan ses. 

Den endelige kørsel af performance testen skal bruge en test plan (skabes når ovenstående test gemmes) samt en distribution, der indeholder 'Distribution' delen af ovenstående. De gemmes henholdsvis i tests/ihe/src/test/jmeter/templates/testplans og tests/ihe/src/test/jmeter/templates/distributions