SlideShare a Scribd company logo
Adrian Bala
adrian.bala@gft.com
JMETER – NARZĘDZIE TESTERA
Adrian Bala JMeter – narzędzie testera TestWarez 2015
1
Spis treści
Czym jest JMeter?..................................................................................................................1
Do czego służy JMeter?...........................................................................................................1
Podstawowe zalety JMeter......................................................................................................2
Do czego można użyć JMeter? .................................................................................................2
Podstawowe elementy JMeter.................................................................................................3
Czym NIE jest JMeter?............................................................................................................4
Wsparcie i rozwój...................................................................................................................4
Podsumowanie ......................................................................................................................4
Wskazówki i podpowiedzi .......................................................................................................5
Bibliografia............................................................................................................................5
Czym jest JMeter?
Apache JMeter™ to otwarte oprogramowanie,napisane w Javie i dedykowane do
tworzenia, wykonywaniaoraz monitorowaniatestów obciążeniowych,wydajnościowych
oraz funkcjonalnych.Oryginalnie byłoprojektowane i rozwijane przezStefanoMazzocchi
z Apache Software Foundation,który napisał je do testowaniawydajności Apache JServ
(projektu,który został zastąpionyprzez Apache Tomcat). Następnie JMeter został
przeprojektowanyi wyposażonyw GUI celemrozszerzeniajegozastosowań do testów
funkcjonalnych.W listopadzie 2011 roku JMeter stał się projektemApache najwyższego
poziomu(ang. top level),co oznacza, że zyskał społeczność odpowiedzialnąza jegorozwój
(ang. Project Management Commitee) oraz dedykowanyserwis.
Do czego służy JMeter?
Apache JMeter jestużywany do testowaniawydajności statycznych oraz
dynamicznych zasobów takich jak pliki,dynamiczne języki programowania serwisów
internetowych,np.PHP, Java, ASP.NET, itp.,obiektyJava, bazy danych i kwerendy,serwery
FTP, itp. Z powodzeniemjestwykorzystywanydosymulowaniawzmożonegoruchu na
serwerze,grupie serwerów,w sieci lubna „hartowanym” obiekcie.Służyrównieżdo
analizowaniacałkowitej wydajności podobciążeniemróżnego typu,np. do graficznej analizy
całkowitej wydajności lubdo testowaniazachowania się serwera/ skryptu / obiektuprzy
wzmożonymi zrównoleglonymobciążeniu.
Adrian Bala JMeter – narzędzie testera TestWarez 2015
2
Podstawowe zalety JMeter
Apache JMeter:
1. Pozwala na automatyzację testowania(oszczędność).
2. Działa na platformach wspierającychJava (przenośność).
3. Umożliwiadziałanie wielowątkowe (zrównoleglenie).
4. Jest narzędziem „wielopoziomowym”(użyteczność).
5. Wspiera różne protokoły(uniwersalność)
6. Dostarcza wysoki poziom abstrakcji (łatwośćobsługi).
7. Posiada rozbudowaną dokumentację(łatwość nauki).
8. Jest wspieranyi rozwijany (aktualność).
9. Może być modyfikowany(dostosowywanie).
10. Jest darmowy (ograniczenie kosztów).
11. Inne.
Do czego można użyć JMeter?
Przykładowo Apache JMeter:
1. Pozwala na wykonywanie zapytańhttp(s) – GET, POST oraz przetwarzanie
zwróconych kodów1 i wyników odpowiedzi.
2. Umożliwiaustanowienie bezpośredniegopołączeniazbazą MySQL i wykonywania
zapytań przy wykorzystaniusterownikaJDBC2.
3. Potrafi działać w trybie konsolowymbezGUI, dzięki czemu może być instalowanyna
maszynach bez wyświetlaczy,np.serwerach.
4. Może być użyty w celach monitorowaniapracy serwera/ grupy serwerów poprzez
okresowe sprawdzanie statusu.
5. Stwarza możliwośćsymulowaniapowiększonegoruchusieciowegopoprzez
jednoczesne wykonywanie zapytańhttp(s) – GET, POST z użyciemwieluwątków.
6. Ułatwia zbieranie statystykdotyczących wydajności pracy serwera / grupy serwerów
poprzez pomiar czasów przetwarzania zapytań, czasu uzyskiwaniaodpowiedzi,itp.
7. Pomaga na porównywanie wybranychkonfiguracji sprzętowo-programowych przy
podejmowaniudecyzji ozakupie lub wyborze konkretnegorozwiązania.
8. Doskonale nadaje się do testowaniaRESTful API po http(s) – GET, POST, PUT, PATCH,
DELETE.
9. Dostarcza możliwośćnagrywania i odtwarzania scenariuszytestowych na zasadzie
zbliżonej do SeleniumIDE3.
10. Daje się włączać w proces CI, tj. integracji ciągłej (ang. continuous integration)
współpracując z różnymi systemami takimi jak Jenkins4 lubHudson5.
11. Wiele innych.
1
HypertextTransfer Protocol -- HTTP/1.1 - https://www.ietf.org/rfc/rfc2616.txt
2
JDBC driver forMySQL- http://dev.mysql.com/downloads/connector/j/
3 SeleniumIDE- http://www.seleniumhq.org/projects/ide/
4
Jenkins - https://jenkins-ci.org/
5
Hudson - http://hudson-ci.org/
Adrian Bala JMeter – narzędzie testera TestWarez 2015
3
Podstawowe elementy JMeter
Apache JMeter ma budowę hierarchiczną i co warte podkreślenia,„drzewiastą”.
Podstawowymelementemjest TestPlan,który zawiera,co najmniej jedną GrupęWątków.
Inne podstawowe elementyto:
 zmienne – wbudowane,definiowane;
 instrukcje warunkowe – IF, WHILE, itp.;
 pętle – LOOP, FOREACH, itp.;
 zapytania – HTTP(S), JDBC, itp.;
 asercje – odpowiedzi,rozmiaru,itp.;
 timery – stałe, losowe,itp.;
 słuchacze – drzewiaste,sumaryczne,itp.;
 ekstraktory – wyrażeńregularnych, XPath,itp.;
 menedżery – cookie,header, itp.;
 dzienniki –log, console;
 funkcje – wbudowane i definiowane w BeanShell6;
 wiele innych
Rys. 1. JMeter – podstawowe elementy
Wymienione wyżej elementypozwalająw opinii autoraspojrzeć na JMeter,jako na
uniwersalnyjęzyklub frameworkwysokiegopoziomudo tworzenia,wykonywania oraz
monitorowaniatestów automatycznych różnego rodzaju. Od niskopoziomowychtestów
wykonywanychbezpośredniona bazie MySQL, poprzez zapytania http(s) i testowanie
RESTful API,aż po nagrywanie i odtwarzanie scenariuszy zorientowanychna działania
Użytkownika z użyciemprzeglądarki.
6
BeanShell - SimpleJavaScripting - http://www.beanshell.org/manual/bshmanual.html
Adrian Bala JMeter – narzędzie testera TestWarez 2015
4
Czym NIE jest JMeter?
Należyjasno i wyraźnie podkreślić,że Apache JMeter to nie przeglądarka. Mimo, że
wygląda i zachowuje się jak przeglądarka, a właściwie to wiele różnychprzeglądarek,JMeter
nie obsługuje wszystkichdostępnych w nich akcji. W szczególności JMeternie wykonuje
JavaScriptów wstawionychw tagach HTML strony i co więcej nie renderuje widokustron
WWW tak jak przeglądarki internetowe.Posiadarównieżograniczeniaprzy wspieraniu
WebSocket.
Wsparcie i rozwój
Apache JMeter™ to otwarte oprogramowanie,które w listopadzie 2011 roku stało się
projektemnajwyższegopoziomui zyskałospołeczność odpowiedzialnązajegorozwój. Dzięki
czemu powstał dedykowanyserwis – http://jmeter.apache.org/ ,opracowano szczegółową
dokumentację – http://jmeter.apache.org/usermanual/index.html ,oraz zestaw pomocnych
tutoriali.Co więcej uruchomiony został serwisdo zgłaszania defektów (ang. bug) i propozycji
zmian (ang. feature request) do kolejnegowydania(ang. release). Przykłademmoże być
m.in.:https://bz.apache.org/bugzilla/show_bug.cgi?id=51817.
Rys. 2. JMeter – ASF Bugzilla
Podsumowanie
Powszechnie utarłosię postrzegać i używać JMeter, jako narzędzie do tworzenia,
wykonywaniai monitorowaniatestów obciążeniowych,wydajnościowychi funkcjonalnych.
Bywa on równieżwykorzystywanyprzy testowaniurozproszonym (ang. distributed testing),
testach jednostkowychz JUnit oraz do nagrywania i odtwarzania scenariuszytestowych.
Osobiście autor woli postrzegać i traktować JMeter jak język programowania lub
framework do tworzeniatestów automatycznych. Wynikato z faktu, że dostarcza on wiele
funkcjonalności,cech i zalet wysokopoziomowegojęzykaprogramowania wizualnego,
potrafiącego działać wielowątkowonapraktycznie dowolnej architekturze.
Adrian Bala JMeter – narzędzie testera TestWarez 2015
5
Intencją przewodniąprezentacji jesti będzie przybliżenie użytecznegonarzędzia,
które przydać się może testerowi w różnych sytuacjach. Zebrane powyżej informacje mają
pomóc w osiągnięciuwyznaczonegocelu. Duża uniwersalnośćwraz z innymi pozytywnymi
cechami JMetera skłania do stwierdzenia,iżjestto narzędzie testera,które w opinii autora
warto poznać i używać.
Wskazówki i podpowiedzi
1. Ctr ^ SER – jako przydatny skrót od Save, Erasei Run.
2. Ctr ^ - oraz Ctr + Shift ^ - – zwija i rozwija drzewo Test Planu.
3. Ctr ^ . – kończy wykonanie wątku / pętli, itp.
4. Nazwyzmiennych są tekstowe, a odwołania do nich poprzez ${ }.
5. JMeter pozwala na KONFIGURACJĘ (kod, dane, konfiguracja).
6. Przykładowe wywołanie z linii komend: jmeter-n -t testplan.jmx-llogfile.log
7. Dobrzejest, gdy na jeden rdzeń procesora przypada, co najwyżej 2 instancje JMetera.
8. Proces JMetera powinien zajmowaćzasoby procesora, co najwyżej w 75 %.
9. Przydatnesą setUp Thread Group oraz tearDownThread Group.
10. Bardzoużytecznesą funkcje, np. __time7 do wyznaczania czasutrwania testów.
11. Warto korzystaćz wyrażeńregularnych8, np. do weryfikowania odpowiedzi.
12. W roli komentarza można użyć JavaRequest9.
13. Dobry opis pozwala na samodokumentowanie kodu testów.
14. Przydaje się odróżniać testy pozytywne (+) od negatywnych(-).
15. Inne.
Bibliografia
[1]. Apache JMeter – http://jmeter.apache.org/index.html
[2]. Apache JMeter Manual – http://jmeter.apache.org/usermanual/index.html
[3]. ASF Bugzilla –https://bz.apache.org/bugzilla/describecomponents.cgi?product=JMeter
[4]. Apache JMeter Wiki – http://wiki.apache.org/jmeter/
[5]. Apache JMeter Group – https://www.linkedin.com/groups?gid=2017104
[6]. Custom Plugins for Apache JMeter™ – http://jmeter-plugins.org/
[7]. Firebase RESTful API – https://www.firebase.com/docs/rest/api/
[8]. Apache JMeter workshop by Piotr Sobieraj –materiały szkoleniowe GFT
[9]. Apache JMeter - automatyzacja testowania - Adrian Bala – opracowaniewłasne
7
Opisfunkcji - http://jmeter.apache.org/usermanual/functions.html
8
Opiswyrażeń regularnych - http://jmeter.apache.org/usermanual/regular_expressions.html oraz
http://archimedes.fas.harvard.edu/scrapbook/jakarta-oro-
2.0.6/docs/api/org/apache/oro/text/regex/package-summary.html
9
Java RequestzamiastComment Sampler - https://bz.apache.org/bugzilla/show_bug.cgi?id=51824

More Related Content

What's hot

Formation jmeter
Formation jmeterFormation jmeter
Formation jmeter
Abdelhaq El-Aibi
 
TestNG Framework
TestNG Framework TestNG Framework
TestNG Framework
Levon Apreyan
 
Performance testing with Apache JMeter
Performance testing with Apache JMeterPerformance testing with Apache JMeter
Performance testing with Apache JMeter
RedBlackTree
 
Why Should we use Microsoft's Playwright
Why Should we use Microsoft's PlaywrightWhy Should we use Microsoft's Playwright
Why Should we use Microsoft's Playwright
Knoldus Inc.
 
Automation - Apache JMeter
Automation - Apache JMeterAutomation - Apache JMeter
Automation - Apache JMeter
Wira Santos
 
Struts2
Struts2Struts2
Struts2
Manav Prasad
 
Automation testing strategy, approach & planning
Automation testing  strategy, approach & planningAutomation testing  strategy, approach & planning
Automation testing strategy, approach & planningSivaprasanthRentala1975
 
Performance testing with Jmeter
Performance testing with JmeterPerformance testing with Jmeter
Performance testing with Jmeter
Prashanth Kumar
 
Building a Test Automation Strategy for Success
Building a Test Automation Strategy for SuccessBuilding a Test Automation Strategy for Success
Building a Test Automation Strategy for Success
Lee Barnes
 
Performance Testing With Jmeter
Performance Testing With JmeterPerformance Testing With Jmeter
Performance Testing With Jmeter
Adam Goucher
 
Arquitetura básica de testes para seu projeto Java
Arquitetura básica de testes para seu projeto JavaArquitetura básica de testes para seu projeto Java
Arquitetura básica de testes para seu projeto Java
Elias Nogueira
 
BDD style Unit Testing
BDD style Unit TestingBDD style Unit Testing
BDD style Unit TestingWen-Tien Chang
 
Automated vs manual testing
Automated vs manual testingAutomated vs manual testing
Automated vs manual testing
Kanoah
 
Functional Tests Automation with Robot Framework
Functional Tests Automation with Robot FrameworkFunctional Tests Automation with Robot Framework
Functional Tests Automation with Robot Framework
laurent bristiel
 
Agile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated TestingAgile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated Testing
Dimitri Ponomareff
 
Performance testing and j meter
Performance testing and j meterPerformance testing and j meter
Performance testing and j meter
Purna Chandar
 
Load testing jmeter
Load testing jmeterLoad testing jmeter
Load testing jmeter
Billa Kota Sriram
 
Performance testing jmeter
Performance testing jmeterPerformance testing jmeter
Performance testing jmeterBhojan Rajan
 
Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)
Leonard Fingerman
 
Test Automation Framework Design | www.idexcel.com
Test Automation Framework Design | www.idexcel.comTest Automation Framework Design | www.idexcel.com
Test Automation Framework Design | www.idexcel.com
Idexcel Technologies
 

What's hot (20)

Formation jmeter
Formation jmeterFormation jmeter
Formation jmeter
 
TestNG Framework
TestNG Framework TestNG Framework
TestNG Framework
 
Performance testing with Apache JMeter
Performance testing with Apache JMeterPerformance testing with Apache JMeter
Performance testing with Apache JMeter
 
Why Should we use Microsoft's Playwright
Why Should we use Microsoft's PlaywrightWhy Should we use Microsoft's Playwright
Why Should we use Microsoft's Playwright
 
Automation - Apache JMeter
Automation - Apache JMeterAutomation - Apache JMeter
Automation - Apache JMeter
 
Struts2
Struts2Struts2
Struts2
 
Automation testing strategy, approach & planning
Automation testing  strategy, approach & planningAutomation testing  strategy, approach & planning
Automation testing strategy, approach & planning
 
Performance testing with Jmeter
Performance testing with JmeterPerformance testing with Jmeter
Performance testing with Jmeter
 
Building a Test Automation Strategy for Success
Building a Test Automation Strategy for SuccessBuilding a Test Automation Strategy for Success
Building a Test Automation Strategy for Success
 
Performance Testing With Jmeter
Performance Testing With JmeterPerformance Testing With Jmeter
Performance Testing With Jmeter
 
Arquitetura básica de testes para seu projeto Java
Arquitetura básica de testes para seu projeto JavaArquitetura básica de testes para seu projeto Java
Arquitetura básica de testes para seu projeto Java
 
BDD style Unit Testing
BDD style Unit TestingBDD style Unit Testing
BDD style Unit Testing
 
Automated vs manual testing
Automated vs manual testingAutomated vs manual testing
Automated vs manual testing
 
Functional Tests Automation with Robot Framework
Functional Tests Automation with Robot FrameworkFunctional Tests Automation with Robot Framework
Functional Tests Automation with Robot Framework
 
Agile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated TestingAgile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated Testing
 
Performance testing and j meter
Performance testing and j meterPerformance testing and j meter
Performance testing and j meter
 
Load testing jmeter
Load testing jmeterLoad testing jmeter
Load testing jmeter
 
Performance testing jmeter
Performance testing jmeterPerformance testing jmeter
Performance testing jmeter
 
Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)
 
Test Automation Framework Design | www.idexcel.com
Test Automation Framework Design | www.idexcel.comTest Automation Framework Design | www.idexcel.com
Test Automation Framework Design | www.idexcel.com
 

Similar to JMeter - narzędzie testera - notatki

Perl. Testowanie. Zapiski programisty
Perl. Testowanie. Zapiski programistyPerl. Testowanie. Zapiski programisty
Perl. Testowanie. Zapiski programisty
Wydawnictwo Helion
 
Infrastruktura Hiperkonwergentna na przykładzie platformy Nutanix - Marcin Ka...
Infrastruktura Hiperkonwergentna na przykładzie platformy Nutanix - Marcin Ka...Infrastruktura Hiperkonwergentna na przykładzie platformy Nutanix - Marcin Ka...
Infrastruktura Hiperkonwergentna na przykładzie platformy Nutanix - Marcin Ka...
jzielinski_pl
 
university day 1
university day 1university day 1
university day 1
Sławomir Borowiec
 
Dlaczego flopsar
Dlaczego flopsarDlaczego flopsar
Dlaczego flopsar
Flopsar Technology
 
Jak stworzyć udany system informatyczny
Jak stworzyć udany system informatycznyJak stworzyć udany system informatyczny
Jak stworzyć udany system informatyczny
qbeuek
 
Podstawy testowania oprogramowania INCO 2023.pptx
Podstawy testowania oprogramowania INCO 2023.pptxPodstawy testowania oprogramowania INCO 2023.pptx
Podstawy testowania oprogramowania INCO 2023.pptx
Katarzyna Javaheri-Szpak
 
Core Java Servlets i JavaServer Pages. Tom II. Wydanie II
Core Java Servlets i JavaServer Pages. Tom II. Wydanie IICore Java Servlets i JavaServer Pages. Tom II. Wydanie II
Core Java Servlets i JavaServer Pages. Tom II. Wydanie II
Wydawnictwo Helion
 
Integracja środowiska testowego z użyciem Robot Framework, TrojQA 2014-12-16
Integracja środowiska testowego z użyciem Robot Framework, TrojQA 2014-12-16Integracja środowiska testowego z użyciem Robot Framework, TrojQA 2014-12-16
Integracja środowiska testowego z użyciem Robot Framework, TrojQA 2014-12-16
Krzysztof Synak
 
Info meet pomiary wydajności
Info meet pomiary wydajnościInfo meet pomiary wydajności
Info meet pomiary wydajnościmagda3695
 
[TestWarez 2017] Zen testów wydajnościowych
[TestWarez 2017] Zen testów wydajnościowych[TestWarez 2017] Zen testów wydajnościowych
[TestWarez 2017] Zen testów wydajnościowych
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
JavaScript, Moduły
JavaScript, ModułyJavaScript, Moduły
JavaScript, Moduły
Mariusz Nowak
 
A. Bala – JMeter - testing tool
A. Bala – JMeter - testing toolA. Bala – JMeter - testing tool
A. Bala – JMeter - testing tool
Adrian Bala
 
JMeter – narzędzie testera
JMeter – narzędzie testeraJMeter – narzędzie testera
Strategie automatyzacji testow
Strategie automatyzacji testowStrategie automatyzacji testow
Strategie automatyzacji testow
Wiktor Żołnowski
 
Confitura 2015 - Code Quality Keepers @ Allegro
Confitura 2015 - Code Quality Keepers @ AllegroConfitura 2015 - Code Quality Keepers @ Allegro
Confitura 2015 - Code Quality Keepers @ Allegro
allegro.tech
 
Wprowadzenie do PHPUnit
Wprowadzenie do PHPUnitWprowadzenie do PHPUnit
Wprowadzenie do PHPUnit
Michał Kowalik
 
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać
Bartosz Ratajczyk
 
Automatyczne testy end-to-end aplikacji JavaScript.
Automatyczne testy end-to-end aplikacji JavaScript.Automatyczne testy end-to-end aplikacji JavaScript.
Automatyczne testy end-to-end aplikacji JavaScript.
Future Processing
 
Technik.teleinformatyk 312[02] z1.03_u
Technik.teleinformatyk 312[02] z1.03_uTechnik.teleinformatyk 312[02] z1.03_u
Technik.teleinformatyk 312[02] z1.03_u
Rzeźnik Sebastian
 
ŁódQA - Session based testing
ŁódQA - Session based testingŁódQA - Session based testing
ŁódQA - Session based testing
LodQA
 

Similar to JMeter - narzędzie testera - notatki (20)

Perl. Testowanie. Zapiski programisty
Perl. Testowanie. Zapiski programistyPerl. Testowanie. Zapiski programisty
Perl. Testowanie. Zapiski programisty
 
Infrastruktura Hiperkonwergentna na przykładzie platformy Nutanix - Marcin Ka...
Infrastruktura Hiperkonwergentna na przykładzie platformy Nutanix - Marcin Ka...Infrastruktura Hiperkonwergentna na przykładzie platformy Nutanix - Marcin Ka...
Infrastruktura Hiperkonwergentna na przykładzie platformy Nutanix - Marcin Ka...
 
university day 1
university day 1university day 1
university day 1
 
Dlaczego flopsar
Dlaczego flopsarDlaczego flopsar
Dlaczego flopsar
 
Jak stworzyć udany system informatyczny
Jak stworzyć udany system informatycznyJak stworzyć udany system informatyczny
Jak stworzyć udany system informatyczny
 
Podstawy testowania oprogramowania INCO 2023.pptx
Podstawy testowania oprogramowania INCO 2023.pptxPodstawy testowania oprogramowania INCO 2023.pptx
Podstawy testowania oprogramowania INCO 2023.pptx
 
Core Java Servlets i JavaServer Pages. Tom II. Wydanie II
Core Java Servlets i JavaServer Pages. Tom II. Wydanie IICore Java Servlets i JavaServer Pages. Tom II. Wydanie II
Core Java Servlets i JavaServer Pages. Tom II. Wydanie II
 
Integracja środowiska testowego z użyciem Robot Framework, TrojQA 2014-12-16
Integracja środowiska testowego z użyciem Robot Framework, TrojQA 2014-12-16Integracja środowiska testowego z użyciem Robot Framework, TrojQA 2014-12-16
Integracja środowiska testowego z użyciem Robot Framework, TrojQA 2014-12-16
 
Info meet pomiary wydajności
Info meet pomiary wydajnościInfo meet pomiary wydajności
Info meet pomiary wydajności
 
[TestWarez 2017] Zen testów wydajnościowych
[TestWarez 2017] Zen testów wydajnościowych[TestWarez 2017] Zen testów wydajnościowych
[TestWarez 2017] Zen testów wydajnościowych
 
JavaScript, Moduły
JavaScript, ModułyJavaScript, Moduły
JavaScript, Moduły
 
A. Bala – JMeter - testing tool
A. Bala – JMeter - testing toolA. Bala – JMeter - testing tool
A. Bala – JMeter - testing tool
 
JMeter – narzędzie testera
JMeter – narzędzie testeraJMeter – narzędzie testera
JMeter – narzędzie testera
 
Strategie automatyzacji testow
Strategie automatyzacji testowStrategie automatyzacji testow
Strategie automatyzacji testow
 
Confitura 2015 - Code Quality Keepers @ Allegro
Confitura 2015 - Code Quality Keepers @ AllegroConfitura 2015 - Code Quality Keepers @ Allegro
Confitura 2015 - Code Quality Keepers @ Allegro
 
Wprowadzenie do PHPUnit
Wprowadzenie do PHPUnitWprowadzenie do PHPUnit
Wprowadzenie do PHPUnit
 
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać
 
Automatyczne testy end-to-end aplikacji JavaScript.
Automatyczne testy end-to-end aplikacji JavaScript.Automatyczne testy end-to-end aplikacji JavaScript.
Automatyczne testy end-to-end aplikacji JavaScript.
 
Technik.teleinformatyk 312[02] z1.03_u
Technik.teleinformatyk 312[02] z1.03_uTechnik.teleinformatyk 312[02] z1.03_u
Technik.teleinformatyk 312[02] z1.03_u
 
ŁódQA - Session based testing
ŁódQA - Session based testingŁódQA - Session based testing
ŁódQA - Session based testing
 

More from Stowarzyszenie Jakości Systemów Informatycznych (SJSI)

Star Trek: BDD Enterprise
Star Trek: BDD EnterpriseStar Trek: BDD Enterprise
Model based testing as a BA tool
Model based testing as a BA toolModel based testing as a BA tool
Communication - Language of Leader
Communication - Language of LeaderCommunication - Language of Leader
Miękkie umiejętności w pracy analityka biznesu
Miękkie umiejętności w pracy analityka biznesuMiękkie umiejętności w pracy analityka biznesu
Miękkie umiejętności w pracy analityka biznesu
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
Błędy w analizie z praktyki (nowe wydanie  )
Błędy w analizie z praktyki (nowe wydanie  )Błędy w analizie z praktyki (nowe wydanie  )
Błędy w analizie z praktyki (nowe wydanie  )
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
7 Skills for highly effective teams - workshop
7 Skills for highly effective teams - workshop7 Skills for highly effective teams - workshop
7 Skills for highly effective teams - workshop
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
Dancing with the devil - how to cooperate with a problematic customer
Dancing with the devil - how to cooperate with a problematic customerDancing with the devil - how to cooperate with a problematic customer
Dancing with the devil - how to cooperate with a problematic customer
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
Cosmic truths about software requirements
Cosmic truths about software requirementsCosmic truths about software requirements
Cosmic truths about software requirements
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
Zagraj w zaangażowanie
Zagraj w zaangażowanieZagraj w zaangażowanie
Analiza prawdziwie biznesowa - skąd biorą się projekty
Analiza prawdziwie biznesowa - skąd biorą się projektyAnaliza prawdziwie biznesowa - skąd biorą się projekty
Analiza prawdziwie biznesowa - skąd biorą się projekty
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
Internet of Things loves data - analysis of Industry 4.0
Internet of Things loves data - analysis of Industry 4.0Internet of Things loves data - analysis of Industry 4.0
Internet of Things loves data - analysis of Industry 4.0
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
Start with Accessibility: Why, How and What
Start with Accessibility: Why, How and WhatStart with Accessibility: Why, How and What
Start with Accessibility: Why, How and What
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
Agile business analyst
Agile business analystAgile business analyst
Analityk i architekt w czasach automatyzacji i robotyzacji biznesu
Analityk i architekt w czasach automatyzacji i robotyzacji biznesuAnalityk i architekt w czasach automatyzacji i robotyzacji biznesu
Analityk i architekt w czasach automatyzacji i robotyzacji biznesu
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
Jak sprzedać swój pomysł w 5 minut, czyli pitch deck dla BA
Jak sprzedać swój pomysł w 5 minut, czyli pitch deck dla BAJak sprzedać swój pomysł w 5 minut, czyli pitch deck dla BA
Jak sprzedać swój pomysł w 5 minut, czyli pitch deck dla BA
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
7 Skills for highly effective teams
7 Skills for highly effective teams7 Skills for highly effective teams
[TestWarez 2017] Skomplikowane testowanie, skomplikowane terminy. Testowanie ...
[TestWarez 2017] Skomplikowane testowanie, skomplikowane terminy. Testowanie ...[TestWarez 2017] Skomplikowane testowanie, skomplikowane terminy. Testowanie ...
[TestWarez 2017] Skomplikowane testowanie, skomplikowane terminy. Testowanie ...
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
[TestWarez 2017] Przychodzi tester na rozmowę...
[TestWarez 2017] Przychodzi tester na rozmowę...[TestWarez 2017] Przychodzi tester na rozmowę...
[TestWarez 2017] Przychodzi tester na rozmowę...
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
[TestWarez 2017] A proper gun makes testing fun
[TestWarez 2017] A proper gun makes testing fun[TestWarez 2017] A proper gun makes testing fun
[TestWarez 2017] A proper gun makes testing fun
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
[TestWarez 2017] „Przypadek Testowy” a „Kliencki Przypadek Użycia”
[TestWarez 2017] „Przypadek Testowy” a „Kliencki Przypadek Użycia”[TestWarez 2017] „Przypadek Testowy” a „Kliencki Przypadek Użycia”
[TestWarez 2017] „Przypadek Testowy” a „Kliencki Przypadek Użycia”
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 

More from Stowarzyszenie Jakości Systemów Informatycznych (SJSI) (20)

Star Trek: BDD Enterprise
Star Trek: BDD EnterpriseStar Trek: BDD Enterprise
Star Trek: BDD Enterprise
 
Model based testing as a BA tool
Model based testing as a BA toolModel based testing as a BA tool
Model based testing as a BA tool
 
Communication - Language of Leader
Communication - Language of LeaderCommunication - Language of Leader
Communication - Language of Leader
 
Miękkie umiejętności w pracy analityka biznesu
Miękkie umiejętności w pracy analityka biznesuMiękkie umiejętności w pracy analityka biznesu
Miękkie umiejętności w pracy analityka biznesu
 
Błędy w analizie z praktyki (nowe wydanie  )
Błędy w analizie z praktyki (nowe wydanie  )Błędy w analizie z praktyki (nowe wydanie  )
Błędy w analizie z praktyki (nowe wydanie  )
 
7 Skills for highly effective teams - workshop
7 Skills for highly effective teams - workshop7 Skills for highly effective teams - workshop
7 Skills for highly effective teams - workshop
 
Dancing with the devil - how to cooperate with a problematic customer
Dancing with the devil - how to cooperate with a problematic customerDancing with the devil - how to cooperate with a problematic customer
Dancing with the devil - how to cooperate with a problematic customer
 
Cosmic truths about software requirements
Cosmic truths about software requirementsCosmic truths about software requirements
Cosmic truths about software requirements
 
Zagraj w zaangażowanie
Zagraj w zaangażowanieZagraj w zaangażowanie
Zagraj w zaangażowanie
 
Analiza prawdziwie biznesowa - skąd biorą się projekty
Analiza prawdziwie biznesowa - skąd biorą się projektyAnaliza prawdziwie biznesowa - skąd biorą się projekty
Analiza prawdziwie biznesowa - skąd biorą się projekty
 
Internet of Things loves data - analysis of Industry 4.0
Internet of Things loves data - analysis of Industry 4.0Internet of Things loves data - analysis of Industry 4.0
Internet of Things loves data - analysis of Industry 4.0
 
Start with Accessibility: Why, How and What
Start with Accessibility: Why, How and WhatStart with Accessibility: Why, How and What
Start with Accessibility: Why, How and What
 
Agile business analyst
Agile business analystAgile business analyst
Agile business analyst
 
Analityk i architekt w czasach automatyzacji i robotyzacji biznesu
Analityk i architekt w czasach automatyzacji i robotyzacji biznesuAnalityk i architekt w czasach automatyzacji i robotyzacji biznesu
Analityk i architekt w czasach automatyzacji i robotyzacji biznesu
 
Jak sprzedać swój pomysł w 5 minut, czyli pitch deck dla BA
Jak sprzedać swój pomysł w 5 minut, czyli pitch deck dla BAJak sprzedać swój pomysł w 5 minut, czyli pitch deck dla BA
Jak sprzedać swój pomysł w 5 minut, czyli pitch deck dla BA
 
7 Skills for highly effective teams
7 Skills for highly effective teams7 Skills for highly effective teams
7 Skills for highly effective teams
 
[TestWarez 2017] Skomplikowane testowanie, skomplikowane terminy. Testowanie ...
[TestWarez 2017] Skomplikowane testowanie, skomplikowane terminy. Testowanie ...[TestWarez 2017] Skomplikowane testowanie, skomplikowane terminy. Testowanie ...
[TestWarez 2017] Skomplikowane testowanie, skomplikowane terminy. Testowanie ...
 
[TestWarez 2017] Przychodzi tester na rozmowę...
[TestWarez 2017] Przychodzi tester na rozmowę...[TestWarez 2017] Przychodzi tester na rozmowę...
[TestWarez 2017] Przychodzi tester na rozmowę...
 
[TestWarez 2017] A proper gun makes testing fun
[TestWarez 2017] A proper gun makes testing fun[TestWarez 2017] A proper gun makes testing fun
[TestWarez 2017] A proper gun makes testing fun
 
[TestWarez 2017] „Przypadek Testowy” a „Kliencki Przypadek Użycia”
[TestWarez 2017] „Przypadek Testowy” a „Kliencki Przypadek Użycia”[TestWarez 2017] „Przypadek Testowy” a „Kliencki Przypadek Użycia”
[TestWarez 2017] „Przypadek Testowy” a „Kliencki Przypadek Użycia”
 

JMeter - narzędzie testera - notatki

  • 2. Adrian Bala JMeter – narzędzie testera TestWarez 2015 1 Spis treści Czym jest JMeter?..................................................................................................................1 Do czego służy JMeter?...........................................................................................................1 Podstawowe zalety JMeter......................................................................................................2 Do czego można użyć JMeter? .................................................................................................2 Podstawowe elementy JMeter.................................................................................................3 Czym NIE jest JMeter?............................................................................................................4 Wsparcie i rozwój...................................................................................................................4 Podsumowanie ......................................................................................................................4 Wskazówki i podpowiedzi .......................................................................................................5 Bibliografia............................................................................................................................5 Czym jest JMeter? Apache JMeter™ to otwarte oprogramowanie,napisane w Javie i dedykowane do tworzenia, wykonywaniaoraz monitorowaniatestów obciążeniowych,wydajnościowych oraz funkcjonalnych.Oryginalnie byłoprojektowane i rozwijane przezStefanoMazzocchi z Apache Software Foundation,który napisał je do testowaniawydajności Apache JServ (projektu,który został zastąpionyprzez Apache Tomcat). Następnie JMeter został przeprojektowanyi wyposażonyw GUI celemrozszerzeniajegozastosowań do testów funkcjonalnych.W listopadzie 2011 roku JMeter stał się projektemApache najwyższego poziomu(ang. top level),co oznacza, że zyskał społeczność odpowiedzialnąza jegorozwój (ang. Project Management Commitee) oraz dedykowanyserwis. Do czego służy JMeter? Apache JMeter jestużywany do testowaniawydajności statycznych oraz dynamicznych zasobów takich jak pliki,dynamiczne języki programowania serwisów internetowych,np.PHP, Java, ASP.NET, itp.,obiektyJava, bazy danych i kwerendy,serwery FTP, itp. Z powodzeniemjestwykorzystywanydosymulowaniawzmożonegoruchu na serwerze,grupie serwerów,w sieci lubna „hartowanym” obiekcie.Służyrównieżdo analizowaniacałkowitej wydajności podobciążeniemróżnego typu,np. do graficznej analizy całkowitej wydajności lubdo testowaniazachowania się serwera/ skryptu / obiektuprzy wzmożonymi zrównoleglonymobciążeniu.
  • 3. Adrian Bala JMeter – narzędzie testera TestWarez 2015 2 Podstawowe zalety JMeter Apache JMeter: 1. Pozwala na automatyzację testowania(oszczędność). 2. Działa na platformach wspierającychJava (przenośność). 3. Umożliwiadziałanie wielowątkowe (zrównoleglenie). 4. Jest narzędziem „wielopoziomowym”(użyteczność). 5. Wspiera różne protokoły(uniwersalność) 6. Dostarcza wysoki poziom abstrakcji (łatwośćobsługi). 7. Posiada rozbudowaną dokumentację(łatwość nauki). 8. Jest wspieranyi rozwijany (aktualność). 9. Może być modyfikowany(dostosowywanie). 10. Jest darmowy (ograniczenie kosztów). 11. Inne. Do czego można użyć JMeter? Przykładowo Apache JMeter: 1. Pozwala na wykonywanie zapytańhttp(s) – GET, POST oraz przetwarzanie zwróconych kodów1 i wyników odpowiedzi. 2. Umożliwiaustanowienie bezpośredniegopołączeniazbazą MySQL i wykonywania zapytań przy wykorzystaniusterownikaJDBC2. 3. Potrafi działać w trybie konsolowymbezGUI, dzięki czemu może być instalowanyna maszynach bez wyświetlaczy,np.serwerach. 4. Może być użyty w celach monitorowaniapracy serwera/ grupy serwerów poprzez okresowe sprawdzanie statusu. 5. Stwarza możliwośćsymulowaniapowiększonegoruchusieciowegopoprzez jednoczesne wykonywanie zapytańhttp(s) – GET, POST z użyciemwieluwątków. 6. Ułatwia zbieranie statystykdotyczących wydajności pracy serwera / grupy serwerów poprzez pomiar czasów przetwarzania zapytań, czasu uzyskiwaniaodpowiedzi,itp. 7. Pomaga na porównywanie wybranychkonfiguracji sprzętowo-programowych przy podejmowaniudecyzji ozakupie lub wyborze konkretnegorozwiązania. 8. Doskonale nadaje się do testowaniaRESTful API po http(s) – GET, POST, PUT, PATCH, DELETE. 9. Dostarcza możliwośćnagrywania i odtwarzania scenariuszytestowych na zasadzie zbliżonej do SeleniumIDE3. 10. Daje się włączać w proces CI, tj. integracji ciągłej (ang. continuous integration) współpracując z różnymi systemami takimi jak Jenkins4 lubHudson5. 11. Wiele innych. 1 HypertextTransfer Protocol -- HTTP/1.1 - https://www.ietf.org/rfc/rfc2616.txt 2 JDBC driver forMySQL- http://dev.mysql.com/downloads/connector/j/ 3 SeleniumIDE- http://www.seleniumhq.org/projects/ide/ 4 Jenkins - https://jenkins-ci.org/ 5 Hudson - http://hudson-ci.org/
  • 4. Adrian Bala JMeter – narzędzie testera TestWarez 2015 3 Podstawowe elementy JMeter Apache JMeter ma budowę hierarchiczną i co warte podkreślenia,„drzewiastą”. Podstawowymelementemjest TestPlan,który zawiera,co najmniej jedną GrupęWątków. Inne podstawowe elementyto:  zmienne – wbudowane,definiowane;  instrukcje warunkowe – IF, WHILE, itp.;  pętle – LOOP, FOREACH, itp.;  zapytania – HTTP(S), JDBC, itp.;  asercje – odpowiedzi,rozmiaru,itp.;  timery – stałe, losowe,itp.;  słuchacze – drzewiaste,sumaryczne,itp.;  ekstraktory – wyrażeńregularnych, XPath,itp.;  menedżery – cookie,header, itp.;  dzienniki –log, console;  funkcje – wbudowane i definiowane w BeanShell6;  wiele innych Rys. 1. JMeter – podstawowe elementy Wymienione wyżej elementypozwalająw opinii autoraspojrzeć na JMeter,jako na uniwersalnyjęzyklub frameworkwysokiegopoziomudo tworzenia,wykonywania oraz monitorowaniatestów automatycznych różnego rodzaju. Od niskopoziomowychtestów wykonywanychbezpośredniona bazie MySQL, poprzez zapytania http(s) i testowanie RESTful API,aż po nagrywanie i odtwarzanie scenariuszy zorientowanychna działania Użytkownika z użyciemprzeglądarki. 6 BeanShell - SimpleJavaScripting - http://www.beanshell.org/manual/bshmanual.html
  • 5. Adrian Bala JMeter – narzędzie testera TestWarez 2015 4 Czym NIE jest JMeter? Należyjasno i wyraźnie podkreślić,że Apache JMeter to nie przeglądarka. Mimo, że wygląda i zachowuje się jak przeglądarka, a właściwie to wiele różnychprzeglądarek,JMeter nie obsługuje wszystkichdostępnych w nich akcji. W szczególności JMeternie wykonuje JavaScriptów wstawionychw tagach HTML strony i co więcej nie renderuje widokustron WWW tak jak przeglądarki internetowe.Posiadarównieżograniczeniaprzy wspieraniu WebSocket. Wsparcie i rozwój Apache JMeter™ to otwarte oprogramowanie,które w listopadzie 2011 roku stało się projektemnajwyższegopoziomui zyskałospołeczność odpowiedzialnązajegorozwój. Dzięki czemu powstał dedykowanyserwis – http://jmeter.apache.org/ ,opracowano szczegółową dokumentację – http://jmeter.apache.org/usermanual/index.html ,oraz zestaw pomocnych tutoriali.Co więcej uruchomiony został serwisdo zgłaszania defektów (ang. bug) i propozycji zmian (ang. feature request) do kolejnegowydania(ang. release). Przykłademmoże być m.in.:https://bz.apache.org/bugzilla/show_bug.cgi?id=51817. Rys. 2. JMeter – ASF Bugzilla Podsumowanie Powszechnie utarłosię postrzegać i używać JMeter, jako narzędzie do tworzenia, wykonywaniai monitorowaniatestów obciążeniowych,wydajnościowychi funkcjonalnych. Bywa on równieżwykorzystywanyprzy testowaniurozproszonym (ang. distributed testing), testach jednostkowychz JUnit oraz do nagrywania i odtwarzania scenariuszytestowych. Osobiście autor woli postrzegać i traktować JMeter jak język programowania lub framework do tworzeniatestów automatycznych. Wynikato z faktu, że dostarcza on wiele funkcjonalności,cech i zalet wysokopoziomowegojęzykaprogramowania wizualnego, potrafiącego działać wielowątkowonapraktycznie dowolnej architekturze.
  • 6. Adrian Bala JMeter – narzędzie testera TestWarez 2015 5 Intencją przewodniąprezentacji jesti będzie przybliżenie użytecznegonarzędzia, które przydać się może testerowi w różnych sytuacjach. Zebrane powyżej informacje mają pomóc w osiągnięciuwyznaczonegocelu. Duża uniwersalnośćwraz z innymi pozytywnymi cechami JMetera skłania do stwierdzenia,iżjestto narzędzie testera,które w opinii autora warto poznać i używać. Wskazówki i podpowiedzi 1. Ctr ^ SER – jako przydatny skrót od Save, Erasei Run. 2. Ctr ^ - oraz Ctr + Shift ^ - – zwija i rozwija drzewo Test Planu. 3. Ctr ^ . – kończy wykonanie wątku / pętli, itp. 4. Nazwyzmiennych są tekstowe, a odwołania do nich poprzez ${ }. 5. JMeter pozwala na KONFIGURACJĘ (kod, dane, konfiguracja). 6. Przykładowe wywołanie z linii komend: jmeter-n -t testplan.jmx-llogfile.log 7. Dobrzejest, gdy na jeden rdzeń procesora przypada, co najwyżej 2 instancje JMetera. 8. Proces JMetera powinien zajmowaćzasoby procesora, co najwyżej w 75 %. 9. Przydatnesą setUp Thread Group oraz tearDownThread Group. 10. Bardzoużytecznesą funkcje, np. __time7 do wyznaczania czasutrwania testów. 11. Warto korzystaćz wyrażeńregularnych8, np. do weryfikowania odpowiedzi. 12. W roli komentarza można użyć JavaRequest9. 13. Dobry opis pozwala na samodokumentowanie kodu testów. 14. Przydaje się odróżniać testy pozytywne (+) od negatywnych(-). 15. Inne. Bibliografia [1]. Apache JMeter – http://jmeter.apache.org/index.html [2]. Apache JMeter Manual – http://jmeter.apache.org/usermanual/index.html [3]. ASF Bugzilla –https://bz.apache.org/bugzilla/describecomponents.cgi?product=JMeter [4]. Apache JMeter Wiki – http://wiki.apache.org/jmeter/ [5]. Apache JMeter Group – https://www.linkedin.com/groups?gid=2017104 [6]. Custom Plugins for Apache JMeter™ – http://jmeter-plugins.org/ [7]. Firebase RESTful API – https://www.firebase.com/docs/rest/api/ [8]. Apache JMeter workshop by Piotr Sobieraj –materiały szkoleniowe GFT [9]. Apache JMeter - automatyzacja testowania - Adrian Bala – opracowaniewłasne 7 Opisfunkcji - http://jmeter.apache.org/usermanual/functions.html 8 Opiswyrażeń regularnych - http://jmeter.apache.org/usermanual/regular_expressions.html oraz http://archimedes.fas.harvard.edu/scrapbook/jakarta-oro- 2.0.6/docs/api/org/apache/oro/text/regex/package-summary.html 9 Java RequestzamiastComment Sampler - https://bz.apache.org/bugzilla/show_bug.cgi?id=51824