Jmeter: Otázky na pohovor

Pripravte sa na pohovor pre JMeter pomocou nášho komplexného zoznamu otázok na pohovor pre JMeter. Tieto otázky sú určené pre začiatočníkov aj skúsenejších.
1. Čo je testovanie výkonnosti (performance testing)?
Testovanie výkonnosti je nefunkčný typ testovania, pri ktorom sa hodnotí výkonnosť aplikácie pri očakávanej alebo vyššej záťaži. Vykonáva sa pred nasadením aplikácie na produkciu, aby sa zabezpečilo, že aplikácia nespadne a bude reagovať v štandardnom/prijateľnom čase pri reálnom zaťažení.
2. Aké sú rôzne typy techník testovania výkonnosti?
Rôzne typy testovania výkonnosti sú:

- Load testing – typ testovania výkonnosti na meranie správania aplikácie pri očakávanej záťaži.
- Stress Testing – Hodnotenie správania aplikácie pri zaťažení vyššom, ako je prahová hodnota aplikácie alebo podmienky maximálneho zaťaženia.
- Endurance Testing – Testovanie aplikácie pri dlhodobom teste záťaže, zvyčajne sa používa na odhalenie únikov pamäte v aplikácii.
- Spike Testing (Testovanie nárazovej záťaže) – Hodnotenie správania aplikácie pri náhlom zvýšení počtu používateľov oproti normálu.
- Volume Testing – Testovanie aplikácie s veľkým množstvom údajov, Napríklad testovanie zvyčajne s veľkými záznamami údajov v databáze.
3. Aké všetky činnosti sa vykonávajú počas testovania výkonnosti akejkoľvek aplikácie?
Činnosti vykonávané počas testovania výkonnosti sú –
- Zhromažďovanie a analýza požiadaviek na testovanie výkonnosti – V tejto fáze sa od klienta a ďalších zainteresovaných strán aplikácie zhromažďujú všetky podrobnosti o aplikácii.
- Výber testovacích nástrojov – Táto fáza zahŕňa výber nástrojov na testovanie výkonnosti.
- Plánovanie testov výkonnosti – Fáza plánovania testov zahŕňa plánovanie celého procesu testovania výkonnosti, nastavenie infraštruktúry a prostredia; scenáre prípadov použitia, ktoré sa majú naskriptovať, atď.
- Implementácia testovacích skriptov – V tejto fáze sa vytvárajú skripty výkonnostných testov pomocou nástroja vybraného v predchádzajúcich fázach.
- Vykonanie testu výkonnosti – V tejto fáze sa testovací skript vykonáva počas vopred stanoveného času špecifikovaného vo fáze plánovania.
- Analýza výsledkov testu – Fáza analýzy výsledkov zahŕňa konsolidáciu výsledkov testu. Okrem toho pomáha pri určovaní rôznych výkonnostných atribútov aplikácie a hľadaní úzkych miest výkonu.
4. Čo je to JMeter?
JMeter je open-source nástroj na testovanie výkonnosti vyvinutý v jazyku Java. Možno ho použiť na vykonávanie testovania výkonnosti webových aplikácií, webových služieb (SOAP aj Rest), servera FTP, databáz, servera LDAP atď.
5. Prečo by sme si mali na testovanie výkonnosti vybrať nástroj JMeter?
Výhody používania nástroja JMeter na testovanie výkonnosti sú tieto:
- Je možné ho používať bezplatne s nulovými licenčnými nákladmi.
- Je to open-source. Inými slovami, každý si ho môže prispôsobiť pre svoje špecifické použitie.
- Pre nástroj JMeter existuje dobrá online podpora komunity a návody.
- Podporuje testovanie výkonnosti širokej škály aplikácií. Napríklad webové stránky, webové služby na FTP a databázy.
- Je jednoduché sa ho naučiť a používať.
6. Vysvetlite vnútorné fungovanie nástroja JMeter.
JMeter simuluje reálnu záťaž používateľov vytvorením viacerých vlákien, ktoré vykonávajú súbežné požiadavky na cieľový server. Potom zobrazuje výkon servera vo forme tabuliek a grafov.
7. Simuluje nástroj JMeter skutočný prehliadač?
Nie, nástroj JMeter nesimuluje ani nefunguje ako skutočný prehliadač. Nedokáže vykresliť odpoveď HTML ako skutočný prehliadač.
8. Aké sú niektoré funkcie nástroja JMeter?
Niektoré z funkcií nástroja JMeter sú:
- JMeter je 100 % založený na jazyku Java. Má teda všetky výhody aplikácií založených na Jave, ako je prenosnosť, rozšíriteľnosť, robustnosť atď.
- Má funkciu nahrávania a prehrávania, ktorá zabezpečuje jednoduché a rýchle vytváranie testovacích skriptov.
- JMeter poskytuje rôznych poslucháčov (listeners) na zachytenie a analýzu výsledkov testov v tabuľkovom aj grafickom formáte.
- Možno ho použiť na testovanie záťaže rôznych protokolov – HTTP, HTTPS, FTP, LDAP, TCP atď.
9. Ako môžeme zaznamenávať skripty testovania výkonnosti v aplikácii JMeter?
JMeter má záznamník testovacích skriptov HTTP(S), pomocou ktorého môžeme vykonávať operácie v prehliadači a požiadavky HTTP sa zaznamenávajú v JMeter.
10. Musíme sa naučiť programovať, aby sme mohli vytvárať skripty v JMeter?
Tvorba skriptov v JMeter sa trochu líši od bežnej automatizovanej tvorby skriptov. Väčšinou sa skript môže vytvoriť nahrávaním alebo pomocou používateľského rozhrania JMeter. Nasleduje parametrizácia testov, korelácia a konfigurácia rôznych parametrov testov.
Vzhľadom na to sa v niektorých scenároch vyžaduje kódovanie, ktoré možno vykonať pomocou skriptov Beanshell.
11. JMeter je založený na jazyku Java. Môžeme ho použiť na testovanie výkonnosti aplikácií implementovaných na iných platformách/jazykoch, napríklad .Net?
Áno, pomocou JMeter môžeme testovať webové aplikácie vytvorené v iných jazykoch a platformách.
12. Aký druh aplikácií možno testovať pomocou JMeter?
Rôzne druhy aplikácií, ktoré možno testovať pomocou JMeter, sú:
- Webové stránky
- Webové služby – REST a SOAP
- Databázy (JDBC)
- Shell skripty
- FTP
- LDAP
- TCP
- SMTP, POP3, IMAP
13. Vysvetlite parametrizáciu v JMeter
Parametrizácia je proces parametrizácie používateľského vstupu alebo iných vstupov testu. Tak, aby sa pre rôznych používateľov a iterácie cyklu používali rôzne hodnoty. Napríklad možno vytvoriť externý súbor CSV s viacerými prihlasovacími údajmi a potom ho odovzdať skriptu záťažového testu, aby sa pre každú iteráciu získali rôzne prihlasovacie údaje.
14. Čo je to korelácia?
Korelácia je najdôležitejším aspektom skriptovania v JMeter. Zahŕňa načítanie dynamických údajov z predchádzajúcich požiadaviek/vyvolaní a ich odovzdanie nasledujúcim požiadavkám ako parametrov. Môžeme napríklad získať hodnoty premenných relácie z odpovede na požiadavku s prihlasovacími údajmi a potom tieto hodnoty odovzdať nasledujúcim požiadavkám (a tak spracovať relácie). [
15. Čo je to Test Plan (plán testov)?
Plán testov v JMeter je logický kontajner, ktorý obsahuje všetky prvky testu, ktoré tvoria test výkonnosti. Niektoré z rôznych prvkov v testovacom pláne sú – skupina vlákien, samplery, časovače, tvrdenia (assertions), poslucháči (listeners) atď.
16. Čo je Workbench?
Workbench v aplikácii JMeter je dočasná oblasť na ukladanie testovacích prvkov. Obsahuje aj netestovacie prvky, ako je HTTP Proxy Server, ktorý možno nakonfigurovať na nahrávanie skriptov prostredníctvom prehliadača v JMeter. Akýkoľvek prvok umiestnený v pracovnej ploche sa po uložení spolu so skriptom JMX testovacieho plánu neuloží.
17. Čo je to skupina vlákien (thread group) v aplikácii JMeter?
Skupina vlákien je prvok plánu testov v programe JMeter, ktorý predstavuje skupinu virtuálnych používateľov vykonávajúcich súbor operácií.
18. Čo je testovací fragment v JMeter?
Testovací fragment je špeciálny typ kontroléra v JMeter, ktorého jediným účelom je poskytnúť možnosť opakovaného použitia kódu v testovacom pláne. Je to niečo ako skupina vlákien. Nespustí sa však, pokiaľ sa naň neodkazuje buď Module Controller, alebo Include_Controller.
Otázka.19. Čo je to nábehové obdobie (rump-up period)?
Na začiatku záťažového testu aplikácie namiesto toho, aby sme všetkých používateľov uviedli do prevádzky, pomaly zvyšujeme počet používateľov, aby sme preskúmali ich vplyv na výkon aplikácie. V programe JMeter obdobie nábehu definuje časový úsek, počas ktorého sa všetci zadaní používatelia dostanú do stavu spustenia.
20. Čo sú samplery v JMeter?
Odpoveď: Samplers v JMeter sa používajú na odosielanie rôznych typov požiadaviek na server. Niektoré z bežne používaných samplerov sú – požiadavka HTTP, požiadavka JDBC, požiadavka SOAP-XML, požiadavka JUnit, vzorkovač TCP atď.
21. Čo sú to poslucháči (listeners) v aplikácii JMeter? Uveďte niektoré z bežne používaných poslucháčov?
Listenery sa používajú na zobrazovanie, ukladanie výsledkov testov a tiež pomáhajú pri tabuľkovej a grafickej analýze výsledkov testov. Niektoré z najčastejšie používaných poslucháčov sú: Aggregate Report (Súhrnná správa), Aggregate Graph (Súhrnný graf), Graph Results (Graf výsledkov), View Results Tree (Zobraziť strom výsledkov) atď.
22. Čo je súbor JTL v aplikácii JMeter?
Výsledky testov v aplikácii JMeter sa ukladajú vo forme súborov JTL. JTL je skratka pre JMeter Test Logs (protokoly testov).
23. Aké sú rôzne časovače v programe JMeter?
Časovače sa používajú na zastavenie vykonávania testu vlákna na určitý vopred definovaný čas. Okrem toho sa tieto časovače používajú na simuláciu času myslenia skutočného používateľa. Rôzne typy časovačov, ktoré sú k dispozícii v JMeter, sú – konštantný časovač, Gaussov náhodný časovač, rovnomerný náhodný časovač, časovač konštantnej priepustnosti, synchronizačný časovač, časovač Beanshell, časovač BSF atď.
24. Aký je rozdiel medzi Gaussovým náhodným časovačom a Poissonovým náhodným časovačom?
:Gaussovské aj Poissonove náhodné časovače sa používajú na pozastavenie vykonávania testu na náhodný časový úsek, ale na uzavretie konkrétnej hodnoty. Rozdiel medzi nimi spočíva v ich základných implementačných algoritmoch na generovanie náhodných hodnôt.
25. Čo je to Rendezvous Point?
Rendezvous point (bod stretnutia) v JMeter sa používa na vykonanie testovania špičky. Vykonáva sa pomocou „synchronizačného časovača“ tak, že sa počas testu záťaže čaká, kým počet aktívnych používateľov nedosiahne určitú stanovenú hodnotu.
26. Čo sú tvrdenia (assertions) v JMeter? Vysvetlite dostupné tvrdenia v JMeter.
Tvrdenia v JMeter sa používajú na overenie určitých hodnôt v odpovedi na požiadavky Samplera. Bežne používané asercie sú – response assertion (asercia odpovede), size assertion (asercia veľkosti), XML assertion (asercia XML), BeanShell assertion (asercia BeanShell), HTML Assertion (asercia HTML), XPath assertion (asercia XPath) atď.
27. Na čo sa používajú prvky Configuration?
Prvky Configuration (Konfigurácia) sa používajú na prispôsobenie požiadaviek vzorkovača, napr. CSV Data Set Config (Konfigurácia dátovej sady CSV) sa môže použiť na parametrizáciu požiadaviek vzorkovača s hodnotami získanými z externého súboru CSV.
28. Čo sú to predprocesory?
Pre-procesory sú prvky plánu testovania, ktoré sa vykonávajú pred vykonaním požiadavky samplera. Niektoré bežne používané preprocesory v JMeter sú BeanShell PreProcessor, HTML Link Parser, HTTP URL Re-writing Modifier, RegEx User Parameters atď.
29. Čo sú postprocesory?
Postprocesory sú prvky plánu testovania, ktoré sa vykonávajú po vykonaní požiadavky samplera. Vo všeobecnosti sa postprocesory používajú na načítanie niektorých hodnôt z odpovede samplera.
30. Aké je poradie vykonávania prvkov testovacieho plánu JMeter?
Poradie vykonávania prvkov testovacieho plánu je takéto:
- Prvky konfigurácie
- Predprocesory
- Časovače
- Samplery
- Postprocesory
- Tvrdenia
- Poslucháči
31. Ako môžeme spustiť JMeter v režime bez používateľského rozhrania?
Príkaz na spustenie JMeteru v režime bez používateľského rozhrania.
jmeter -n -t test.jmx -l test.jtl
Kde
- n určuje, že JMeter bude spustený v režime mimo GUI
- -t pre súbor testovacieho skriptu
- -l pre súbor jtl s výsledkami každej vzorky
32. Ako môžeme znížiť požiadavky na zdroje v JMeter?
Aby sa dostupné zdroje využili čo najlepšie a vo všeobecnosti ako prax, mali by sa do testov začleniť tieto postupy-
- Na spustenie skriptov použite režim bez používateľského rozhrania : jmeter -n -t test.jmx -l test.jtl
- V pláne testov používajte čo najmenší počet poslucháčov.
- Počas záťažového testu sa vyhnite používaniu poslucháčov „View Results Tree“ (Zobraziť strom výsledkov) alebo „View Results in Table“ (Zobraziť výsledky v tabuľke). Používajte ich len počas fázy skriptovania na ladenie skriptov.
- Namiesto používania množstva podobných samplerov použite radšej ten istý sampler v cykle. Využívajte aj premenné (pomocou CSV Data Set) na zmenu vzoriek.
- Počas vykonávania testov výkonnosti nepoužívajte funkčný režim programu JMeter.
- Používajte výstup CSV namiesto XML, pretože je oveľa ľahší.
- Ukladajte len tie údaje, ktoré budete potrebovať.
- Počas záťažového testu používajte čo najmenej Assertions.
33. Čo je to 90 % line v JMeter?
Poslucháč súhrnného reportu má ako jednu z metrík 90 % line. V príručke Apache JMeter sa 90 % line opisuje ako – „90 % vzoriek netrvalo dlhšie ako tento čas“. V skutočnosti je to 90 percentil časov odozvy vzoriek –
90 percentil = (90/100)*N+1/2, kde N je počet vzoriek
Takže ak je 10 vzoriek, potom 90 %line bude 9,5 alebo 9. Znamená to 9. hodnotu v zoradenom zozname vzoriek (zoradených podľa vzostupného poradia ich časov odozvy).
34. Čo je to distribuované testovanie záťaže? Ako ho možno dosiahnuť v JMeter?
Distribuované testovanie záťaže je proces, pomocou ktorého možno použiť viacero systémov na simuláciu záťaže veľkého počtu používateľov. Dôvodom použitia viacerých systémov na testovanie záťaže je obmedzenie jedného systému na generovanie veľkého počtu vlákien (používateľov).
V aplikácii JMeter môžeme vykonávať distribuované testovanie záťaže pomocou konfigurácie master-slave.
35. Je možné spúšťať skripty Selenium v JMeter?
Áno, pomocou zásuvného modulu WebDriver Set môžeme v JMeter spúšťať skripty Selenium Webdriver.