Page History
...
Indledning
Dette dokument beskriver kort omkring udvikling og afvikling af jmeter tests.
Dokumenthistorik
Version | Dato | Ansvarlig | Beskrivelse |
1.0 | 15-11-2018 | Openminds | Oprettelse |
| 1.1 | 14-11-2019 | Lakeside | Opdatering vedr. test krav |
| 1.2 | 24-09-2020 | KvalitetsIT | Opdatering ifm. flytning af test til arosiis performance test framework |
Krav
Servicemålene herunder er for henholdsvis MinLog 2 registreringsservices (svartider opdatering) og MinLog opslagsservices (Svartider forespørgsler).
...
Både MinLog2 og Minlog1 bør testes, da alle snitflader vil blive belastet i indkøringsfasen, det forudsættes at de eksisterende MinLog1 performances test kan benyttes.
Lookup
Borger
Der skal udarbejdes et CPR nummer SELECT repræsenterende forskellige grupper i forhold til mængder af MinLog logninger i alt svarende til 2 % af alle med MinLog borger entrys.
| Interval af antal entrys | Antal CPR numre |
|---|---|
| 0 - 50 | 20.000 |
| 50 - 100 | 20.000 |
| 100 - 500 | 20.000 |
| 500 - 1000 | 20.000 |
| 1000 - 5000 | 19.000 |
| 5000 -10.000 (hvis de findes?) | 1.000 |
Sundhedsfaglig - Medhjælpslog
Der skal udarbejdes et CPR nummer SELECT af nedre og øvre kvartil i mængden af MinLog logninger svarende til 2 % af alle med MinLog medhjælps entrys. CPR nummerne skal være sundhedsfaglige med delegering.
Registration
Der skal udarbejdes et registration sæt som indsættes med 20.000 registringer pr. 5 min interval stigende op mod 60.000 pr. 5 min. interval.
Der skal teste både bulk og single registreringer.
...
Baggrundsdata
...
Version
...
Dato
...
Ansvarlig
...
Beskrivelse
...
1.0
...
15-11-2018
...
Openminds
...
Oprettelse
...
Database
Databasen skal indeholde en kopi af produktion.
Look up Id
Til lookup Id ws anvendes følgende fil:
- borger.txt - tekstfil indeholdende borger Id'er.
Til lookup Id on behalf of anvendes følgende fil:
- cprlist.csv - CSV-fil indeholdende 10400 cpr-numre.
Registration
Til registration anvendes følgende fil
- opret.csv - CSV-fil indeholdende 142.895 cpr-numre.
Antal registreringer pr. kald kan konfigureres
Udførsel af test
Forberedelse
Testen hentes fra
Testdata
Byg
Opsætning
svn checkout https://svn.nspop.dk/svn/openmindscomponents/Performanceperformance/trunk
Byg med mvn clean install.
Download og anvend jmeter version 2.9 binary.
I ...\apache-jmeter-2.9\bin\user.properties skal følgende linier tilføjes.
...
search_paths=MVNPATH/.m2/repository/com/arosii/nsp/jmeter-minlog2/1.7.5-SNAPSHOT/jmeter-minlog2-1.7.5-SNAPSHOT.jar;SVNPATH/performance/modules/jmeter-gw/target/jmeter-gw.jar;SVNPATH/performance/modules/jmeter-dcc/target/jmeter-dcc.jar;SVNPATH/performance/modules/jmeter-sdm/target/jmeter-sdm.jar;SVNPATH/performance/modules/jmeter-sts/target/jmeter-sts.jar;SVNPATH/performance/modules/jmeter-common/target/jmeter-common.jar;SVNPATH/performance/modules/jmeter-minlog/target/jmeter-minlog.jar;SVNPATH/performance/modules/jmeter-dds/target/jmeter-dds.jar;SVNPATH/performance/modules/jmeter-consent/target/jmeter-consent.jar
user.classpath=MVNPATH/.m2/repository/javax/javaee-api/7.0/javaee-api-7.0.jar;MVNPATH/.m2/repository/commons-discovery/commons-discovery/0.2/commons-discovery-0.2.jar;MVNPATH/.m2/repository/axis/axis/1.4/axis-1.4.jar;MVNPATH/.m2/repository/ca/juliusdavies/not-yet-commons-ssl/0.3.9/not-yet-commons-ssl-0.3.9.jar;MVNPATH/.m2/repository/org/owasp/esapi/esapi/2.0.1/esapi-2.0.1.jar;MVNPATH/.m2/repository/org/opensaml/openws/1.5.4/openws-1.5.4.jar;MVNPATH/.m2/repository/joda-time/joda-time/2.2/joda-time-2.2.jar;MVNPATH/.m2/repository/org/opensaml/opensaml/2.6.4/opensaml-2.6.4.jar;MVNPATH/.m2/repository/org/opensaml/xmltooling/1.4.4/xmltooling-1.4.4.jar;MVNPATH/.m2/repository/dk/sosi/seal/seal/2.4.5/seal-2.4.5-tests.jar;MVNPATH/.m2/repository/com/arosii/nsp/jmeter-sts/1.7.5-SNAPSHOT/jmeter-sts-1.7.5-SNAPSHOT.jar;MVNPATH/.m2/repository/org/apache/ws/security/wss4j/1.5.12/wss4j-1.5.12.jar;MVNPATH/.m2/repository/org/bouncycastle/bcprov-jdk15on/1.51/bcprov-jdk15on-1.51.jar;MVNPATH/.m2/repository/com/unboundid/unboundid-ldapsdk/2.3.1/unboundid-ldapsdk-2.3.1.jar;MVNPATH/.m2/repository/org/apache/santuario/xmlsec/1.4.8/xmlsec-1.4.8.jar;MVNPATH/.m2/repository/com/arosii/nsp/jmeter-minlog2/1.7.5-SNAPSHOT/jmeter-minlog2-1.7.5-SNAPSHOT.jar;MVNPATH/.m2/repository/dk/sosi/seal/seal/2.4.5/seal-2.4.5.jar;MVNPATH/.m2/repository/dk/sosi/testtools/testtools/2.4.5/testtools-2.4.5.jar;MVNPATH/.m2/repository/org/antlr/antlr-runtime/3.3/antlr-runtime-3.3.jar;MVNPATH/.m2/repository/org/antlr/stringtemplate/4.0.2/stringtemplate-4.0.2.jar;MVNPATH/.m2/repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar;MVNPATH/.m2/repository/log4j/log4j/1.2.17/log4j-1.2.17.jar;
i den revision, der er angivet nedenfor per release af MinLog 2 servicen.
Databasen klargøres.
Der skal være en kørende version af MinLog 2 servicen, man kan teste imod. Og host.properties skal være sat korrekt op jf. arosiis performance test framework.
Kørsel
Når databasen er på plads, servicen kørende og testen configureret kan følgende køres:
Lookup on behalf of
run_test.sh -h hosts.properties -p 9012 minlog2 lookup_onbehalfof test900
Lookupid
run_test.sh -h hosts.properties -p 9012 minlog2 lookupidws test900
Registration
run_test.sh -h hosts.properties -p 9012 minlog2 registration test900
(distributionenerne *test900 kører 15 minutter, der findes også kørsler til 10 sekunder (*test10) )
Version
MinLog2 Release | Performance test revision |
|---|---|
| 2.*.* | 2.0.* |
'* ' betyder hvilken som helst
Erstat "MVNPATH" med stien til maven repositories. Erstat "SVNPATH" med stien til svn projektet.
Vær opmærksom på at separator på windows er ; og på mac/linux :
jmeter startes vha. C:\tools\apache-jmeter-2.9\bin\jmeter.bat eller ./jmeter.sh
...
Performance tests
Lookup
Der er lavet en LookupRequestSampler. Den tager et cpr som input og forventer der er et IDCard på threadcontexten. Med inputtet laver den et kald til GetLogStatementsForCPRPerson. Vær opmærksom på at testen er bundet til et certifikat og dermed et idcard og dermed et lookup.
...
.../tests/minlog2/src/test/jmeter/templates/testplans/lookup.template.jmx
Lookup on behalf of
Her laves der lookup on behalf of hvor man enten benytter et medarbejder certifikat eller et firmacertifikat.
...
.../tests/minlog2/src/test/jmeter/templates/testplans/lookup_onbehalfof.template.jmx
Lookupid
Under setup hentes der nemind certifikater for de test brugere der benyttes. Lookupidentitytoken sampleren tager cpr, procurator cpr og subject som input. De nemid certifikater der hentes ind gemmes i et statisk map så de kan genbruges af lookupid sampleren i selve performance testen.
...
.../tests/minlog2/src/test/jmeter/templates/testplans/lookupidws.template.jmx
Registration
Vi har lavet et eksempel på hvordan det kan sættes op her.
...