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.
Forum rules
Công cụ kiểm thử hiệu năng miễn phí, chỉ hỗ trợ java.
Post Reply
harano
Fresher Tester
Posts: 48
Joined: Fri 20 Apr, 2012 10:43 am
Contact:

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

Post by harano » Mon 17 Oct, 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/

Image
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:

Image

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.

Image

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à đủ.

Image

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

Image

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

Image

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

Image

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

Image

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.

Image

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

Image

Để run toàn bộ test plan, có thể sử dụng phím tắt Ctrl + R hoặc nhấn button run Image ở 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ả.

Image
Image

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.
Image

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:

Image
Image
Image
Image

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

Image

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}
Image
Image

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.



Post Reply

Return to “JMeter”