detail description jmeter components
Recenze komponent Jmeter (část II):
=> Toto je součást tréninkové série JMeter. Seznam všech tutoriálů v této sérii najdete zde .
Doufám, že jste všichni museli projít Úvod a instalace JMeter teď. Jak pokračujeme s dalším v řadě, důrazně doporučujeme, abyste si všichni museli nainstalovat JMeter a cvičit bok po boku.
V tomto výukovém programu se čtenáři seznámí všechny komponenty JMeter a jak je použít v plánu zkoušek pokrýt všechny možné scénáře testování výkonu k testování AUT (Testovaná aplikace).
nejlepší software pro obnovu dat Windows 10
Prvky Jmeteru byly uvedeny v předchozím článku.
Co se naučíte:
Součásti JMeter
Znovu odepřít pro vaši referenci:
- Testovací plán
- ThreadGroup
- Vzorníky
- Posluchači
- Pracovní stůl
- Tvrzení
- Konfigurační prvek
- Logické řadiče
- Časovač
Všechny hlavní součásti Jmeteru, jako je skupina vláken, vzorkovače, posluchače a prvky konfigurace, jsou podrobně vysvětleny dále v článku.
V níže uvedeném vývojovém diagramu najdete informace o každé komponentě a jejich vztahu ke konkrétním modulům JMeter.
Nyní bychom se začali dotýkat každé komponenty Jmeteru spolu s případy použití, abychom věděli, jak to funguje a jak je mohou testeři implementovat do svého testování. V tomto článku se nebudeme věnovat všem samplerům, posluchačům. Budeme pracovat na těch nejpoužívanějších a v dalším článku si odpočineme, až vytvoříme testovací plány v reálném čase.
Testovací plán
Stejně jako jednoduchý testovací plán v Testování softwaru sestává ze všech kroků, které provádějí skript, má testovací plán JMeter stejný účel. Vše, co je zahrnuto v plánu testování, se provádí v pořadí shora dolů nebo podle definované sekvence v plánu testu.
Testovací plán může být tak jednoduchý, jak jen může být, s Just ThreadGroup, Sampler a Listener, a začíná být složitější, jakmile začnete přidávat další prvky, jako jsou konfigurační prvky, preprocesory nebo řadiče.
Jak všichni víme, JMeter měří výkon generováním virtuálních uživatelů nebo vláken, které zasáhnou testovaný server, jako kdyby skuteční uživatelé odesílali požadavky na server. Každý testovací plán by proto měl mít virtuální uživatele nebo skupinu vláken, jak jim říkáme v podmínkách JMeter.
Důležité body týkající se plánu testování:
- Před spuštěním by měl být plán testu uložen
- Soubory Jmeter nebo testovací plány jsou uloženy ve formě. Soubory rozšíření JMX
- Můžete také uložit části testovacího plánu jako jiný výběr. Například, Pokud chcete uložit vzorkovač požadavků HTTP s posluchačem, můžete jej uložit jako testovací fragment, aby jej bylo možné použít i v jiných testovacích scénářích
- Prvky WorkBench se neuloží s testovacím plánem
Skupina závitů
Skupina vláken je skupina uživatelů, která zasáhne testovaný server buď souběžně, nebo v nějaké předem definované posloupnosti. Skupinu vláken lze přidat do plánu testování kliknutím pravým tlačítkem na plán testu. JMeter je vše „věci s pravým kliknutím“, všechny možnosti získáte kliknutím pravým tlačítkem.
Název skupiny vláken můžete přejmenovat na svůj vlastní. Stačí změnit název a kliknout kamkoli mimo okno Testovací plán, uvidíte změnu názvu.
Pro přidání skupin vláken viz níže uvedený snímek obrazovky
(Poznámka: Klikněte na libovolný obrázek pro zvětšené zobrazení)
Je velmi důležité nakonfigurovat skupinu vláken podle testovacích podmínek.
Například, pokud chcete otestovat, jak se chová webový server, když na něj narazí současně 100 uživatelů, můžete nastavit skupinu vláken níže:
V zásadě existují tři hlavní parametry, které je třeba nakonfigurovat tak, aby generovaly skutečné zatížení nebo virtuální uživatele:
- Počet vláken (uživatelé) - Definuje počet virtuálních uživatelů. Pro účely testování bychom měli generovat pouze omezené množství zátěže, protože generování velkého objemu najednou by znamenalo spotřebovat hodně mnoha vláken, což může nakonec vést k vysokému využití CPU.
- Náběhové období - Toto pole je velmi důležité při řízení generování zátěže. Ramp up period definuje dobu, po kterou bude vygenerováno celkové zatížení.
Příklad 1:
- To znamená, že všech 10 uživatelů narazí na servery současně, jakmile proběhne test
Příklad 2:
- Všichni jste si určitě všimli zaškrtávacího políčka „Plánovač“ na výše uvedeném snímku obrazovky. V případě, že chcete, aby váš test proběhl v určitou dobu později, můžete nastavit časování, jak vidíte také na následujícím snímku obrazovky. To znamená, že každou 1 sekundu bude nový uživatel zasáhnout server. Zátěž nebude souběžná, ale bude v přírůstcích. Do 10thzadruhé, všichni uživatelé by požadavek zaslali.
- Počet smyček - Definuje počet spuštění skupiny vláken. Pokud zaškrtnete políčko Navždy, váš test bude navždy spuštěn, pokud jej nezastavíte ručně. To lze použít k testování něčeho jako „Pokud se váš server při nepřetržitém načítání několik minut nezřítí“.
Vzorníky
Jak tedy Jmeter ví, jaký typ požadavku byl odeslán na server ???
- Je to přes Samplery. K testovacímu plánu je nutné přidat vzorkovače, protože pouze to může Jmeteru sdělit, jaký typ požadavku musí jít na který server as jakýmikoli předdefinovanými parametry. Požadavky mohou být HTTP, HTTP (s), FTP, TCP, SMTP, SOAP atd.
Vzorkovače lze přidat pouze do skupiny vláken, která není přímo v plánu testování, protože skupiny vláken musí použít vzorkovač k odeslání požadavku na testovanou adresu URL serveru. Vzorník lze přidat cestou Skupina vláken -> Sampler -> Požadavek HTTP.
HTTP požadavky
Toto jsou nejčastější požadavky odesílané na servery. Říci, například, chceme, aby zasáhlo 100 uživatelů https://www.google.com současně to lze provést, jak je popsáno na následujícím snímku obrazovky:
- Cesta je navigace uvnitř hlavního webu. Například pokud chceme stisknout http://www.google.com/gmail, můžeme v cestě nastavit „/ Gmail“ a zbytek zůstane stejný
- Do názvu serveru nemusíte psát „www“
- Číslo portu se používá, pokud používáte libovolný server proxy
- Timeout Connect and Response lze nastavit, pokud chcete mít měřítko v době připojení k serveru a době odezvy. Váš požadavek se nezdaří, pokud odeslání odpovědi serveru trvá déle než nakonfigurovanému
- Můžete také nakonfigurovat parametry, které se mají odeslat s vaším požadavkem. Například: V některých případech možná budete muset poslat autorizační token se svým požadavkem, takže jste je přidali do požadavku HTTP, jak je uvedeno níže:
Žádosti o FTP
Cesta-> Testovací plán-> Skupina vláken-> Vzorkovač-> Požadavek na FTP
FTP znamená File Transfer Protocol a používá se k nahrání nebo stažení souboru ze serveru. Vlákna JMeter odesílají požadavky na servery FTP, aby odtud nahrály nebo stahovaly soubory, a měří výkon.
- Místní soubor je umístění, kam musíte uložit stažený soubor
- Možnost GET použijte, pokud stahujete ze serveru FTP
- Možnost POST uživatele, pokud nahráváte jakýkoli soubor na server FTP
Máme spoustu posluchačů, kterým se budeme věnovat, když projdeme některými skutečnými plány testů skládajícími se ze vzorníků, posluchačů, konfiguračních prvků atd.
Posluchači
Takže až dosud jsme viděli několik vzorníků odesílajících požadavky na server, ale dosud jsme neanalyzovali odpověď. Testování výkonu je o analýze odpovědí serveru v různých formách a jejich následném předání klientovi.
Posluchače se používají k zobrazení výsledků provádění testu, aby se testeři seznámili se statistikami. V Jmetru máme asi 15 posluchačů, ale většinou se používají tabulka, strom a graf.
Zobrazit výsledky v tabulce:
Toto je nejčastěji používaná a snadno srozumitelná forma posluchačů. Výsledek zobrazuje ve formě tabulky s některými důležitými parametry výkonu.
Posluchače lze přidat přímo pod testovací plán nebo pod vzorkovač. Rozdíl je v tom, že když přidáte posluchače pod vzorkovač, zobrazí se pouze výsledky tohoto vzorkovače. Pokud přidáme vzorkovač přímo pod plán testu, zobrazí se výsledek pro všechny vzorkovače v hierarchii.
Snímek obrazovky níže pro vaši referenci:
Výsledky se zobrazí podobně jako níže:
- Latence : Je čas, kdy je přijata první informace, tj. Je přijat první bajt dat
- Připojte čas : Je čas potřebný k navázání spojení se serverem
- Ukázkový čas : Je čas potřebný k přijetí úplných dat
- Vzorek - Pořadí čísla vzorku
- Bajty - Velikost přijatých dat.
Zobrazit výsledky ve stromu:
Toto je další nejčastěji používaný posluchač a poskytuje podrobné informace s požadavkem a odpovědí. Lze také zobrazit stránku HTML vykreslenou v reakci na rozdíl od prohlížení Json, XML, Text, RegEx.
Je to velmi užitečné, protože testeři mohou dát tvrzení o přijaté odezvě, aby bylo zajištěno, že test prošel. Výsledky Jmeter stále ukazují „Pass“, i když odpověď není požadována.
Například: Řekněme, že jsme narazili na požadavek HTTP na libovolném webu www.xyz.com a v reakci na to očekáváme XYZ nebo jednoduše řečeno, když narazíme na tuto stránku, otevře se domovská stránka společnosti s jejím jménem. Pokud jsme nedali tvrzení, Jmeter bude i nadále zobrazovat výsledky, protože zásah byl odeslán na server.
Níže naleznete formát výsledků:
Chcete-li zobrazit stránku HTML jako odpověď, klikněte na rozevírací seznam v levém podokně a poté vyberte možnost „HTML“, přejděte na kartu odpovědí a zkontrolujte stránku, která se vrací jako odpověď serveru.
Pracovní stůl
Pracovní stůl je místo, kam můžete uložit ty prvky, které se ve vašem aktuálním testovacím plánu nepoužívají, ale které do něj lze později zkopírovat. Když uložíte soubor JMeter, komponenty, které jsou přítomny v pracovním stole, se neuloží automaticky. Musíte je uložit samostatně kliknutím pravým tlačítkem a výběrem možnosti „Uložit jako“.
Možná si teď všichni myslíte, jaké je využití pracovního stolu, každopádně je snadné přidat libovolnou součást přímo do testovacího plánu Jmeter.
Důvodem pro vytvoření pracovního stolu bylo, že uživatel mohl provádět některé experimenty a vyzkoušet nové scénáře. Jak již víme, prvky v pracovním stole se neukládají, takže uživatel může doslova použít cokoli a poté vyhodit. Existují však některé „netestovací komponenty“, které jsou k dispozici pouze v WorkBench.
Jsou zde uvedeny:
- Zrcadlový server HTTP
- Záznamník testů skriptů HTTP
- Zobrazení vlastností
Záznamník testovacích skriptů HTTP (s) je nejdůležitějším netestovacím prvkem používaným v JMeteru. Pomáhá testerům při nahrávání skriptu a následném nakonfigurování zátěže pro každou transakci.
Jmeter zaznamenává pouze požadavek odeslaný na server. Nenechte se zmást funkčností QTP / Selenium „Record and Play“. Všechny požadavky jsou zaznamenány a testeři na ně mohou aplikovat požadované zatížení, aby viděli chování.
Tento prvek je velmi důležitý pro scénáře, kde testeři nevědí, jaké všechny požadavky se odehrávají v jejich aplikaci. K nahrávání testované aplikace mohou použít záznamník skriptů Http (s).
Testování výkonu mobilních aplikací lze také provést tímto způsobem nastavením proxy JMeter a následným zaznamenáním požadavků, které naše mobilní aplikace odesílá na server. Podrobný postup testování výkonu mobilních zařízení bude vysvětlen v dalším článku.
Tvrzení
Dosud jsme se zabývali tím, jak JMeter narazí na server a jak se odpovědi zobrazují prostřednictvím posluchačů. Abychom zajistili, že přijatá odpověď je správná a podle očekávání, musíme přidat tvrzení. Tvrzení jsou jednoduše validace, které musíme dát na odpovědi, abychom porovnali výsledky.
Níže jsou uvedeny typy běžně používaných výrazů:
- Uplatnění odpovědi
- Doba trvání
- Stanovení velikosti
- Assertion XML
- Tvrzení HTML
Uplatnění odpovědi
V Response Assertion můžeme přidat vlastní řetězce vzorů a poté je porovnat s odpověďmi přijatými ze serveru. Například, všichni víte, že kód odpovědi je 200, když jakýkoli požadavek úspěšně vrátí nějakou odpověď. Pokud tedy přidáme vzorový řetězec „Response Code = 202“, pak by testovací případ měl selhat.
Chcete-li přidat tvrzení o kódu odpovědi, podívejte se na níže uvedené snímky obrazovky.
Nyní, když test běží, ukazuje výsledek s červenou barvou, což znamená, že výsledky Assertion selhaly.
Doba trvání
Duration Assertion je velmi důležité a ověřuje, že server odpověděl v daném čase. To lze použít ve scénářích, kde musíme vyzkoušet 100 požadavků a zajistit, aby pokaždé, když je přijata odpověď v rámci stanoveného limitu.
Případ : 10 uživatelů současně bije na server „google.com“ a doba trvání je nastavena na 1 000 ms. Viz níže screenshoty:
XML Assertion ověří, zda jsou v datech odpovědí správný dokument XML, a HTML Assertion ověří syntaxi HTML odpovědi přijaté ze serveru.
Konfigurační prvky
Požadavky odeslané na server lze dále parametrizovat pomocí některých konfiguračních prvků, které se provedou před skutečným požadavkem. Jednoduchým příkladem může být čtení hodnot proměnné ze souboru CSV, pro který se používá konfigurace datové sady CSV.
Níže uvádíme některé z důležitých konfiguračních prvků použitých při testování výkonu webových a mobilních aplikací
- Konfigurace souboru dat CSV.
- Uživatelem definované proměnné
- Výchozí požadavek HTTPS
- Správce mezipaměti HTTPS
- Správce souborů HTTPS
Konfigurace souboru dat CSV
Konfigurace datové sady CSV pomáhá Jmetrovi vybírat hodnoty některých parametrů ze souboru CSV namísto předávání různých parametrů v každém samostatném požadavku. Například, pokud potřebujeme otestovat funkčnost přihlášení s jinou sadou uživatelů a hesel, můžeme vytvořit dva sloupce v souboru CSV a zadat tam hodnoty, aby si JMeter mohl vybrat jeden pro každý požadavek odeslaný na server.
Níže je uveden postup používání konfigurace datové sady CSV pro testování API počasí v různých městech v Indii.
- Přidání konfiguračního prvku datové sady CSV do plánu testování
- Vytváření souboru CSV
- Předávání proměnné v parametru požadavku. Parametr APPID lze generovat dynamicky z http://openweathermap.org/appid
- Spuštění testu a prohlížení výsledků.
Uživatelem definované proměnné
Pomáhá Jmeteru vybírat hodnoty z předdefinované proměnné. Například, podpora, kterou potřebujete k vytvoření testovacího plánu, ve kterém musíte přidat mnoho požadavků HTTP na stejnou adresu URL, a může existovat scénář, ve kterém klient plánuje migraci později na jinou adresu URL. Vyhněte se tak aktualizaci adresy URL v každém požadavku můžeme JMeteru říct, aby vybral URL z UDV (User Defined Variable), kterou lze později aktualizovat, aby zvládla všechny požadavky na aktualizovanou URL.
Abychom se vyhnuli aktualizaci adresy URL v každém požadavku, můžeme JMeteru říct, aby vybral adresu URL z UDV (proměnná definovaná uživatelem), kterou lze později aktualizovat, aby zvládla všechny požadavky na aktualizovanou adresu URL.
Výchozí nastavení požadavku HTTP
Tento konfigurační prvek je velmi užitečný pro určení výchozích hodnot požadavků https. Abychom vás provedli více, vezměte si příklad, kde musíme na serveru Google zaslat 50 různých požadavků. V tomto scénáři, pokud přidáme výchozí požadavek HTTP, nemusíme specifikovat název serveru, cestu nebo jiné vlastnosti, jako je číslo portu, připojení vlastnosti časového limitu. Cokoli je uvedeno v požadavku HTTP Výchozí konfigurační prvek je zděděn všemi požadavky HTTP.
V tomto scénáři, pokud přidáme výchozí požadavek HTTP, nemusíme specifikovat název serveru, cestu nebo jiné vlastnosti, jako je číslo portu, vlastnosti časového limitu připojení. Cokoli, co je uvedeno v požadavku HTTP Výchozí konfigurační prvek, je zděděno všemi požadavky HTTP.
Níže je uvedeno, jak přidat výchozí požadavek HTTP a určit server a cestu.
Správce mezipaměti HTTP a Správce souborů cookie HTTP se používají k tomu, aby se JMeter choval jako prohlížeč v reálném čase. Správce mezipaměti HTTP může vymazat mezipaměť po každém požadavku, zatímco druhý může spravovat nastavení souborů cookie.
Logické řadiče a časovače
Logické řadiče a časovače pomáhají Jmeteru řídit tok transakcí. Časovače zajistí zpoždění v každém vlákně, pokud je třeba otestovat jakýkoli server. Například, pokud potřebujeme požadavek FTP čekat 5 sekund po dokončení požadavku HTTP, můžeme tam přidat časovač.
Logické řadiče se používají k definování toku požadavků, které se odesílají na server. Může vám také umožnit ukládat požadavky na každý modul samostatně, například přihlášení a odhlášení.
Závěr
Nyní jste se všichni museli seznámit s komponentami JMeteru, vyzkoušeli jste jej a musíte čelit některým problémům. V příštím článku se budeme věnovat některým scénářům testování výkonu v reálném čase pokrývajícím doménu mobility, abyste všichni získali více praktických znalostí o JMeteru.
Zůstaňte naladěni! Následující článek vám pomůže se správou vašich požadavků a také s analýzou výsledků a porovnáním s měřítky testování výkonu.
=>Pokračujte ve čtení části III: Procesory a řadiče JMeter
=> Kliknutím sem zobrazíte výukové programy JMeter: Kompletní bezplatné školení na JMeteru (20+ videí)
Doporučené čtení
- Jak dosáhnout korelace JMeter s příkladem
- Plán testování Jmeter a WorkBench
- Práce s požadavkem FTP v JMeteru
- Top 5 JMeter Plugins and How to Use them (With examples)
- JMeter Timers: Constant, BeanShell And Guassian Random Timer
- Práce s požadavky HTTP v JMeteru
- Jmeter Controllers Part 1
- Řadiče Jmeter, část 2