Indhold

Indledning

Dette dokument beskriver kort omkring udvikling og afvikling af jmeter tests.

Krav


Servicemålene herunder er for henholdsvis MinLog 2 registreringsservices (svartider opdatering) og MinLog opslagsservices (Svartider forespørgsler).

ServiceServicemål
Svartider opdatering95 % af tilfældene ≤ 6,5 sek
98 % af tilfældene ≤ 15,5 sek

Svartider forespørgsler

95 % af tilfældene ≤ 2,5 sek
98 % af tilfældene ≤ 5,5 sek

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 af nedre og øvre kvartil i mængden af MinLog logninger svarende til 2 % af alle med MinLog borger entrys.

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.

Dokumenthistorik

Version

Dato

Ansvarlig

Beskrivelse

1.0

15-11-2018

Openminds

Oprettelse

1.114-11-2019LakesideOpdatering vedr. test krav

Testdata


Byg

Opsætning

svn checkout https://svn.nspop.dk/svn/openminds/Performance/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;

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

Test templates og tilhørende filer findes i .../tests/minlog2/src/test/jmeter/templates/testplans/

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. 

Se eksemplet her.

.../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.

I setup fasen indhentes certifikatet og herefter startes selve performance testen.

Lookup on behalf of sampleren tager et cpr som input. Så det er muligt at sætte testen op så man indlæser en fil med flere cprnumre og bruger forskellige hver gang et kald laves.

Vi har lavet et eksempel på hvordan det kan sættes op her.

.../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.

Lookupidws sampleren tager et cpr som input. Den bruger cpr til at hente certifikatet fra setup af og laver hefterter et kald til minlog2 hvor certifikatet benyttes.

Vi har lavet et eksempel på hvordan det kan sættes op her.

.../tests/minlog2/src/test/jmeter/templates/testplans/lookupidws.template.jmx


Registration

Vi har lavet et eksempel på hvordan det kan sættes op her.

tests/minlog2/src/test/jmeter/templates/testplans/registration.template.jmx