Jämförda versioner

Nyckel

  • Dessa rader lades till.
  • Denna rad togs bort.
  • Formateringen ändrades.

Funktionella tester

Lasttester

Körning av de existerande lasttesterna

Alla lasttestfunktionalitet finns just nu i https://code.google.com/p/skltp/source/browse/tp/ei/trunk/modules/intsvc/

SoapUI

Jag har skapat ett version av soapui-projektet där jag lagt tester för Update
och FindContent.

Projektet heter SKLTP-EI-loadtests-soapui-project.xml
Detta gör det rimligt enkelt att köra enskilda lasttester inifrån SoapUI. De
testr som finns är:

Update med 1, 10, 100, 1000 engangemang
FindContent med 2 eller alla element.

För att testa med olika anrop med sekund är man tvungen att köra med olika
samtidiga klienter (trådar). För att få detta någotlunda enkelt så jag har varit tvungen att skapa fasta
alternativ av antalet trådar. (Det finns en lösning runt detta när man kör från terminalen men jag har inte hunnit skapa detta.)

Det är viktigt att ställa in rätt endpoints för varje tjänst om testerna inte
ska köra mot qa1. Detta görs på följande sätt:

Dubbelklicka på UpdateResponderBinding, välj 'Service Endpoints'. Välj
exempelvis 'https://qa.esb.ntjp.sjunet.org:20000/vp/Update/1/rivtabp21' och tryck knappen 'Assign'.
Välj alternativet 'All requests och TestRequests' och tryck på ok.

Uppdatera detta för FindContentWSBeanServiceSoapBinding samt
ProcessNotificationResponderBinding.

Köra lasttester i SoapUI.

För att köra ett simpelt test i klicka TestCaset och sedan Loadtests.
Dubbellklicka för att få fram ett fönster där högerpilen finns längst upp på
fönstret.

Som resultat ser man antal test per sekund, genomsnittlig svarstid o.s.v.

Köra lasttester i SoapUI från terminalen

För att köra lasttesterna från SoapUI behöver följande göras

  • Hämta skript och installera soapUI samt Ruby om maskinen inte kör på osx
  • Gå in i katalogen loadtest_runner och öppna filen run.sh. Sätt variablerna soapUIpath (sökväg till soapui-katalogen)
    samt remote_host som är adressen som cpu-monitoreringen görs mot. För att kunna göra ssh-monitorering
    krävs antingen extisterande sshanslutningen ControlMaster eller att anslutningen använder nycklar.
    För att verifiera att det fungerar, skriv ssh ADDRESS_TILL_REMOTE_HOST i terminalen och verifiera att
    det går att logga in utan att ange lösenord.
  • Kör ./run.sh från terminalen. Tar upp idag cirka 60 minuter

Resultat från skriptet

Från skriptet kommer man se statistik kring svarstider för de olika testerna,
antal tester per sekund samt last och cpuinfo.

...

JMeter

Då SoapUI inte verkar kunna hantera keep-alive syns ingen märkbar skillnad i
svarstiderna när keep-alive är på och när det är avstängt. Har därför porterat
några av lasttesterna till JMeter för där på ett korrekt sätt kunna göra tester
med keep-alive.

Köra lasttester med JMeter

  • Öppna SKLTP-EI-loadtests-jmeter.jmx med JMeter
  • I menyn, välj SSL-manager ange certifikatet som ska användas. (Jag har använt
    tk_qa_auth.p12)
  • Aktivera den eller de threadgroups som ska köras och tryck sedan på kör.
  • Resultatet visas som helhelt för den aktuella trådgruppen samt för varje
    soaprequest i trådgruppen.

Tänk på att de olika trådgrupperna har olika inställningar för antal
samtidiga klienter och körlängder. Detta ställs in i trådgruppsinställningarna
(klicka på den valfri Thread Group).