SlideShare uma empresa Scribd logo
1 de 6
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

Apache JMeter - A brief introduction
Apache JMeter - A brief introductionApache JMeter - A brief introduction
Apache JMeter - A brief introductionsilenceIT Inc.
 
Load Testing Using JMeter Tutorial | Edureka
Load Testing Using JMeter Tutorial | EdurekaLoad Testing Using JMeter Tutorial | Edureka
Load Testing Using JMeter Tutorial | EdurekaEdureka!
 
Interpreting Performance Test Results
Interpreting Performance Test ResultsInterpreting Performance Test Results
Interpreting Performance Test ResultsEric Proegler
 
Jmeter Performance Testing
Jmeter Performance TestingJmeter Performance Testing
Jmeter Performance TestingAtul Pant
 
Load Testing and JMeter Presentation
Load Testing and JMeter PresentationLoad Testing and JMeter Presentation
Load Testing and JMeter PresentationNeill Lima
 
Performance testing jmeter
Performance testing jmeterPerformance testing jmeter
Performance testing jmeterBhojan Rajan
 
JMeter - Performance testing your webapp
JMeter - Performance testing your webappJMeter - Performance testing your webapp
JMeter - Performance testing your webappAmit Solanki
 
Introduction to JMeter
Introduction to JMeterIntroduction to JMeter
Introduction to JMeterGalih Lasahido
 
API Automation Testing Using RestAssured+Cucumber
API Automation Testing Using RestAssured+CucumberAPI Automation Testing Using RestAssured+Cucumber
API Automation Testing Using RestAssured+CucumberKnoldus Inc.
 
12 Steps to API Load Testing with Apache JMeter
12 Steps to API Load Testing with Apache JMeter12 Steps to API Load Testing with Apache JMeter
12 Steps to API Load Testing with Apache JMeterWSO2
 
BlazeMeter Presents at the High Performance Drupal Meetup
BlazeMeter Presents at the High Performance Drupal MeetupBlazeMeter Presents at the High Performance Drupal Meetup
BlazeMeter Presents at the High Performance Drupal MeetupBlazeMeter
 
Basic of jMeter
Basic of jMeter Basic of jMeter
Basic of jMeter Shub
 
JMeter & ColdFusion
JMeter & ColdFusion JMeter & ColdFusion
JMeter & ColdFusion isummation
 
Performance testing with JMeter
Performance testing with JMeterPerformance testing with JMeter
Performance testing with JMeterMikael Kundert
 

Mais procurados (20)

Apache JMeter - A brief introduction
Apache JMeter - A brief introductionApache JMeter - A brief introduction
Apache JMeter - A brief introduction
 
Load Testing Using JMeter Tutorial | Edureka
Load Testing Using JMeter Tutorial | EdurekaLoad Testing Using JMeter Tutorial | Edureka
Load Testing Using JMeter Tutorial | Edureka
 
Interpreting Performance Test Results
Interpreting Performance Test ResultsInterpreting Performance Test Results
Interpreting Performance Test Results
 
Jmeter Performance Testing
Jmeter Performance TestingJmeter Performance Testing
Jmeter Performance Testing
 
Load Testing and JMeter Presentation
Load Testing and JMeter PresentationLoad Testing and JMeter Presentation
Load Testing and JMeter Presentation
 
Performance testing jmeter
Performance testing jmeterPerformance testing jmeter
Performance testing jmeter
 
JMeter - Performance testing your webapp
JMeter - Performance testing your webappJMeter - Performance testing your webapp
JMeter - Performance testing your webapp
 
Xke spring boot
Xke spring bootXke spring boot
Xke spring boot
 
JMeter Intro
JMeter IntroJMeter Intro
JMeter Intro
 
Introduction to JMeter
Introduction to JMeterIntroduction to JMeter
Introduction to JMeter
 
API Automation Testing Using RestAssured+Cucumber
API Automation Testing Using RestAssured+CucumberAPI Automation Testing Using RestAssured+Cucumber
API Automation Testing Using RestAssured+Cucumber
 
JMeter
JMeterJMeter
JMeter
 
12 Steps to API Load Testing with Apache JMeter
12 Steps to API Load Testing with Apache JMeter12 Steps to API Load Testing with Apache JMeter
12 Steps to API Load Testing with Apache JMeter
 
JMeter
JMeterJMeter
JMeter
 
BlazeMeter Presents at the High Performance Drupal Meetup
BlazeMeter Presents at the High Performance Drupal MeetupBlazeMeter Presents at the High Performance Drupal Meetup
BlazeMeter Presents at the High Performance Drupal Meetup
 
Spring User Guide
Spring User GuideSpring User Guide
Spring User Guide
 
Basic of jMeter
Basic of jMeter Basic of jMeter
Basic of jMeter
 
Load testing with J meter
Load testing with J meterLoad testing with J meter
Load testing with J meter
 
JMeter & ColdFusion
JMeter & ColdFusion JMeter & ColdFusion
JMeter & ColdFusion
 
Performance testing with JMeter
Performance testing with JMeterPerformance testing with JMeter
Performance testing with JMeter
 

Semelhante a JMeter - narzędzie testera - notatki

Testy wydajnościowe - najlepsze praktyki - Kuba Gajda
Testy wydajnościowe - najlepsze praktyki - Kuba GajdaTesty wydajnościowe - najlepsze praktyki - Kuba Gajda
Testy wydajnościowe - najlepsze praktyki - Kuba GajdaBartłomiej Cymanowski
 
Perl. Testowanie. Zapiski programisty
Perl. Testowanie. Zapiski programistyPerl. Testowanie. Zapiski programisty
Perl. Testowanie. Zapiski programistyWydawnictwo 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
 
Jak stworzyć udany system informatyczny
Jak stworzyć udany system informatycznyJak stworzyć udany system informatyczny
Jak stworzyć udany system informatycznyqbeuek
 
Podstawy testowania oprogramowania INCO 2023.pptx
Podstawy testowania oprogramowania INCO 2023.pptxPodstawy testowania oprogramowania INCO 2023.pptx
Podstawy testowania oprogramowania INCO 2023.pptxKatarzyna 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 IIWydawnictwo 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-16Krzysztof Synak
 
Info meet pomiary wydajności
Info meet pomiary wydajnościInfo meet pomiary wydajności
Info meet pomiary wydajnościmagda3695
 
A. Bala – JMeter - testing tool
A. Bala – JMeter - testing toolA. Bala – JMeter - testing tool
A. Bala – JMeter - testing toolAdrian Bala
 
Strategie automatyzacji testow
Strategie automatyzacji testowStrategie automatyzacji testow
Strategie automatyzacji testowWiktor Żołnowski
 
Confitura 2015 - Code Quality Keepers @ Allegro
Confitura 2015 - Code Quality Keepers @ AllegroConfitura 2015 - Code Quality Keepers @ Allegro
Confitura 2015 - Code Quality Keepers @ Allegroallegro.tech
 
"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_uRzeźnik Sebastian
 

Semelhante a JMeter - narzędzie testera - notatki (20)

Testy wydajnościowe - najlepsze praktyki - Kuba Gajda
Testy wydajnościowe - najlepsze praktyki - Kuba GajdaTesty wydajnościowe - najlepsze praktyki - Kuba Gajda
Testy wydajnościowe - najlepsze praktyki - Kuba Gajda
 
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
 

Mais de Stowarzyszenie Jakości Systemów Informatycznych (SJSI)

Mais de 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