Versions Compared

Key

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

...

I det følgende antages at koden er hentet ned fra SVN: https://svn.nspop.dk/svn/kvalitetsit/cave-performance/  samt at man har docker installeret i sit udviklingsmiljø.

Hvis ikke nedenstående fremgangsmåder fungerer umiddelbart, kan der hentes hjælp i filen README, der ligger i roden i projektet. Denne indeholder information om software og OS platform.

Kildekode struktur

Kilde koden er udleveret af Arosii og eftefølgende tilrettet til LAR service projektet. Kildekoden indeholder også performance test til andre services. Om disse er opdateret til kørende version af disse services er ikke sikkert, men kan tjene til inspiration til fremtidig udvikling af performance test.

.

├── doc

├── environment

├── jmeter-docker

├── kit-vagrant

├── modules
   ├── ...
    ├── larservice
    └── ...

├── tests
   ├── ...
    ├── larservice/src/test/jmeter
    │   ├── performancedata
    │   ├── cavedatabasedump.sql
    │   │ ├── cprSample.txt
    │   | └── readme.txt
    │   └── templates

    └── ...

| ├── distributions
    |   └── test.

..

├── larservice-war

    └── src

        ├── main
        │   ├── java
        │   ├── resources
        │   └── webapp
        │       └── WEB-INF
        │           ├── jboss-deployment-structure.xml
        │           └── web.xml
        └── test
            ├── conf
            │   ├── application.properties
            │   ├── log4j-larservice-ws.xml
            │   ├── log4j-nspslalog-lar.properties
            │   ├── log4j.properties
            │   ├── module.xml
            │   ├── systemtest19-ca.cer

            │   └── nspslalog-lar.properties

            ├── installation
                └── larservice-ds.xml

template.jmx
    │   └── testplans
    |   └── listallergy.template.jmx
    └── ...


doc: indeholder Arosiis vejledning til brug af frameworket

...

jmeter-docker: indeholder det, som muliggør at køre JMeter i en docker container

...

modules: indeholder kildekoden til de forskellige test, herunder larserviceLAR servicen

tests: indeholder de generede test filer (test filer og eventuelle hjælpe filer. For LAR servicens vedkommende indeholder folderen udover test filer et database dump med 50.000 allergier og den tilhørenede liste af cpr numre.

Versionskontrol

Ændringer til cave-performance skal tagges i SVN med samme release som den lar version rettelsen gælder. 

Udvikling af test

LAR servicens performance test består af tre java sourcer, hvoraf der reelt er logik to af dem, og som skal vedligeholdes ved LAR snitflade ændringer.

  • ListAllergyRequestSamplerGui: indeholder skærmbillede logik til at kunne angive input parametrene til LAR servicen
  • ListAllergyRequestSampler: indholder logik til at lave det faktisk web service kald med de angivne input værdier

Ved ændringer skal der typisk sættes nye felter på i  ListAllergyRequestSamplerGui og disse anvendes herefter i ListAllergyRequestSampler. Derefter bygges med 

mvn -Pdockerbuild clean install.

Ved at anvende profilen "dockerbuild" bliver der samtidig oprettet et docker image, som anvendes, når man starter JMeter op (se næste afsnit)

Generering af test filer 

Når man bygget test projektet som angivet i forrige afsnit, starter JMeter op ved

docker run -it --net=host -e DISPLAY=$DISPLAY -v ${PWD}/tests/:/tests/ -v /tmp/.X11-unix:/tmp/.X11-unix -v ~/.Xauthority:/root/.Xauthority:ro kvalitetsit/cave-performance

Herefter vil JMeter GUI starte op. Eksisterende performance test kan åbnes og køres herfra: