JMETER TESTING
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
Dự án mới của mình là gamehow.net, mời anh em ghé thăm và góp ý ạ.

Sử dụng JMeter cho performance testing

Performance Testing rất quan trọng trong việc xác định ứng dụng web được kiểm thử sẽ đáp ứng các yêu cầu tải cao. Performance Testing có thể được sử dụng để phân tích hiệu suất tổng thể của máy chủ dưới tải nặng.

Sử dụng JMeter cho Performance & Load Testing

Sử dụng Công cụ kiểm thử Apache JMeter mang lại các lợi ích sau trong Performance Testing:

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Performance Testing 1 png

  • JMeter có thể được sử dụng để kiểm thử hiệu năng của tài nguyên tĩnh như JavaScript và HTML, cũng như các tài nguyên động như JSP, Servlets và AJAX.
  • JMeter có thể kiểm tra số lượng người dùng đồng thời tối đa mà trang web có thể xử lý.
  • JMeter cung cấp các phân tích đồ họa về báo cáo hiệu suất.

Kiểm thử hiệu suất JMeter bao gồm:

Performance Testing 2 png

  • Load Testing: Mô hình hóa việc sử dụng dự kiến bằng cách mô phỏng đồng thời nhiều người dùng truy cập các dịch vụ Web.
  • Stress Testing: Mỗi máy chủ web có khả năng tải tối đa. Khi tải vượt quá giới hạn, máy chủ web bắt đầu phản hồi chậm và tạo ra lỗi. Mục đích của Stress Testing là tìm tải tối đa mà máy chủ web có thể xử lý.

Hình dưới đây cho thấy cách Load Testing mô phỏng tải nặng:

Performance Testing 3 png

Tạo một kế hoạch kiểm thử Performance trong JMeter

Trong bài viết này, chúng ta thực hiện phân tích hiệu suất của Google.com cho 1000 người dùng.

Trước khi kiểm thử hiệu năng của ứng dụng web, chúng ta nên xác định:

  • Normal Load: Số người dùng trung bình truy cập trang web của bạn
  • Heavy Load: Số lượng người dùng tối đa truy cập trang web của bạn
  • Mục tiêu của bạn trong lần kiểm thử này là gì?

Dưới đây là các bước thực hiện ví dụ thực tế này:

Performance Testing 4 png

ớc 1: Thêm Thread Group

  1. Khởi động JMeter
  2. Chọn Test Plan cần thực hiện
  3. Thêm Thread Group

Nhấp chuột phải vào "Test Plan" và thêm một thread group mới: Add -> Threads (Users) -> Thread Group

Performance Testing 5 png

Trong bảng điều khiển Thread Group, nhập Thread Properties như sau:

Performance Testing 6 png

  • Number of Threads: 100 (Số lượng người dùng kết nối với trang web mục tiêu: 100)
  • Loop Count: 10 (Số thời gian để thực hiện kiểm thử)
  • Ramp-Up Period: 100

Thread Count và Loop Counts là khác nhau.

Performance Testing 8 png

Ramp-Up Period cho JMeter biết phải trì hoãn bao lâu trước khi bắt đầu user tiếp theo. Ví dụ: nếu có 100 users, Ramp-Up period là 100 giây, thì độ trễ giữa những người dùng bắt đầu sẽ là 1 giây (100 giây / 100 người dùng).

Performance Testing 9 png

ớc 2: Thêm JMeter elements

  • HTTP request Default

Element này có thể được thêm bằng cách nhấp chuột phải vào Thread Group và chọn: Add -> Config Element -> HTTP Request Defaults.

Performance Testing 10 png

Trong bảng điều khiển HTTP Request Defaults, nhập tên Trang web được kiểm thử (http://www.google.com)

  • HTTP Request

Nhấp chuột phải vào Thread Group và chọn: Add -> Sampler -> HTTP Request.

Performance Testing 14 png

Trong Bảng điều khiển HTTP Request, trường Path cho biết URL request nào bạn muốn gửi đến máy chủ Google.

Performance Testing 15 png

Ví dụ: nếu bạn nhập "calendar" trong trường Path . JMeter sẽ tạo yêu cầu URL http://www.google.com/calendar đến máy chủ Google.

Performance Testing 16 png

Nếu bạn giữ trường Path trống, JMeter sẽ tạo yêu cầu URL http://www.google.com đến máy chủ Google.

Trong trường hợp này, bạn giữ trường Path trống để làm cho JMeter tạo yêu cầu URL http://www.google.com đến máy chủ của Google.

Bước 3: Thêm Graph result

JMeter có thể hiển thị kết quả kiểm thử ở định dạng đồ thị.

Nhấp chuột phải vào Test Plan, Add -> Listener -> Graph Results.

Performance Testing 17 png

Bước 4: Chạy kiểm thử và nhận kết quả kiểm thử

Nhấn nút Run (Ctrl + R) trên Thanh công cụ để bắt đầu quá trình kiểm thử phần mềm. Bạn sẽ thấy màn hình kết quả kiểm thử trên Biểu đồ trong thời gian thực.

Hình dưới đây trình bày biểu đồ của một test plan mô phỏng 100 users đã truy cập trên trang web www.google.com.

Performance Testing 18 gif

Ở dưới cùng của hình ảnh, có các số liệu thống kê sau, được thể hiện bằng màu sắc:

  • Màu Đen: Tổng số samples hiện tại được gửi.
  • Màu xanh dương: Trung bình hiện tại của tất cả các samples được gửi.
  • Màu đỏ: Độ lệch chuẩn hiện tại.
  • Màu xanh lá cây: Tốc độ Thông lượng đại diện cho số lượng yêu cầu mỗi phút mà máy chủ xử lý.

Hãy phân tích hiệu suất của máy chủ Google trong hình dưới đây:

Performance Testing 18 png

Để phân tích hiệu suất của máy chủ web đang kiểm thử, bạn nên tập trung vào 2 tham số:

  • Thông lượng (Throughput)
  • Độ lệch (Deviation)

Thông lượng là thông số quan trọng nhất. Nó đại diện cho khả năng của máy chủ để xử lý tải nặng. Thông lượng càng cao thì hiệu suất máy chủ càng tốt.

Trong trường hợp này, thông lượng của máy chủ Google là 1,491.193 / phút. Điều đó có nghĩa là máy chủ Google có thể xử lý 1,491.193 yêu cầu mỗi phút. Giá trị này khá cao nên chúng tôi có thể kết luận rằng máy chủ Google có hiệu suất tốt.

Độ lệch được thể hiện bằng màu đỏ - nó cho biết độ lệch so với mức trung bình. Độ lệch càng nhỏ càng tốt.

Hãy so sánh hiệu suất của máy chủ Google với các máy chủ web khác. Đây là kết quả kiểm tra hiệu suất của trang web http://www.yahoo.com/ (Bạn có thể chọn các trang web khác).

Performance Testing 19 png

Thông lượng của một trang web được kiểm tra http://www.yahoo.com là 867.326 / phút, có nghĩa là máy chủ này xử lý 867.326 yêu cầu mỗi phút, thấp hơn Google.

Độ lệch là 2689, cao hơn nhiều so với Google (577). Vì vậy, có thể xác định hiệu suất của trang web này kém hơn máy chủ Google.

LƯU Ý: Các giá trị trên phụ thuộc vào một số yếu tố như tải máy chủ của Google, tốc độ internet, hiệu năng CPU,... Do đó, rất khó để nhận được kết quả tương tự như trên.

Xử lý sự cố:

Nếu bạn gặp vấn đề trong khi chạy kịch bản trên, hãy làm như sau:

  1. Kiểm tra xem bạn đang kết nối với internet thông qua proxy hay không. Nếu có, loại bỏ proxy.
  2. Khởi động Jmeter
  3. Mở file PerformanceTestPlan.jmx trong Jmeter
  4. Nhấp đúp chuột vào Thread Group-> Graph Result
  5. Chạy kiểm thử

Cùng chuyên mục:

Giám sát và kiểm soát kiểm thử

Giám sát và kiểm soát kiểm thử

Trong khi nhóm thực hiện các nhiệm vụ được giao, Test Manager cần giám sát…

Tài liệu kiểm thử

Tài liệu kiểm thử

Tài liệu kiểm thử giúp nhóm kiểm thử ước tính effort kiểm thử cần thiết,…

Cách tạo Test Plan

Cách tạo Test Plan

Test Plan là một tài liệu chi tiết mô tả chiến lược kiểm thử, Mục…

Tổ chức nhóm kiểm thử

Tổ chức nhóm kiểm thử

Tổ chức nhóm kiểm thử là một trong những nhiệm vụ phức tạp nhất trong…

Phân tích rủi ro dự án và giải pháp trong quản lý kiểm thử

Phân tích rủi ro dự án và giải pháp trong quản lý kiểm thử

Khi thực hiện dự án, luôn có những rủi ro tiềm ẩn. Để giảm thiểu…

Quy trình quản lý kiểm thử

Quy trình quản lý kiểm thử

Quản lý kiểm thử (Test Management) bao gồm chuỗi nhiều hoạt động. Có hai phần…

Vai trò và Trách nhiệm của Test Manager

Vai trò và Trách nhiệm của Test Manager

Trước khi bắt đầu kiểm thử một dự án, bạn nên biết vai trò của…

Kiểm thử Use Case

Kiểm thử Use Case

Là một tester, bạn đã hiểu rõ về Use Case hay Kiểm thử Use Case…

Kỹ thuật kiểm thử chuyển đổi trạng thái

Kỹ thuật kiểm thử chuyển đổi trạng thái

Chuyển đổi trạng thái (State Transition) trong kiểm thử là gì? Khi nào sử dụng…

Kỹ thuật kiểm thử bảng quyết định

Kỹ thuật kiểm thử bảng quyết định

Bảng quyết định là một trong những kỹ thuật kiểm thử phầm mềm. Vậy Kiểm…

Kỹ thuật Phân tích giá trị biên và phân vùng tương đương

Kỹ thuật Phân tích giá trị biên và phân vùng tương đương

Chúng ta cần sử dụng các kỹ thuật đặc biệt để lựa chọn test cases…

Kỹ thuật kiểm thử phần mềm

Kỹ thuật kiểm thử phần mềm

Kỹ thuật kiểm thử giúp giảm số lượng các test cases được thực hiện trong…

Test Case Template

Test Case Template

Test cases là đơn vị nhỏ nhất trong kế hoạch kểm thử, mô tả các…

Thủ thuật để tạo dữ liệu kiểm thử

Thủ thuật để tạo dữ liệu kiểm thử

Data được sử dụng trong kiểm thử mô tả các điều kiện tiền đề của…

Cách tạo Requirements Traceability Matrix - RTM

Cách tạo Requirements Traceability Matrix - RTM

Requirements Traceability Matrix - RTM là gì? Traceability Test Matrix bao gồm những loại nào?…

Cơ sở kiểm thử - Test basis

Cơ sở kiểm thử - Test basis

Cơ sở kiểm thử - Test Basis là nguồn để tạo ra các test cases.…

Cách viết Test Cases

Cách viết Test Cases

Test Case là tập hợp các hành động được thực thi để xác minh một…

Kịch bản kiểm thử - Test Scenario

Kịch bản kiểm thử - Test Scenario

Test Scenario tuy không còn mới mẻ nhưng không ít người còn mơ hồ về…

Kiểm thử phi chức năng

Kiểm thử phi chức năng

Kiểm thử phi chức năng liên quan đến việc kiểm thử phần mềm từ những…

Kiểm thử hồi quy

Kiểm thử hồi quy

Kiểm thử hồi quy - Regression Testing rất quan trọng, đặc biệt là trong những…

Top