Successfully reported this slideshow.

JMeter - narzędzie testera - notatki

1

Share

Loading in …3
×
1 of 6
1 of 6

JMeter - narzędzie testera - notatki

1

Share

Download to read offline

Apache JMeter™ to otwarte oprogramowanie, napisane w Javie i dedykowane do wykonywania testów obciążeniowych, wydajnościowych oraz funkcjonalnych. Oryginalnie było projektowane i rozwijane przez Stefano Mazzocchi z Apache Software Foundation, który napisał go do testowania wydajności Apache JServ (projektu, który został zastąpiony przez Apache Tomcat). Następnie JMeter został przeprojektowany i wyposażony w GUI celem rozszerzenia jego zastosowań do testów funkcjonalnych. W listopadzie 2011 roku JMeter stał się projektem Apache najwyższego poziomu (ang. top level), co oznacza, że zyskał społeczność odpowiedzialną za jego rozwój (ang. Project Management Commitee) oraz dedykowany serwis.

Apache JMeter jest używany do testowania wydajności statycznych oraz dynamicznych zasobów takich jak pliki, dynamiczne języki programowania serwisów internetowych, np. PHP, Java, ASP.NET, itp., obiekty Java, bazy danych i kwerendy, serwery FTP, itp. Z powodzeniem jest wykorzystywany do symulowania wzmożonego ruchu na serwerze, grupie serwerów, w sieci lub na „hartowanym” obiekcie. Służy również do analizowania całkowitej wydajności pod obciążeniem różnego typu, np. do graficznej analizy całkowitej wydajności lub do testowania zachowania się serwera / skryptu / obiektu przy wzmożonym i zrównoleglonym obciążeniu.

Apache JMeter™ to otwarte oprogramowanie, napisane w Javie i dedykowane do wykonywania testów obciążeniowych, wydajnościowych oraz funkcjonalnych. Oryginalnie było projektowane i rozwijane przez Stefano Mazzocchi z Apache Software Foundation, który napisał go do testowania wydajności Apache JServ (projektu, który został zastąpiony przez Apache Tomcat). Następnie JMeter został przeprojektowany i wyposażony w GUI celem rozszerzenia jego zastosowań do testów funkcjonalnych. W listopadzie 2011 roku JMeter stał się projektem Apache najwyższego poziomu (ang. top level), co oznacza, że zyskał społeczność odpowiedzialną za jego rozwój (ang. Project Management Commitee) oraz dedykowany serwis.

Apache JMeter jest używany do testowania wydajności statycznych oraz dynamicznych zasobów takich jak pliki, dynamiczne języki programowania serwisów internetowych, np. PHP, Java, ASP.NET, itp., obiekty Java, bazy danych i kwerendy, serwery FTP, itp. Z powodzeniem jest wykorzystywany do symulowania wzmożonego ruchu na serwerze, grupie serwerów, w sieci lub na „hartowanym” obiekcie. Służy również do analizowania całkowitej wydajności pod obciążeniem różnego typu, np. do graficznej analizy całkowitej wydajności lub do testowania zachowania się serwera / skryptu / obiektu przy wzmożonym i zrównoleglonym obciążeniu.

More Related Content

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

Related Books

Free with a 14 day trial from Scribd

See all

Related Audiobooks

Free with a 14 day trial from Scribd

See all

JMeter - narzędzie testera - notatki

  1. 1. Adrian Bala adrian.bala@gft.com JMETER – NARZĘDZIE TESTERA
  2. 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. 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. 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. 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. 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

×