detail description jmeter components
Pregled komponenata Jmetra (dio II):
=> Ovo je dio JMeter serije treninga. Popis svih tutorijala iz ove serije pogledajte ovdje .
Nadam se da ste svi morali proći kroz Uvod i instalacija JMetera dosada. Kako nastavljamo sa sljedećim u nizu, toplo se preporučuje da svi morate instalirati JMeter i vježbati rame uz rame.
U ovom vodiču čitatelji bi se upoznali s njima sve komponente JMetera i kako ih koristiti u planu ispitivanja da pokrije sve moguće scenarije ispitivanja performansi za testiranje AUT (aplikacija koja se testira).
Elementi Jmetra bili su navedeni u prethodnom članku.
Što ćete naučiti:
- Komponente JMetera
Komponente JMetera
Ponovo se prijavite za referencu:
- Plan ispitivanja
- ThreadGroup
- Sampleri
- Slušatelji
- WorkBench
- Tvrdnje
- Konfiguriraj element
- Logički kontroleri
- Tajmer
Sve glavne komponente Jmetra kao što su Thread Group, Samplers, Listeners i Config Elements detaljno su objašnjene kasnije u članku.
Pogledajte donji dijagram toka kako biste razumjeli svaku komponentu i njihov odnos prema određenim modulima JMetera.
Sada bismo počeli dodirivati svaku komponentu Jmetra zajedno sa slučajevima upotrebe samo da bismo znali kako to radi i kako ih testeri mogu primijeniti u svom testiranju. Imajte na umu da u ovom članku nećemo pokrivati sve Samplere, slušatelje. Radit ćemo na najčešće korištenim, a odmor ćemo započeti u sljedećem članku kada kreiramo testne planove u stvarnom vremenu.
Plan ispitivanja
Baš kao što se jednostavni plan ispitivanja u softverskom testiranju sastoji od svih koraka koji izvršavaju skriptu, tako i JMetrov testni plan ima istu svrhu. Sve što je uključeno u plan ispitivanja izvodi se u slijedu od vrha do dna ili prema definiranom slijedu u planu ispitivanja.
Plan testiranja može biti što jednostavniji, uz Just ThreadGroup, Sampler i Listener, a počinje postajati sve složeniji čim započnete dodavati više elemenata poput konfiguracijskih elemenata, pretprocesora ili kontrolera.
Kao što svi znamo da JMeter mjeri performanse generiranjem virtualnih korisnika ili niti koji pogađaju testirani poslužitelj kao da stvarni korisnici šalju zahtjeve poslužitelju. Stoga bi svaki testni plan trebao imati virtualne korisnike ili Thread Group kako ih mi nazivamo JMeterovim izrazima.
Važne točke o planu ispitivanja:
- Plan testa treba spremiti prije pokretanja
- Jmeter datoteke ili planovi ispitivanja spremaju se u obliku. Datoteke s proširenjem JMX
- Dijelove Plana ispitivanja možete spremiti i kao drugačiji odabir. Na primjer, Ako želite spremiti HTTP Zahtjev za uzorkovanje pomoću slušatelja, možete ga spremiti kao Test Fragment tako da se može koristiti i u drugim testnim scenarijima
- Elementi WorkBencha ne spremaju se s testnim planom
Skupina niti
Thread Group je grupa korisnika koja će istovremeno istodobno ili u nekom unaprijed definiranom slijedu pogađati testirani poslužitelj. Skupinu niti možete dodati u plan ispitivanja desnim klikom na plan ispitivanja. JMeter je sve “Desni klik”, sve opcije dobivate desnim klikom.
Naziv grupe niti možete preimenovati u svoj. Samo promijenite ime i kliknite bilo gdje izvan prozora Plana testiranja, vidjet ćete da se ime mijenja.
java niz ukloni element u indeksu
Pogledajte snimku zaslona za dodavanje grupa tema
(Bilješka: Kliknite bilo koju sliku za uvećani prikaz)
Vrlo je važno konfigurirati grupu niti prema uvjetima ispitivanja.
Na primjer, ako želite testirati kako se web poslužitelj ponaša kada ga istodobno pogodi 100 korisnika, možete postaviti Thread Group na sljedeći način:
U osnovi postoje tri glavna parametra koja moraju biti konfigurirana za generiranje stvarnog opterećenja ili virtualnih korisnika:
- Broj niti (korisnika) - Definira broj virtualnih korisnika. Za potrebe testiranja trebali bismo generirati samo ograničenu količinu opterećenja, jer stvaranje ogromnog volumena odjednom značilo bi trošenje puno niti, što u konačnici može dovesti do velike iskorištenosti procesora.
- Razdoblje povećanja - Ovo je polje vrlo važno za kontrolu stvaranja tereta. Razdoblje povećanja definiralo je vrijeme u kojem će se generirati ukupan teret.
Primjer 1:
- To znači da će svih 10 korisnika istovremeno udarati na poslužitelje čim se pokrene test
Primjer 2:
- Sigurno ste svi primijetili potvrdni okvir 'Planer' na gornjem snimku zaslona. U slučaju da želite da se test pokrene u određeno vrijeme kasnije, možete postaviti vremena kao što možete vidjeti i na snimci zaslona u nastavku. To znači da će svake 1 sekunde novi korisnik udarati na poslužitelj. Opterećenje neće biti istovremeno, već će biti u koracima. Do 10thdrugo, svi bi korisnici pogodili zahtjev.
- Broj petlji - Definira koliko će puta Thread Group izvršiti. Ako označite potvrdni okvir Zauvijek, test će raditi zauvijek, osim ako ga ručno ne zaustavite. To se može koristiti za testiranje nečega poput 'Ako se vaš poslužitelj ne sruši pri neprekidnom učitavanju nekoliko minuta'.
Sampleri
Pa, kako Jmeter zna koja je vrsta zahtjeva poslana poslužitelju ???
- To je kroz Samplers. Uzorke je potrebno dodati u plan ispitivanja, jer samo on može Jmetru znati koju vrstu zahtjeva treba poslati na koji poslužitelj i s bilo kojim unaprijed definiranim parametrima ili ne. Zahtjevi mogu biti HTTP, HTTP (s), FTP, TCP, SMTP, SOAP itd.
Uzorci se mogu dodati samo u grupu niti, a ne izravno u planu ispitivanja, jer grupe niti moraju koristiti sampler za slanje zahtjeva na URL poslužitelja koji se testira. Uzorkivač se može dodati putem Grupa niti -> Uzorak -> HTTP zahtjev.
HTTP zahtjevi
Ovo su najčešći zahtjevi poslani poslužiteljima. Reći, na primjer, želimo da pogodi 100 korisnika https://www.google.com istovremeno, to se može učiniti kako je opisano u donjem snimku zaslona:
razlika između b stabla i b stabla
- Put je navigacija unutar glavne web stranice. Na primjer, ako želimo pritisnuti http://www.google.com/gmail, tada možemo postaviti '/ Gmail' u putanju, a ostatak ostaje isti
- Ne morate upisivati “www” u ime poslužitelja
- Broj porta koristi se ako koristite bilo koji proxy poslužitelj
- Timeout Connect i Response mogu se postaviti ako želite imati mjerilo vremena povezivanja s poslužiteljem i vremena odziva. Vaš zahtjev neće uspjeti ako vašem poslužitelju treba više vremena za slanje odgovora od konfiguriranog
- Također možete konfigurirati parametre koji će se slati uz vaš zahtjev. Na primjer: U nekim ćete slučajevima možda trebati poslati žeton za autorizaciju sa svojim zahtjevom, pa ste ih dodali u HTTP zahtjev kao na dolje:
FTP zahtjevi
Staza-> Plan ispitivanja-> Skupina niti-> Uzorak-> FTP zahtjev
FTP je skraćenica od File Transfer Protocol (Protokol prijenosa datoteka) i koristi se za prijenos ili preuzimanje datoteke s poslužitelja. JMeterove niti šalju zahtjeve FTP poslužiteljima za prijenos ili preuzimanje datoteka odatle i mjere izvedbu.
- Lokalna datoteka je mjesto na kojem trebate spremiti preuzetu datoteku
- Koristite opciju GET ako preuzimate s FTP poslužitelja
- Korisnička opcija POST ako prenosite bilo koju datoteku na FTP poslužitelj
Imamo puno slušatelja koji će biti pokriveni kada prođemo kroz neke stvarne test planove koji se sastoje od samplera, slušatelja, konfiguracijskih elemenata itd.
Slušatelji
Dakle, do sada smo vidjeli nekoliko samplera koji su slali zahtjeve na poslužitelj, ali još nismo analizirali odgovor. Testiranje izvedbe podrazumijeva analizu odgovora poslužitelja u raznom obliku, a zatim predstavljanje istih klijentu.
Slušatelji se koriste za prikaz rezultata izvršavanja testa kako bi testeri upoznali statistiku. U Jmetru imamo oko 15 slušatelja, ali uglavnom se koriste tabela, stablo i graf.
Pogledajte rezultate u tablici:
Ovo je najčešće korišten i lako razumljiv oblik slušatelja. Prikazuje rezultat u obliku tablice s nekim važnim parametrima izvedbe.
Slušatelji se mogu dodati izravno u plan ispitivanja ili u uzorkovanje. Razlika je u tome što kad dodate slušatelja ispod uzorkivača, on će prikazati rezultate samo tog uzorka. Ako uzorkivač dodamo izravno pod plan ispitivanja, on prikazuje rezultat za sve uzorke u hijerarhiji.
Snimak zaslona u nastavku za vašu referencu:
Rezultate vidite na sljedeći način:
- Latencija : Vrijeme je kada je primljen prvi podatak, tj. Primljen je prvi bajt podataka
- Povežite vrijeme : Vrijeme je potrebno za uspostavljanje veze s poslužiteljem
- Vrijeme uzorka : Vrijeme je potrebno za primanje potpunih podataka
- Uzorak - Slijed broja uzorka
- Bajtovi - Veličina primljenih podataka.
Pogledajte rezultate u Treeu:
Ovo je još jedan od najčešće korištenih slušatelja i pruža detaljne informacije sa zahtjevom i odgovorom. Također se može vidjeti HTML stranica koja se generira kao odgovor, osim pregleda Json, XML, Text, RegEx.
Vrlo je korisno jer testeri mogu staviti tvrdnje na primljeni odgovor kako bi bili sigurni da je test prošao. Rezultati Jmetra i dalje pokazuju 'Pass' čak i ako odgovor nije željen.
Na primjer: Recimo, pogodili smo HTTP zahtjev na bilo kojoj web lokaciji www.xyz.com i kao odgovor očekujemo XYZ ili jednostavnim riječima, kada pritisnemo ovu stranicu, početna stranica tvrtke otvara se s njenim imenom. Ako nismo stavili tvrdnju, Jmeter će i dalje prikazivati rezultate jer je pogodak prešao na poslužitelj.
Pogledajte dolje kako biste saznali format rezultata:
Za prikaz HTML stranice u odgovoru kliknite padajući meni u lijevom oknu, a zatim odaberite 'HTML', dođite do kartice odgovora i provjerite stranicu koja se vraća kao odgovor poslužitelja.
Radna klupa
Radni stol je mjesto na kojem možete pohraniti one elemente koji se ne koriste u vašem trenutnom planu ispitivanja, ali koji se kasnije mogu kopirati u njega. Kada spremite datoteku JMeter, komponente koje su prisutne u radnom okruženju neće se automatski spremiti. Morate ih zasebno spremiti desnim klikom i odabrati opciju 'Spremi kao'.
Svi tada možda razmišljate koja je korist od radnog stola, u svakom slučaju lako je dodati bilo koju komponentu izravno u Jmerov testni plan.
Razlog postojanja radnog stola bio je taj što je korisnik mogao napraviti neke eksperimente i isprobati nove scenarije. Kao što već znamo, elementi u radnom okruženju nisu spremljeni, tako da korisnik može doslovno koristiti bilo što, a zatim baciti. No, postoje neke 'Netestirane komponente' koje su dostupne samo u WorkBenchu.
Ovdje su navedeni:
- HTTP zrcalni poslužitelj
- Snimač testnih skripti HTTP-a
- Prikaz svojstava
HTTP (s) Record Script Recorder najvažniji je netestirani element koji se koristi u JMeteru. Pomaže testerima u snimanju skripte, a zatim u konfiguriranju opterećenja za svaku transakciju.
Jmeter bilježi samo zahtjev poslan poslužitelju. Nemojte se zbuniti s funkcijom 'Snimanje i reprodukcija' QTP / Selenium. Svi se zahtjevi bilježe i testeri ih mogu primijeniti željeno opterećenje kako bi vidjeli ponašanje.
Ovaj je element vrlo važan za scenarije u kojima testeri ne znaju koji se sve zahtjevi događaju iz njihove aplikacije. Oni mogu koristiti Http (s) snimače skripti za snimanje aplikacije koja se testira.
Testiranje performansi mobilnih aplikacija također se može obaviti na ovaj način postavljanjem JMeter proxyja i snimanjem zahtjeva koje naša mobilna aplikacija šalje poslužitelju. Koračni postupak za testiranje izvedbe na mobilnim uređajima objasnit će se u sljedećem članku.
Tvrdnje
Do sada smo obrađivali kako JMeter pogađa poslužitelj i kako se odgovori prikazuju preko slušatelja. Da bismo osigurali da je primljeni odgovor točan i prema očekivanjima, moramo dodati tvrdnje. Tvrdnje su jednostavno provjere valjanosti koje moramo staviti na odgovore da bismo usporedili rezultate.
Ispod su vrste tvrdnji koje se često koriste:
- Tvrdnja odgovora
- Trajanje Tvrdnja
- Utvrđivanje veličine
- XML tvrdnja
- HTML tvrdnja
Tvrdnja odgovora
U Tvrdnja odgovora možemo dodati vlastite nizove uzoraka, a zatim ih usporediti s odgovorima primljenim s poslužitelja. Na primjer, svi znate da je kod odgovora 200 kada bilo koji zahtjev uspješno vrati neki odgovor. Dakle, ako dodamo niz uzoraka “Response Code = 202”, tada test slučaj ne bi trebao uspjeti.
Pogledajte dolje snimke zaslona kako biste dodali tvrdnju koda odgovora.
Kada se test pokrene, prikazuje se rezultat s crvenom bojom koja pokazuje da rezultati tvrdnje nisu uspjeli.
Trajanje Tvrdnja
Trajanje Tvrdnja je vrlo važna i potvrđuje da je poslužitelj odgovorio u zadanom vremenskom roku. To se može koristiti u scenarijima u kojima trebamo uzorkovati 100 zahtjeva i osigurati da svaki put odgovor dobijemo unutar referentne granice.
Slučaj : 10 korisnika istodobno pogađa poslužitelj 'google.com', a trajanje tvrdnje postavljeno je na 1000 ms. Molimo pogledajte dolje snimke zaslona:
XML Assertion provjerava ima li u podacima odgovora ispravan XML dokument, a HTML Assertion provjerava HTML sintaksu odgovora primljenog od poslužitelja.
pitanja i odgovori za proljetni mvc intervju za iskusne
Konfiguriranje elemenata
Zahtjevi poslani poslužitelju mogu se dodatno parameterizirati pomoću nekih konfiguracijskih elemenata koji se izvršavaju prije stvarnog zahtjeva. Jednostavan primjer toga može biti čitanje vrijednosti varijable iz CSV datoteke za koju se koristi CSV Data Set Config.
Ispod su neki od važnih konfiguracijskih elemenata koji se koriste za testiranje performansi weba i mobilnih aplikacija
- Konfiguracija CSV skupa podataka.
- Korisnički definirane varijable
- HTTPS zahtjeva zadane
- HTTPS upravitelj predmemorije
- HTTPS upravitelj kolačićima
Konfiguracija CSV skupa podataka
Konfiguracija CSV podataka pomaže Jmetru u odabiru vrijednosti nekih parametara iz CSV datoteke, a ne u prosljeđivanju različitih parametara u svakom zasebnom zahtjevu. Na primjer, ako trebamo testirati funkcionalnost prijave s različitim skupom korisnika i lozinki, tada možemo stvoriti dva stupca u CSV datoteci i tamo unijeti vrijednosti tako da JMeter može odabrati jedan za svaki zahtjev poslan na poslužitelj.
Ispod je tijek korištenja CSV skupa podataka config za testiranje vremenskog API-ja za različite gradove u Indiji.
- Dodavanje elementa konfiguracije skupa podataka CSV u plan ispitivanja
- Izrada CSV datoteke
- Prosljeđivanje varijable u parametar zahtjeva. Parametar APPID može se generirati dinamički iz http://openweathermap.org/appid
- Pokretanje testa i pregled rezultata.
Korisnički definirane varijable
Pomaže Jmetru da odabere vrijednosti iz unaprijed definirane varijable. Na primjer, podrška koja vam je potrebna za izradu plana ispitivanja u kojem trebate dodati mnogo HTTP zahtjeva na isti URL i može postojati scenarij u kojem ga klijent planira kasnije migrirati na neki drugi URL. Dakle, kako bi se izbjeglo ažuriranje URL-a u svakom zahtjevu možemo reći JMeteru da odabere URL s UDV-a (korisnički definirane varijable) koji se kasnije može ažurirati kako bi obrađivao sve zahtjeve za ažuriranim URL-om.
Dakle, kako bismo izbjegli ažuriranje URL-a u svakom zahtjevu, možemo reći JMeteru da odabere URL s UDV-a (User Defined Variable) koji se kasnije može ažurirati kako bi obrađivao sve zahtjeve za ažuriranim URL-om.
Zadane postavke HTTP zahtjeva
Ovaj konfiguracijski element vrlo je koristan za specificiranje zadanih vrijednosti https zahtjeva. Da bismo vas vodili više, uzmimo primjer gdje na google poslužitelju moramo postići 50 različitih zahtjeva. U ovom scenariju, ako dodamo zadani HTTP zahtjev, tada ne trebamo navesti ime poslužitelja, put ili bilo koja druga svojstva poput broja porta, veze svojstva time out-a. Što god je navedeno u zadanom elementu konfiguracije HTTP zahtjeva, nasljeđuju ga svi HTTP zahtjevi.
U ovom scenariju, ako dodamo zadani HTTP zahtjev, tada ne trebamo navesti ime poslužitelja, put ili bilo koja druga svojstva poput broja porta, svojstva vremenskog ograničenja veze. Što god je navedeno u zadanom elementu konfiguracije HTTP zahtjeva, nasljeđuju ga svi HTTP zahtjevi.
U nastavku pogledajte kako dodati zadani HTTP zahtjev i odrediti poslužitelj i putanju.
Upravitelj HTTP predmemorije i HTTP upravitelj kolačića koriste se za postizanje ponašanja JMetera kao preglednika u stvarnom vremenu. Upravitelj HTTP predmemorije može očistiti predmemoriju nakon svakog zahtjeva, dok drugi može upravljati postavkama kolačića.
Logički kontroleri i tajmeri
Logički kontroleri i mjerači vremena pomažu Jmetru u kontroli protoka transakcija. Tajmeri osiguravaju kašnjenje u svakoj niti ako treba testirati bilo koji poslužitelj. Na primjer, ako trebamo FTP zahtjev da pričekamo 5 sekundi nakon završetka HTTP zahtjeva, možemo tamo dodati tajmer.
Logički kontroleri koriste se za definiranje tijeka zahtjeva koji se šalju poslužitelju. Također vam može omogućiti pohranu zahtjeva za svaki modul zasebno, poput prijave i odjave.
Zaključak
Do sada ste se svi već morali upoznati sa komponentama JMetera i pokušali ste ga koristiti te se morate suočiti s nekim problemima. U sljedećem ćemo članku pokriti neke scenarije testiranja performansi u stvarnom vremenu koji pokrivaju domenu mobilnosti kako biste svi stekli više praktičnog znanja o JMeteru.
Pratite nas! Sljedeći članak pomoći će vam u upravljanju zahtjevima, kao i u analizi rezultata i usporedbi s mjerilima ispitivanja performansi.
=>Nastavite čitati dio III: JMeter procesori i kontroleri
=> Kliknite ovdje za JMeter Tutoriali: Kompletni besplatni trening o JMeteru (20+ videozapisa)
Preporučena literatura
- Kako postići JMeter korelaciju s primjerom
- Plan ispitivanja Jmeter i WorkBench
- Rad s FTP zahtjevom u JMeteru
- Top 5 JMeter dodataka i kako ih koristiti (s primjerima)
- JMeter timeri: konstantni, BeanShell i Guassian slučajni mjerač vremena
- Rad s HTTP zahtjevima u JMeteru
- Jmeter kontrolori 1. dio
- Jmeter kontroleri, 2. dio