THINGS THEY SAY OPENSOURCE TOOLS CAN’T DO –APACHE JMETER              Prezinta:              Bogdan Moscaliuc             ...
DE CE TESTARE AUTOMATA?   Testarea Automata – Save time and money     Testele sunt executate automat     Timpii de test...
DE CE TESTARE AUTOMATA?   Testarea automata creste Test Coverage-ul     Testarea automata creste profunzimea si sfera de...
METODE DE TESTARE AUTOMATA   Code driven testing:       Accesul la module de cod, librarii, functii prin argumentele de ...
UNIT TESTING   Testarea codului presupune fragmentarea acestuia in unitati    cat mai mici de cod, acestea integrandu-se ...
API TESTING   API = Application    Programmable Interface       Interfata implementata de un program        software ce ...
API SERVER TESTS   2 Tier architecture                          o   N Tier architecture
TEST DRIVEN DEVELOPMENT   Tehnica de development software Agile ce se bazeaza pe repetitia    unui scurt ciclu de impleme...
TEST AUTOMATION TOOLS Unit testing: Junit, Cubic test, Cxx, Selenium, TestNG API testing: Jmeter, Junit, Poster, Grinder...
APACHE JMETER   Open source – Apache Jakarta project   Se bazeaza pe structura XML   Implementat in Java, poate fi exti...
APACHE JMETER   Ofera o multitudine de pluggin-uri pentru raportarea    rezultatelor, pluginuri pentru analiza datelor sa...
CE SE POATE TESTA SI CUM ?   API:       Simularea comunicarii Client- Server           Exemplu: registration, activatio...
CE SE POATE TESTA SI CUM ?   Web application GUI:     Functionalitate Record/Playback     Ofera suport pentru Rich Inte...
SUPORT PENTRU SCRIPTING   Suport pentru scripting     Beanshell (Java scripting language) sau pure Java     Built-in Ja...
JMETER VS. LOADRUNNERItem                   Apache Jmeter   Load RunnerEase – installation            +             neutra...
JMETER VS. LOADRUNNERItem                       Apache Jmeter   Load RunnerBatch mode                         +           ...
JMETER IN PICTURES
JMETER IN PICTURES
JMETER IN PICTURES
JMETER IN PICTURES
PRACTICAL EXAMPLES Exemplu API : Google Maps Exemplu Web service: Weather in USA Web application – record&playback:  ww...
OPEN SOURCE CONCLUSION 
THE END Thank you ! Questions …
Upcoming SlideShare
Loading in …5
×

OSOM - Performance in testing by jmeter

626 views

Published on

OSOM - Open Source Open Mind Conference 2010 www.osom.ro

  • Be the first to comment

  • Be the first to like this

OSOM - Performance in testing by jmeter

  1. 1. THINGS THEY SAY OPENSOURCE TOOLS CAN’T DO –APACHE JMETER Prezinta: Bogdan Moscaliuc Radu Tighineanu
  2. 2. DE CE TESTARE AUTOMATA? Testarea Automata – Save time and money  Testele sunt executate automat  Timpii de test scad dramatic  Partea negativa: implementarea si mentenanta scripturilor presupun un efort ridicat Testarea automata imbunatateste acuratetea testelor  Anumite erori pot fi introduse in timpul testarii manuale  Testele automatizate executa pasii de testare precis si ofera detalii suplimentare comparat cu testarea manuala
  3. 3. DE CE TESTARE AUTOMATA? Testarea automata creste Test Coverage-ul  Testarea automata creste profunzimea si sfera de aplicare a testelor pentru a ajuta la îmbunătăţirea calităţii software-ului  Testele de lungă durată sunt adesea evitate în timpul testării manual Prin testarea automata se pot face teste care sunt foarte dificile la nivel de testare manuala  Teste de performanta, load, stress: Chiar şi cel mai dezvoltat departament software nu poate efectua un test manual controlat, cu mii de utilizatori, pentru aplicaţii web.
  4. 4. METODE DE TESTARE AUTOMATA Code driven testing:  Accesul la module de cod, librarii, functii prin argumentele de input pentru a valida faptul că rezultatele care sunt returnate sunt corecte.  Unit testing  API (Application Programmable Interface) testing  Test Driven Development (TDD- Agile): GUI testing:  Evenimentele si interactiunile cu GUI-ul aplicatiei sunt inregistrate prin utilizarea unui tool de test cu scopul de a le modifica si a testa impactul asupra aplicatiei sau configuratiilor sistemului.
  5. 5. UNIT TESTING Testarea codului presupune fragmentarea acestuia in unitati cat mai mici de cod, acestea integrandu-se apoi in componente si workflow-uri Asertii: un predicat software atasat unei functii sau unei componente pentru a indica faptul ca functia sau componenta face ceea ce indica predicatul.
  6. 6. API TESTING API = Application Programmable Interface  Interfata implementata de un program software ce ii ofera posibilitatea de a interactiona cu alte entitati software API testing  Se verifica si se valideaza comunicarea dintre 2 sau mai multe entitati software  Rezultatele testelor sunt reflectate prin succesul sau esecul asertiilor  Unite testing outside the code
  7. 7. API SERVER TESTS 2 Tier architecture o N Tier architecture
  8. 8. TEST DRIVEN DEVELOPMENT Tehnica de development software Agile ce se bazeaza pe repetitia unui scurt ciclu de implementare Testul este implementat inaintea functionalitatii. Va esua pana cand functionalitatea va fi completa.
  9. 9. TEST AUTOMATION TOOLS Unit testing: Junit, Cubic test, Cxx, Selenium, TestNG API testing: Jmeter, Junit, Poster, Grinder GUI tests:  Web: Selenium, Watir, iMacros, PushtoTest, Jmeter , TestGen4Web, Grinder, etc  Desktop: Eggplant, Phantom, FitNesse (not open source)
  10. 10. APACHE JMETER Open source – Apache Jakarta project Se bazeaza pe structura XML Implementat in Java, poate fi extins cu usurinta (ex. BadBoy) Potrivit pentru teste de API client-server, Aplicatii Web, Performance, DataBase, WebServices Ofera suport in testare pentru diferite protocoale sau API-uri:  Web - HTTP, HTTPS  FTP  SOAP - WSDL (Web Services)  Database via JDBC connection  JMS  Mail - POP3(S) si IMAP(S)  LDAP  Conexiuni TCP generice
  11. 11. APACHE JMETER Ofera o multitudine de pluggin-uri pentru raportarea rezultatelor, pluginuri pentru analiza datelor sau plugin-uri de vizualizare  Ex. http://code.google.com/p/jmeter-plugins/ Poate fi configurat pentru a rula in mod distribuit pentru testele de performanta Poate monitoriza functionalitatea sau disponibilitatea unor aplicatii, servicii web sau servere
  12. 12. CE SE POATE TESTA SI CUM ? API:  Simularea comunicarii Client- Server  Exemplu: registration, activation  Simularea comportamentului unui component intr-un workflow  Exemplu: Substituirea componentului respectiv la nivel de comunicare pentru a studia comportamentul sistemului DataBase:  Exista posibilitatea de a rula orice SQL statement direct din script  Permite conexiune la orice tip de DB SQL  Se pot face diff-uri pe diferite db-uri Servicii Web:  Simularea la nivel de comportament si comunicare  Este compatibil cu SOAP si cu anumite tooluri pt testarea WS (SoapUI)
  13. 13. CE SE POATE TESTA SI CUM ? Web application GUI:  Functionalitate Record/Playback  Ofera suport pentru Rich Internet Application (ex.:CSS, Ajax)  Suport pentru HTTPS Performance  Load, Stress, Scalability,  Performance monitoring  Check response times, load balancing, DB integrity
  14. 14. SUPORT PENTRU SCRIPTING Suport pentru scripting  Beanshell (Java scripting language) sau pure Java  Built-in JavaScript  Batch files  StyleSheet XML for result conversion  Suportul poate fi extins prin plugin-uri
  15. 15. JMETER VS. LOADRUNNERItem Apache Jmeter Load RunnerEase – installation + neutralEase - scripting + -Ease – Running tests + +Ease – Results neutral +reportingExternal libs usable + +Cross platform + -Cost + -Technical Level + +Stability neutral +
  16. 16. JMETER VS. LOADRUNNERItem Apache Jmeter Load RunnerBatch mode + -Custom protocols + +Out of the box protocols neutral +Unlimited load + -generationLoad scheduling + +Load tests - Agent + +managementReal –time Test + +monitoringReal- time load - +adjustmentScript management + +
  17. 17. JMETER IN PICTURES
  18. 18. JMETER IN PICTURES
  19. 19. JMETER IN PICTURES
  20. 20. JMETER IN PICTURES
  21. 21. PRACTICAL EXAMPLES Exemplu API : Google Maps Exemplu Web service: Weather in USA Web application – record&playback: www.cinemarx.ro
  22. 22. OPEN SOURCE CONCLUSION 
  23. 23. THE END Thank you ! Questions …

×