1. Giới thiệu chung về test toolsHoạt động kiểm thử phần mềm (KTPM) đóng vai trò rất quan trọngHoạt động này lại tiêu tốn và chiếm tỷ trọng lớn công sức và thời gian trong một dự án. Do vậy, nhu cầu tự động hoá qui trình KTPM cũng được đặt ra.Từ đó các test tools được viết ra nhằm phục vụ mục đích kiểm thử phần mềm một cách tự động
Trang 1Test Tools - JMeter
Trang 21 Gi i thi u chung v ớ ệ ề
test tools
Ho t đ ng ki m th ph n m m (KTPM) đóng vai trò r t quan tr ngạ ộ ể ử ầ ề ấ ọ
Ho t đ ng này l i tiêu t n và chi m t tr ng l n công s c và th i gian trong m t d ạ ộ ạ ố ế ỷ ọ ớ ứ ờ ộ ự
án Do v y, nhu c u t đ ng hoá qui trình KTPM cũng đ ậ ầ ự ộ ượ c đ t ra ặ
T đó các test tools đừ ược vi t ra nh m ph c v m c đích ki m th ph n m m m t ế ằ ụ ụ ụ ể ử ầ ề ộ
cách t đ ng ự ộ
Trang 32 T i sao s d ng Test tool? ạ ử ụ
Tăng kĩ năng l p trình cho ki m th viên (tester)ậ ể ử
Khi c n t p trung vào vi c ki m th ph c t pầ ậ ệ ể ử ứ ạ
Khi vi c test th công là không th ho c r t khó khănệ ủ ể ặ ấ
Trang 43 Khi nào dùng Test tool
Không d tài nguyên: ủ Khi s lố ượng tình hu ng ki m tra (test case) quá nhi u mà các ố ể ề
KTV không th hoàn t t b ng tay trong th i gian c th nào đó ể ấ ằ ờ ụ ể
Ki m tra h i quy: ể ồ Các ph n m m hay c p nh p các phiên b n m iầ ề ậ ậ ả ớ
Ki m tra kh năng v n hành trong môi tr ể ả ậ ườ ng đ c bi t: ặ ệ Ki m tra nh m đánh giá xem ể ằ
v n hành c a PM có th a mãn yêu c u đ t ra hay không Thông qua đó tester có th xác ậ ủ ỏ ầ ặ ể
đ nh đ ị ượ c các y u t v ph n c ng, ph n m m nh h ế ố ề ầ ứ ầ ề ả ưở ng đ n kh năng v n hành c a ế ả ậ ủ PM
Trang 54 Các b ướ c c b n trong ki m th t đ ng khi s ơ ả ể ử ự ộ ử
d ng các Test tool ụ
Thu th p các đ c t yêu c u ho c test case; l a ch n nh ng ph n c n th c hi n KTTĐ.ậ ặ ả ầ ặ ự ọ ữ ầ ầ ự ệ
Phân tích và thi t k mô hình phát tri n KTTĐ.ế ế ể
Phát tri n l nh đ c t (script) cho KTTĐ.ể ệ ặ ả
Ki m tra và theo dõi l i trong script c a KTTĐ.ể ỗ ủ
Trang 64 Các b ướ c c b n trong ki m th t đ ng khi s ơ ả ể ử ự ộ ử
d ng các Test tool ụ
Trang 75 Các lo i test tool ạ
Thương m i - Commercialạ
Mã ngu n m - Open Sourceồ ở
Mi n phí - Freewareễ
Trang 85.1 Commercial Tools
Thường đ t ti nắ ề
Khó tích h p v i m t s tool khác (t các nhà cung c p khác)ợ ớ ộ ố ừ ấ
Không th ho c khó khăn trong vi c tùy ch nh (customize)ể ặ ệ ỉ
Có nguy c v vi c s n ph m ng ng phát tri n ho c công ty phát hành ơ ề ệ ả ẩ ư ể ặ
ng ng ho t đ ngừ ạ ộ
Trang 95.2 Open Source Tools
Có s lố ượng r t nhi u: M t vài tool r t tool, s còn l i thì khôngấ ề ộ ấ ố ạ
Thường d tích h p v i m t s tool khácễ ợ ớ ộ ố
Mi n phíễ
Có th tùy ch nh t do và tool có th liên t c để ỉ ự ể ụ ược phát tri n, không ểbao gi ch tờ ế
Trang 105.3 Freeware Tools
Hi n nay r t hi m, thệ ấ ế ường là mã ngu n mồ ở
Không có chi phí gi y phépấ
D tích h p v i các tool khác h n so v i Commercial Toolsễ ợ ớ ơ ớ
Khó ho c không th tùy ch nh toolặ ể ỉ
Có nguy c ng ng phát tri nơ ừ ể
Trang 116 Phân lo i Test Tools theo ch c năng ạ ứ
Load and Performance Test Tools: Test chịu tải và hiệu năng
Java Test Tools: Java Test
Link Checking Tools: Check link (kiểm tra độ chính xác, sẵn sang, lỗi, hỏng)
HTML Validators: Tool check HTML
On-the-Web HTML Validators and Link Checkers
PERL and C Programs for Validating and Checking: PERL, C Test
Web Functional/Regression Test Tools: Chức năng/ Đệ quy Web
Web Site Security Test Tools: Bảo mật site
External Site Monitoring Services: Các dvu giám sát ngoài trang web
Web Site Management Tools: Quản lý Web
Log Analysis Tools: Phân tích Log
Other Web Site Test Tools and Site Management Tools
Trang 12Test toolsJMeter
Trang 13T ng quan v JMeter ổ ề
Là m t công c chuyên dùng đ ki m tra hi u năng c a các ng d ng web, độ ụ ể ể ệ ủ ứ ụ ược vi t b ng Java, ế ằ
JMeter có th ho t đ ng trên các h đi u hành có h tr JVM (Java Virtual Machine) phiên b n 1.4 ể ạ ộ ệ ề ỗ ợ ả
tr lên ở
JMeter không đòi h i ki n th c l p trình chuyên sâu đ s d ng ỏ ế ứ ậ ể ử ụ
Hi n nay ng d ng này đã đệ ứ ụ ược c i ti n đ có th đo lả ế ể ể ường hi u năng ho t đ ng c a các đ i tệ ạ ộ ủ ố ượng
và giao th c sau: HTTP, HTTPS, SOAP, JDBC, LDAP, JMS, POP3 ứ
Trang 14Đ c đi m ặ ể
JMeter có th gi l p hàng nghìn ng ể ả ậ ườ i dùng o đ th c hi n đo l ả ể ự ệ ườ ng, ki m tra hi u năng ể ệ
c a đ i t ủ ố ượ ng c n test d a trên m t k ch b n d ng s n ầ ự ộ ị ả ự ẵ
S l ố ượ ng ng ườ ử ụ i s d ng o b h n ch b i c u hình ph n c ng c a máy ch ch y test ả ị ạ ế ở ấ ầ ứ ủ ủ ạ
JMeter đ ng th i cũng cung c p m t h th ng báo cáo k t qu ki m tra linh đ ng ồ ờ ấ ộ ệ ố ế ả ể ộ
Trang 15Các thành ph n chính ầ
Trang 16Các thành ph n chính ầ
Test Plan
Bao g m các bồ ước s đẽ ược JMeter th c thiự
M i Test Plan có t i thi u m t Thread Groupỗ ố ể ộ
Thread Group: Đ i di n cho ngạ ệ ười dùng o (virtual user) ả
Trang 17Các thành ph n chính ầ
Test Plan
Thread Group bao g m các thành ph n sau: ồ ầ
Logic Controller: Cho phép đi u ch nh logic khi g i các yêu c u đ n đ i tề ỉ ử ầ ế ố ượng
c n ki m tra.ầ ể
Sampler: Cung c p thông tin cho JMeter g i các yêu c u đ n máy ch c n ấ ử ầ ế ủ ầ
ki m tra Tùy theo giao th c ki m tra, JMeter h tr nh ng lo i sampler khác ể ứ ể ỗ ợ ữ ạnhau
Config Element: S d ng đ thêm vào nh ng thay đ i/ c u hình c n thi t cho ử ụ ể ữ ổ ấ ầ ếcác sampler
Trang 18Các thành ph n chính ầ
Test Plan
Thread Group :
Timer : Đi u ch nh kho ng th i gian d ng gi a các l n g i yêu c u.ề ỉ ả ờ ừ ữ ầ ử ầ
Pre/Post Processor: Cho phép th c hi n m t s bự ệ ộ ố ước c n thi t ngay trầ ế ước/ sau khi ch y m t sampler nào đó.ạ ộ
Assertion : Các phương pháp xác nh n thông tin tr v t đ i tậ ả ề ừ ố ượng ki m tra ể
có đúng v i mong đ i hay không.ớ ợ
Listener : Cho phép thu th p thông tin k t qu Có th đ a ra các báo cáo ậ ế ả ể ư
k t qu ki m tra d ng đ th , ho c xu t ra t p tin.ế ả ể ạ ồ ị ặ ấ ậ
Trang 21 Nó mô ph ng m c đ t i trên m t máy ch , m ng ho c đ i tỏ ứ ộ ả ộ ủ ạ ặ ố ượng đ ể
ki m tra s c m nh c a nó ho c đ phân tích hi u su t t ng th thu c ể ứ ạ ủ ặ ể ệ ấ ổ ể ộcác lo i t i tr ng khác nhau.ạ ả ọ
Trang 23ng d ng c a JMeter
Ki m tra nhi u lo i hình ng d ng máy ch ể ề ạ ứ ụ ủ
JMeter ban đ u đầ ược thi t k cho các ng d ng th nghi m web nh ng ế ế ứ ụ ử ệ ưngoài ra còn m r ng ch c năng ki m tra khác.ở ộ ứ ể
JMeter có th để ược s d ng nh m t công c ki m tra đ n v cho các ử ụ ư ộ ụ ể ơ ị
k t n i c s d li u JDBC , FTP, LDAP, Webservices , JMS , HTTP và các ế ố ơ ở ữ ệ
k t n i TCP chung ế ố
Trang 24L i ích khi s d ng JMeter ợ ử ụ
Hoàn toàn di đ ng (Portable) và vi t 100% b ng Javaộ ế ằ
S d ng đa lu ng cho phép chúng ta l y m u cùng lúc nhi u lu ng và ử ụ ồ ấ ẫ ề ồ
l y m u đ ng th i các ch c năng test khác nhauấ ẫ ồ ờ ứ
Giao di n đ h a tr c quanệ ồ ọ ự
H tr phân tích k t qu d a trên bi u đỗ ợ ế ả ự ể ồ
Kh năng m r ng caoả ở ộ
Trang 26T o m t Test Plan ạ ộ
T o 1 Thread Group ạ
M t s thu c tính : ộ ố ộ
Name : đ i tên l i cho h p v i m c đích test c a mìnhổ ạ ợ ớ ụ ủ
Number of Threads : s user truy c p (m c đ nh 1 connection ch có 1 ố ậ ặ ị ỉusers)
Ramp-up Period : n u ta ch nh là 0 thì có nghĩa là t t c users s ế ỉ ấ ả ẽconnect ngay l p t c & connect cùng lúcậ ứ
Tr ườ ng h p này s test v i s user là 50 và s vòng l p là 2 ợ ẽ ớ ố ố ặ
Trang 27T o m t Test Plan ạ ộ
T o 1 Thread Group ạ
Click chu t ph i vào ph n ộ ả ầ Test Plan -> Add -> Threads (Users) -> Thread Group
Trang 28T o m t Test Plan ạ ộ
T o 1 Web Services Request ạ
Trang 29T o m t Test Plan ạ ộ
T o 1 Web Services Request ạ
Trang 31T o m t Test Plan ạ ộ
Ch y Jmeter đ ki m tra k t qu test ạ ể ể ế ả
Trang 32T o m t Test Plan ạ ộ
Ch y JMeter đ ki m tra k t qu test ạ ể ể ế ả
Trang 33T o m t Test Plan ạ ộ
Ch y Jmeter đ ki m tra k t qu test ạ ể ể ế ả
Trang 34T o m t Test Plan ạ ộ
Ch y Jmeter đ ki m tra k t qu test ạ ể ể ế ả
M t vài thông s c a Graph Results :ộ ố ủ
• Throughput : S lố ượng request được x lý b i server trên 1 phútử ở (th i gian ch y ờ ạ
c a 1 request)ủ
• Average : t ng th i gian ch y trên s request đổ ờ ạ ố ược g i đ n server.ở ế
• Median : th i gian kho ng gi a c a b k t qu (response)ờ ở ả ữ ủ ộ ế ả
• Deviation : S chênh l ch response time c a server ự ệ ủ
• Latest : Bi u di n request cu i cùngể ễ ố .
Trang 35T o m t Test Plan ạ ộ
Ch y Jmeter đ ki m tra k t qu test ạ ể ể ế ả
Trang 36T o m t Test Plan ạ ộ
Nh n xét :ậ
Không có l i nào x y ra trong quá trình testỗ ả
M i request đ u nh n đọ ề ậ ược response v i d li u tr v tớ ữ ệ ả ề ương ngứ
Ti n hành thay đ i v i 1000 user và s vòng l p là 10 ế ổ ớ ố ặ
Trang 37T o m t Test Plan ạ ộ
K t qu :ế ả
Trang 38T o m t Test Plan ạ ộ
K t qu :ế ả
Trang 39T o m t Test Plan ạ ộ
K t qu :ế ả
Trang 40T o m t Test Plan ạ ộ
K t qu :ế ả
Trang 41• Median—th i gian kho ng gi a c a b k t quờ ở ả ữ ủ ộ ế ả
• 90% Line—th i gian t i đa dùng đ ch y 90% k t qu 1 cách nhanh nh tờ ố ể ạ ế ả ấ
• Min—th i gian ch m nh t đ ch y Samplerờ ậ ấ ể ạ
• Max—th i gian dài nh t đ ch y Samplerờ ấ ể ạ
• Error %—t l ph n trăm s Sampler có l i x y raỉ ệ ầ ố ỗ ả
• Throughput—ch s trung bình đỉ ố ượ c tính b i s request trong 1 đ n v th i gian ở ố ơ ị ờ
• Kb/sec—ch s throughput đỉ ố ượ c tính b ng đ n v kb/s ằ ơ ị
Trang 42T o m t Test Plan ạ ộ
B t đ u có l i x y ra, t l l i tắ ầ ỗ ả ỉ ệ ỗ ương đ i caoố
Nhi u request không nh n đề ậ ược response tr v d li u tả ề ữ ệ ương ngứ
Trang 43Test Database with JMeter
Trang 44Libraby MySQL
Copy file connector mysql: mysql-connector-java-5.1.26-bin.jar t i th m c bin ớ ư ụ
c a folder Jmeter tool ủ
Trang 451 Thread Group
Test Plan > Add> Threads(Users)> Thread Group
Trang 462 JDBC Connection Configuration
Add > Config Element > JDBC Connection Configuration
Trang 473 JDBC Request: Update
Trang 483 JDBC Request: Select
Trang 493 JDBC Request: Prepared Statement