logo

Apache JMeter


JMeter     JMeter je opensource aplikácia na meranie výkonu, správnej funkčnosti, zaťažovania webových aplikácií a je súčasťou projektu Jakarta od Apache. Tento projekt je napísaný a vyvíjaný v programovacom jazyku Java. Grafické rozhranie obsahuje niekoľko módov. GUI rozhranie sa skladá zo swing komponentov a vďaka Java platforme je použiteľný vo väčšine operačných systémov. Ako ďalšie grafické rozhranie ponúka JMeter aj non-GUI mód, čo výrazne znižuje zaťaženie systému, na ktorom program beží, a to vďaka absencii grafického rozhrania. Remote Testing mód slúži na spustenie Klient-Server testovania, kedy sa spustí na serveri časť programu, ktorá vykonáva zasielanie požiadaviek na server a klientovi doručí už len výsledky testovania. Týmto spôsobom sa dá odstrániť vplyv rušivých miest, ktoré môžu spomaľovať test aplikácie.

 

     JMeter naplno využíva multithreading, čiže rôzne testovacie úlohy rozdelí do viacerých vlákien. Vďaka intuitívne navrhnutému grafickému prostrediu je program veľmi rýchlo osvojiteľný užívateľom a všetky informácie z testov sú prehľadne vypísané v tabuľkách a grafoch.

Apache JMeter sa dá využiť na testovanie týchto typov serverov a ich služieb:

Web – HTTP, HTTPS

SOAP

Databáza cez JDBC

LDAP

JMS

Mail – POP3(S) a IMAP(S)


          JMeter pracuje na základe testovacieho plánu, ktorý mu zostaví užívateľ. Pre celú skupinu platia zadefinované premenné v User Variables, ktoré využívajú jednotlivé úlohy v testovacích cykloch. Počas týchto cyklov nám testovacie funkcie poskytujú dynamický vstup do testu alebo manipulovanie so získanými hodnotami, čo má veľkú výhodu pri hľadaní chýb v testovacom pláne.

Testovací plán slúži ako zoznam krokov, ktoré budú vykonané počas testovania. Plán môže obsahovať logické ovládače, časovače, vzorkovače a iné konfiguračné elementy. Všetky tieto elementy patria do určitej hierarchie a preto ich umiestnenie v testovacom pláne má vplyv na priebeh testovania.

Testovací plán 

      Testovací plán musí obsahovať aspoň jeden element Thread Group, ktorý tvorí základ testovacieho plánu. Každá Thread Group obsahuje vlákna, ktoré počas testovania slúžia na simuláciu prístupu užívateľa na aplikáciu resp. server. Dôležitými parametrami Thread Group sú Number of Threads ( počet vlákien-užívateľov, ktoré sa majú vytvoriť ), Ramp-Up Period ( čas za ktorý sú vytvorené všetky vlákna ) a Loop Count ( počet opakovaní testu ). Testovanie môžeme aj načasovať pomocou Scheduler, kde je potrebné nadstaviť premenné StartTime a EndTime, ktoré odštartujú a ukončia daný test v zvolenom časovom intervale.

Nastavenie testovacích vlákien

          Element User Defined Variables obsahuje základné premenné, ktoré slúžia všetkým ďalším elementom. Obsahuje však aj základnú premennú url, ktorá slúži ako základná adresa aplikácie, ktorú chceme otestovať. Ďalšou premennou je číslo portu webovej služby, ktorá beží na serveri. Doplňujúcou premennou je path, ktorá poslúži pri jednotlivých testovaných úlohách ako priama cesta.

Zadefinovanie užívateľských premenných

     Loop Controller je element slúžiaci na vytvorenie opakovaného cyklu vlákien a tento cyklus môže mať stanovený počet opakovaní alebo môže byť pustený nekonečne dlho. Toto nastavenie nájde svoje uplatnenie pri záťažových testoch.

Zadefinovanie počtu opakovacích cyklov testu

          Element Counter je v rámci stromovej štruktúry vo vetve Loop Controller a tu slúži ako počítadlo iterácií. Element je možné nadstaviť tak, aby pre každé vlákno bolo vytvorené nové počítadlo.

Vytvorenie počítadla testovacích cyklov

       Element HTTP Request slúži ako vzorkovač, ktorý vykonáva zadefinovanú činnosť určenú na testovanie. Pre správne fungovanie je potrebné uviesť tieto premenné Server Name or IP, Port Number, Path. Podľa potreby je potrebné vyplniť mená a hodnoty premenných, ktoré by za normálnej činnosti posielal vyplnený formulár alebo odkaz.

ytvorenie vzorkovača  so zadefinovanými vlastnými  premennými

         Na záver treba ešte zadefinovať „ poslucháča“ , ktorý má za úlohu z nameraných dát spraviť prehľadné vizuálne zobrazenie pomocou tabuliek a grafov. Element Listener má viacero variácií a každá z nich zobrazuje rôzne informácie o priebehu testovania aplikácie. Medzi tieto elementy patria napr. View Results Table, View Results Tree, Graph Results, Summary Report, Agregate Graph, Spline Visualizer.

Sumarizácia nameraných výsledkovv programe JMeter




                             

logo