Numarul 17 - Today Software Magazine

Page 49

testare

TODAY SOFTWARE MAGAZINE

Performance... what now?!

E

xact! Asta spun cei mai mulți clienți când aud despre testarea de performanță. Ar trebui să fie o componentă cheie în life cycle-ul dezvoltării produsului. Cei mai mulți oameni se concentrează pe funcționalitate, dar când businessul crește și tot mai mulți utilizatori interacționează cu sistemul, începe să funcționeze din ce în ce mai încet până când nu mai funcționează deloc. Acest lucru se întâmplă din cauză că performanța nu a fost unul din target-urile importante când s-a început proiectul. Testarea de performanță este importantă și trebuie făcută de la început. În testare există nivele de testare și tipuri de testare. Nivelele se referă la testarea pe componente, testarea integrării mai multor componente, testarea întregului sistem, testarea de acceptanță. Tipurile de testare se referă la testarea funcțională și non-funcțională. Cea din urmă se referă în principal la testarea de performanță, load, stress etc. Testarea de performanță (performance testing) determină modul cum se comportă sistemul sub un load anume. Load testing este testarea cu diferite nivele de load, dar cel mai mult detectează care e nivelul maxim de load pe care sistemul îl suportă. Stress testing este realizat prin menținerea load-ului aproape de nivelul maxim determinat anterior, astfel stresând sistemul pentru a observa cum se comportă. Unul din cele mai bune tool-uri de testare de performanță este JMeter. Pentru că e open source nu trebuie să vă faceți griji de numărul de utilizatori virtuali pe care acesta îi suportă. Nu trebuie să cumpărați o licență. Mai mult, este scris în Java și e foarte configurabil și extensibil. Mai mult? Da, există și mai mult. Comunitatea a crescut mult față de acum câțiva ani și la fel și plugin-urile pentru JMeter. Dacă integrezi toate plugin-urile existente, te alegi cu un tool de performanță complex

si puternic. Recent, Selenium Webdriver poate fi integrat cu JMeter. Aceasta integrare era necesară pentru că JMeter este bazat pe modelul client request - server response, fără a mai ține cont de executarea javascript-urilor sau randarea în pagină. Așadar, prin integrarea Webdriver-ului (în opinia mea, cel mai bun tool open source de testare automată funcțională) cu JMeter, putem acum simula mai bine browser-ul și putem scrie cod pentru a măsura timpii de răspuns cât mai real. E nevoie de un an sau doi ca să cunoști cu adevărat JMeter-ul, eu lucrând cu el de patru ani deja, pot spune că merită pentru că e tot ce ai nevoie ca tool pentru testarea de performanță. Pentru a putea implementa scripturi de performanță, crea teste sau scenarii de performanță și a avea o bună înțelegere despre cum funcționează sistemele, este indicat să ai un background în dezvoltarea aplicațiilor și administrarea sistemelor. Acest background m-a ajutat mult când am început cu testarea de performanță. O altă arie importantă sunt tool-urile de monitorizare. Cu cât cunoști mai mult tool-uri de monitorizare, cu atât mai bine. Pe durata testării de performanță a unei aplicații, care trăiește într-un environment, este bine să existe tool-uri de monitorizare la fiecare nivel. Nu neaparat tool-uri, pot fi și shell

script-uri care înregistrează utilizarea procesorului, memoriei, disk-urilor, rețelei, log-urilor de server și de aplicație. În acest fel avem un overview clar în timp real asupra întregului environment. Fiecare nivel se referă la Load Balancer, Apache, Varnish, Tomcat, IIS, JVM, Linux OS, Windows OS, Application, MySQL, MSSQL, Oracle,etc. .Să zicem că un an a trecut, ați învățat JMeter-ul și sunteți familiari cu câteva tool-uri de monitorizare. Executați toate scenariile. Aveți rezultatele, de exemplu un tabel cu numărul de request-uri, media timpilor de răspuns per request, minimul, maximul, mediana, troughput sau tranzacții pe secundă sau minut etc. Pentru o înțelegere mai bună, aceste rezultate trebuie interpretate, corelate cu graficele generate, cu output-ul script-urilor și cu graficele tool-urilor de monitorizare, apoi cu log-urile serverelor și aplicației. Apoi trebuie scrise concluziile. Parte distractivă începe atunci când identificați probleme și începeți să lucrați la îmbunătățiri de performanță. Problemele de performanță pot apărea la oricare din nivele, dar prin monitorizarea specificată anterior și configurarea/ajustarea testelor de performanță, puteți identifica exact care este sursa.

Exemplul 1 Pe d u r a t a r u l ă r i i t e s t e l o r d e performanță sau a suitei de teste, am observat timpi de răspuns mari și că sistemul nu mai răspundea după un timp. Uitându-ne

www.todaysoftmag.ro | nr. 17/Noiembrie, 2013

49


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.