SlideShare a Scribd company logo
1 of 23
THINGS THEY SAY OPEN
SOURCE TOOLS CAN’T DO –
APACHE JMETER



              Prezinta:
              Bogdan Moscaliuc
              Radu Tighineanu
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
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.
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.
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.
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
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 implementare
   Testul este implementat inaintea functionalitatii. Va esua pana cand
    functionalitatea va fi completa.
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)
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
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
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)
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
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
JMETER VS. LOADRUNNER
Item                   Apache Jmeter   Load Runner
Ease – installation            +             neutral
Ease - scripting               +                -
Ease – Running tests           +               +
Ease – Results               neutral           +
reporting
External libs usable           +               +
Cross platform                 +                -
Cost                           +                -
Technical Level                +               +
Stability                    neutral           +
JMETER VS. LOADRUNNER
Item                       Apache Jmeter   Load Runner
Batch mode                         +               -
Custom protocols                   +               +
Out of the box protocols         neutral           +
Unlimited load                     +               -
generation
Load scheduling                    +               +


Load tests - Agent                 +               +
management
Real –time Test                    +               +
monitoring
Real- time load                     -              +
adjustment
Script management                  +               +
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:
  www.cinemarx.ro
OPEN SOURCE CONCLUSION 
THE END


 Thank you !
 Questions …

More Related Content

Similar to OSOM - Performance in testing by jmeter

Programare Web - De la CGI la servere de aplicatii
Programare Web - De la CGI la servere de aplicatiiProgramare Web - De la CGI la servere de aplicatii
Programare Web - De la CGI la servere de aplicatiiSabin Buraga
 
Teste automate good2
Teste automate good2Teste automate good2
Teste automate good2Viorica Teca
 
Dezvoltare Web Folosind Java
Dezvoltare Web Folosind JavaDezvoltare Web Folosind Java
Dezvoltare Web Folosind Javacolaru
 
Alternative Open Source pt mediul de afaceri-23apr2010
Alternative Open Source pt mediul de afaceri-23apr2010Alternative Open Source pt mediul de afaceri-23apr2010
Alternative Open Source pt mediul de afaceri-23apr2010Agora Group
 
Instalare si administrare site grid
Instalare si administrare site gridInstalare si administrare site grid
Instalare si administrare site gridalexstanciu
 
Noutăţi în ASP.NET MVC 2
Noutăţi în ASP.NET MVC 2Noutăţi în ASP.NET MVC 2
Noutăţi în ASP.NET MVC 2Enea Gabriel
 
Remus Pereni - Remus Pereni - JavaScript, from dark ages to renaissance, the ...
Remus Pereni - Remus Pereni - JavaScript, from dark ages to renaissance, the ...Remus Pereni - Remus Pereni - JavaScript, from dark ages to renaissance, the ...
Remus Pereni - Remus Pereni - JavaScript, from dark ages to renaissance, the ...Codecamp Romania
 
Alternative Open Source pentru mediul de afaceri-solepad-tm-20mai2010
Alternative Open Source pentru mediul de afaceri-solepad-tm-20mai2010Alternative Open Source pentru mediul de afaceri-solepad-tm-20mai2010
Alternative Open Source pentru mediul de afaceri-solepad-tm-20mai2010Agora Group
 
Alternative Open Source pentru mediul de afaceri-19mar2010
Alternative Open Source pentru mediul de afaceri-19mar2010Alternative Open Source pentru mediul de afaceri-19mar2010
Alternative Open Source pentru mediul de afaceri-19mar2010Agora Group
 
Referat_Java_Creanga_An_II_INFO.pdf
Referat_Java_Creanga_An_II_INFO.pdfReferat_Java_Creanga_An_II_INFO.pdf
Referat_Java_Creanga_An_II_INFO.pdfCreangaMadalina1
 
Dezvoltarea Aplicatiilor Web
Dezvoltarea Aplicatiilor WebDezvoltarea Aplicatiilor Web
Dezvoltarea Aplicatiilor Webdanielnastase
 
E solutions+ +open+source+-+27mai2010
E solutions+ +open+source+-+27mai2010E solutions+ +open+source+-+27mai2010
E solutions+ +open+source+-+27mai2010Agora Group
 
Programatica Enterprise 2011 - Zitec
Programatica Enterprise 2011 - ZitecProgramatica Enterprise 2011 - Zitec
Programatica Enterprise 2011 - ZitecAgora Group
 
Alternative Open Source pentru mediul de afaceri-20apr2010
Alternative Open Source pentru mediul de afaceri-20apr2010Alternative Open Source pentru mediul de afaceri-20apr2010
Alternative Open Source pentru mediul de afaceri-20apr2010Agora Group
 
Model View Controller și ASP.NET MVC + AJAX
Model View Controller și ASP.NET MVC + AJAXModel View Controller și ASP.NET MVC + AJAX
Model View Controller și ASP.NET MVC + AJAXEnea Gabriel
 
Simatic step 7 v5 prog
Simatic step 7 v5 progSimatic step 7 v5 prog
Simatic step 7 v5 progMARIUS scutaru
 

Similar to OSOM - Performance in testing by jmeter (20)

Programare Web - De la CGI la servere de aplicatii
Programare Web - De la CGI la servere de aplicatiiProgramare Web - De la CGI la servere de aplicatii
Programare Web - De la CGI la servere de aplicatii
 
Teste automate good2
Teste automate good2Teste automate good2
Teste automate good2
 
Dezvoltare Web Folosind Java
Dezvoltare Web Folosind JavaDezvoltare Web Folosind Java
Dezvoltare Web Folosind Java
 
Alternative Open Source pt mediul de afaceri-23apr2010
Alternative Open Source pt mediul de afaceri-23apr2010Alternative Open Source pt mediul de afaceri-23apr2010
Alternative Open Source pt mediul de afaceri-23apr2010
 
Instalare si administrare site grid
Instalare si administrare site gridInstalare si administrare site grid
Instalare si administrare site grid
 
Noutăţi în ASP.NET MVC 2
Noutăţi în ASP.NET MVC 2Noutăţi în ASP.NET MVC 2
Noutăţi în ASP.NET MVC 2
 
Remus Pereni - Remus Pereni - JavaScript, from dark ages to renaissance, the ...
Remus Pereni - Remus Pereni - JavaScript, from dark ages to renaissance, the ...Remus Pereni - Remus Pereni - JavaScript, from dark ages to renaissance, the ...
Remus Pereni - Remus Pereni - JavaScript, from dark ages to renaissance, the ...
 
Alternative Open Source pentru mediul de afaceri-solepad-tm-20mai2010
Alternative Open Source pentru mediul de afaceri-solepad-tm-20mai2010Alternative Open Source pentru mediul de afaceri-solepad-tm-20mai2010
Alternative Open Source pentru mediul de afaceri-solepad-tm-20mai2010
 
Alternative Open Source pentru mediul de afaceri-19mar2010
Alternative Open Source pentru mediul de afaceri-19mar2010Alternative Open Source pentru mediul de afaceri-19mar2010
Alternative Open Source pentru mediul de afaceri-19mar2010
 
Referat_Java_Creanga_An_II_INFO.pdf
Referat_Java_Creanga_An_II_INFO.pdfReferat_Java_Creanga_An_II_INFO.pdf
Referat_Java_Creanga_An_II_INFO.pdf
 
Dezvoltarea Aplicatiilor Web
Dezvoltarea Aplicatiilor WebDezvoltarea Aplicatiilor Web
Dezvoltarea Aplicatiilor Web
 
XTWIP Private Alpha
XTWIP Private AlphaXTWIP Private Alpha
XTWIP Private Alpha
 
E solutions+ +open+source+-+27mai2010
E solutions+ +open+source+-+27mai2010E solutions+ +open+source+-+27mai2010
E solutions+ +open+source+-+27mai2010
 
Axiologic quark
Axiologic quarkAxiologic quark
Axiologic quark
 
Programatica Enterprise 2011 - Zitec
Programatica Enterprise 2011 - ZitecProgramatica Enterprise 2011 - Zitec
Programatica Enterprise 2011 - Zitec
 
Alternative Open Source pentru mediul de afaceri-20apr2010
Alternative Open Source pentru mediul de afaceri-20apr2010Alternative Open Source pentru mediul de afaceri-20apr2010
Alternative Open Source pentru mediul de afaceri-20apr2010
 
Model View Controller și ASP.NET MVC + AJAX
Model View Controller și ASP.NET MVC + AJAXModel View Controller și ASP.NET MVC + AJAX
Model View Controller și ASP.NET MVC + AJAX
 
Music Finder
Music FinderMusic Finder
Music Finder
 
Microsoft zitec
Microsoft  zitecMicrosoft  zitec
Microsoft zitec
 
Simatic step 7 v5 prog
Simatic step 7 v5 progSimatic step 7 v5 prog
Simatic step 7 v5 prog
 

More from Marcela Oniga

OSOM @ Programatica Open Source
OSOM @ Programatica Open SourceOSOM @ Programatica Open Source
OSOM @ Programatica Open SourceMarcela Oniga
 
OSOM - Building a community
OSOM - Building a communityOSOM - Building a community
OSOM - Building a communityMarcela Oniga
 
OSOM - Ruby on Rails
OSOM - Ruby on Rails OSOM - Ruby on Rails
OSOM - Ruby on Rails Marcela Oniga
 
OSOM - Operations in the Cloud
OSOM - Operations in the CloudOSOM - Operations in the Cloud
OSOM - Operations in the CloudMarcela Oniga
 
OSOM - How Open Source Can Be Your Business
OSOM - How Open Source Can Be Your BusinessOSOM - How Open Source Can Be Your Business
OSOM - How Open Source Can Be Your BusinessMarcela Oniga
 
OSOM - Open source catching solutions
OSOM - Open source catching solutionsOSOM - Open source catching solutions
OSOM - Open source catching solutionsMarcela Oniga
 
OSOM - Open source culture
OSOM - Open source cultureOSOM - Open source culture
OSOM - Open source cultureMarcela Oniga
 
OSOM - Widely used applications on open systems
OSOM - Widely used applications on open systemsOSOM - Widely used applications on open systems
OSOM - Widely used applications on open systemsMarcela Oniga
 
OSOM - Project management and opensource licenses
OSOM - Project management and opensource licensesOSOM - Project management and opensource licenses
OSOM - Project management and opensource licensesMarcela Oniga
 

More from Marcela Oniga (9)

OSOM @ Programatica Open Source
OSOM @ Programatica Open SourceOSOM @ Programatica Open Source
OSOM @ Programatica Open Source
 
OSOM - Building a community
OSOM - Building a communityOSOM - Building a community
OSOM - Building a community
 
OSOM - Ruby on Rails
OSOM - Ruby on Rails OSOM - Ruby on Rails
OSOM - Ruby on Rails
 
OSOM - Operations in the Cloud
OSOM - Operations in the CloudOSOM - Operations in the Cloud
OSOM - Operations in the Cloud
 
OSOM - How Open Source Can Be Your Business
OSOM - How Open Source Can Be Your BusinessOSOM - How Open Source Can Be Your Business
OSOM - How Open Source Can Be Your Business
 
OSOM - Open source catching solutions
OSOM - Open source catching solutionsOSOM - Open source catching solutions
OSOM - Open source catching solutions
 
OSOM - Open source culture
OSOM - Open source cultureOSOM - Open source culture
OSOM - Open source culture
 
OSOM - Widely used applications on open systems
OSOM - Widely used applications on open systemsOSOM - Widely used applications on open systems
OSOM - Widely used applications on open systems
 
OSOM - Project management and opensource licenses
OSOM - Project management and opensource licensesOSOM - Project management and opensource licenses
OSOM - Project management and opensource licenses
 

OSOM - Performance in testing by jmeter

  • 1. THINGS THEY SAY OPEN SOURCE TOOLS CAN’T DO – APACHE JMETER Prezinta: Bogdan Moscaliuc Radu Tighineanu
  • 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. 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. 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. 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. 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. API SERVER TESTS  2 Tier architecture o N Tier architecture
  • 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. 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. 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. 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. 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. 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. 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. JMETER VS. LOADRUNNER Item Apache Jmeter Load Runner Ease – installation + neutral Ease - scripting + - Ease – Running tests + + Ease – Results neutral + reporting External libs usable + + Cross platform + - Cost + - Technical Level + + Stability neutral +
  • 16. JMETER VS. LOADRUNNER Item Apache Jmeter Load Runner Batch mode + - Custom protocols + + Out of the box protocols neutral + Unlimited load + - generation Load scheduling + + Load tests - Agent + + management Real –time Test + + monitoring Real- time load - + adjustment Script management + +
  • 21. PRACTICAL EXAMPLES  Exemplu API : Google Maps  Exemplu Web service: Weather in USA  Web application – record&playback: www.cinemarx.ro
  • 23. THE END  Thank you !  Questions …