Cách tạo Web Test Plan cơ bản trong JMeter • testingvn.com


Thông báo về việc đăng ký mới thành viên: Sau khi đăng ký thành viên xong, các bạn vui lòng Thông báo cho Quản Trị Viên theo link này
để Quản Trị Viên sẽ kích hoạt tài khoản cho các bạn nhé. Xin lỗi vì sự bất tiện này.

Cách tạo Web Test Plan cơ bản trong JMeter

Công cụ kiểm thử hiệu năng miễn phí, chỉ hỗ trợ java.
Nội qui chuyên mục
Công cụ kiểm thử hiệu năng miễn phí, chỉ hỗ trợ java.

Cách tạo Web Test Plan cơ bản trong JMeter

Gửi bàigửi bởi harano » T.Hai 17 Tháng 10, 2016 5:04 pm

Link bài viết tiếng Anh: https://jmetervn.wordpress.com/2016/10/ ... an-jmeter/

Xin chào mọi người!

Chắc hẳn với các bạn mới làm quen với JMeter, còn bỡ ngỡ với các khái nhiệm của JMeter, thì việc làm sao để tạo được 1 Web Test Plan cũng là điều khó khăn, chứ chưa nói tới việc run Performance Testing, đúng không nhỉ ;) . Với bài post này, mình sẽ hướng dẫn các bạn cách để tạo 1 Web Test Plan cơ bản nhất, và các run nó như thế nào.

Đầu tiên hãy nói về cái Web Test Plan mà mình sắp tạo nhé.

- Access vào trang web https://jmetervn.wordpress.com/
- Access vào 3 link lần lượt là Home Page, vào 1 bài post, và cuối cùng là vào trang Category General
- Run test với 5 Users, và mỗi Users loop 2 lần.
Home Page: https://jmetervn.wordpress.com/
Bài Post: https://jmetervn.wordpress.com/2016/10/ ... in-jmeter/
Category General: https://jmetervn.wordpress.com/category/general/

Hình ảnh
Hình gif mô tả quá trình tạo Web Test Plan trên JMeter

Step 1: Tạo Thread Group
Bước đầu tiên, bạn hãy tạo Thread Group, có thể hiểu Thread Group nó như là 1 bộ Test Suites, nó sẽ chứa toàn bộ Test Case của bạn bên trong, và bất cứ Test Plan nào của JMeter cũng phải có Thread Group nhé các bạn. Click chuột phải vào Test Plan > Add > Threads (Users) > Thread Group. Tham khảo hình bên dưới:

Hình ảnh

Hoặc cũng có thể dùng phím tắt Ctrl + 0 (Command + 0 nếu bạn dùng MAC) để tạo nhanh Thread Group. Tham khảo Phím tắt trong JMeter

Sau khi tạo xong bạn sẽ thấy Thread Group ngay bên dưới Test Plan. Nếu ko thấy thì bạn thử nhấn cái Expand arrow bên phải Test Plan để show Thread Group ra. Tiếp theo, mình sẽ set Number of Threads (Users) = 5 và Loop Count = 2. Các thông số còn lại mọi người hãy giữ nguyên. Mình sẽ viết một bài khác nói rõ hơn về từng thông số này.

Hình ảnh

Step 2: Tạo HTTP Requests
Bắt đầu tạo HTTP Request (đây sẽ là những request mà mình sẽ run) bằng cách click chuột phải vào Thread Group > Sampler > HTTP Request. Sau đó cấu hình các thông số của HTTP Request như bên dưới:
- Đổi Name thành Home Page. (Đây sẽ là request vào Home Page)
- Nhập domain name jmetervn.wordpress.com vào field Server Name or IP.
- Nhập HTTPS vào Protocol [http] field (vì Web mình muốn test có sử dụng giao thức HTTPS, nếu là web HTTP bình thường thì ko cần nhập vào)
- Nhập "/" vào Path: Vì Home Page ko có phần path đằng sau, nên chỉ cần nhập "/" là đủ.

Hình ảnh

Tiếp tục làm như trên để tạo HTTP Request thứ 2, access vào 1 bài post bất kỳ, cụ thể là bài post Aggregate Report
- Đổi Name thành Blog Post: Aggregate Report.
- Nhập domain name jmetervn.wordpress.com vào field Server Name or IP.
- Nhập HTTPS vào Protocol [http] field
- Nhập /2016/10/10/analyze-the-aggregate-report-in-jmeter/ vào Path

Hình ảnh

Tạo HTTP Request thứ 3, access vào Category: General, nhưng hãy sử dụng phím tắt Ctrl + Shift + C khi đang chọn Request Blog Post: Aggreate Report. Hoặc click chuột phải, chọn Duplicate

Hình ảnh

Sau đó sửa các thông số của request này như sau:
- Đổi Name thành Category: General.
- Nhập /category/general/ vào Path

Hình ảnh

Step 3: Tạo Listeners
Tiếp theo hãy tạo 1 vài Listener để xem kết quả sau khi chạy. Mình sẽ tạo 2 Listeners là View Result Tree và Aggreate Report.
Thread Group → Add → Listener → View Result Tree
Thread Group → Add → Listener → Aggregate Report

Hình ảnh

Step 4: Run the Test
Đến đây thì mọi thứ đã được chuẩn bị xong. Chỉ việc chạy nữa thôi. Trước đó bạn hãy nhớ lưu Test Plan lại. Và để chắc chắn rằng Test Plan của mình được config đúng, thì hãy run Validate trước, rồi hãy run toàn bộ test sau. Validate sẽ giúp bạn chạy Test Plan với 1 User và loop 1 lần duy nhất, đồng thời xoá bỏ toàn bộ Timer (nếu có), để có thể xem được kết quả khi run 1 user một cách nhanh nhất.

Hình ảnh

Nếu kết quả bình thường, không có lỗi, thì bước tiếp theo bạn có thể tự tin run cái test plan của mình rồi đó. Đây là kết quả sau khi Validate

Hình ảnh

Để run toàn bộ test plan, có thể sử dụng phím tắt Ctrl + R hoặc nhấn button run Hình ảnh ở trên Icon Toolbar. Trong quá trình chạy và sau khi chạy xong, chọn View Result Tree hoặc Aggregate Report để xem kết quả.

Hình ảnh
Hình ảnh

Step 5: Tối ưu hoá Test Plan
Mình muốn hỏi các bạn, trong quá trình tạo Web Test Plan như 4 bước ở trên, các bạn có thấy có step nào lặp đi lặp lại nhiều lần không? Chính xác, đó là Server Name or IPProtocol [http]. Thậm chí sẽ nhiều hơn nếu Test Plan của bạn phức tạp hơn. Thử tưởng tượng, nếu khi cần thay đổi Server Name qua 1 server khác, server test chẳng hạn, lúc đó phải đi sửa từng Server Name ở từng request, thật mất thời gian. Đối với HTTP Request, trong JMeter có một Config là HTTP Request Defaults, nó cho phép các bạn định nghĩa sẵn những giá trị default mà sẽ được sử dụng cho tất cả các HTTP Requests, và với trường hợp này, thì nó sẽ rất hữu ích.

Thread Group → Add → Config Element → HTTP Request Defaults.
Hình ảnh

Nhập jmetervn.wordpress.com vào Server Name or IP, và nhập HTTPS vào Protocol [http]. Xoá hết các fields Server Name or IP, và các field Protocol [http] ở trong mỗi request. Sau đó run test lại một lần nữa. Hãy xem kết quả như thế nào:

Hình ảnh
Hình ảnh
Hình ảnh
Hình ảnh

Và đây là kết quả:

Hình ảnh

Vẫn còn một bước tối ưu nữa, mình sẽ không để domain name trực tiếp vào Server Name or IP như thế này. Mình sẽ tạo 1 Config khác là User Define Variables, và tạo 1 biến SITE với giá trị là jmetervn.wordpress.com. Sau đó mình sẽ gọi biến SITE này ở Server Name or IP của HTTP Request Defaults, bằng công thức

${SITE}


Hình ảnh
Hình ảnh

Sau đó run the test lại một lần nữa. Đến thấy thì các bạn có thể tự run test được rồi. Hãy xem kết quả như thế nào, có giống như những lần trước không ;)

Hy vọng với bài viết này, mọi người sẽ có thể tự viết 1 Web Test Plan đơn giản trên JMeter.
harano
 
Bài viết: 43
Ngày tham gia: T.Sáu 20 Tháng 4, 2012 10:43 am

Quay về JMeter

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.2 khách.