OSOM - Open Source Open Mind Conference 2010 www.osom.ro
1 of 23
Downloaded 14 times
More Related Content
OSOM - Performance in testing by jmeter
1. THINGS THEY SAY OPEN
SOURCE TOOLS CANT 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 樽mbunt釘irea calit釘ii software-ului
Testele de lung durat sunt adesea evitate 樽n timpul testrii
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
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