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 ý ạ.

Controllers trong JMeter

Nếu những request được định nghĩa trong các test plan của bạn được thực thi phụ thuộc vào một vài logic, lúc đó sẽ cần đến Logic Controllers. Vậy Logic Controller là gì? Có những loại Logic Controllers nào thường được sử dụng? Hãy đọc bài viết này để hiểu rõ hơn về Logic Controllers nhé.

Logic Controller là gì?

Logic Controller cho phép xác định thứ tự yêu cầu xử lý trong một Thread. Nó cho phép bạn kiểm soát khi nào gửi user request đến máy chủ web. Ví dụ: bạn có thể sử dụng Bộ điều khiển ngẫu nhiên (Random Controllers) để gửi các HTTP requests đến máy chủ một cách ngẫu nhiên.

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.

Logic Controllers xác định thứ tự thực hiện yêu cầu của người dùng.

Một số Logic Controllers thường được sử dụng dưới đây:

Controllers trong JMeter 1 png

Recording Controller

JMeter có thể lưu lại các bước Kiểm thử; recording controller là một placeholder để lưu trữ lại các bước thực hiện.

Controllers trong JMeter 2 png

Simple Controller

Simple Controller là một container lưu trữ user request.

Controllers trong JMeter 3 png

Loop Controller

Loop Controller làm cho các user request chạy trong số lần được xác định hoặc lặp vô hạn như trong hình:

Controllers trong JMeter 4 png

Random Controller

Random Controller làm cho tất cả các user request chạy theo thứ tự ngẫu nhiên trong mỗi vòng lặp.

Ví dụ: bạn có 3 user request đến trang web http://www.google.com theo thứ tự sau:

  1. HTTP request
  2. FTP request
  3. JDBC request

3 request này chạy 5 lần; vậy có tổng số 5 user request sẽ được gửi đến máy chủ Google bởi JMeter.

  • Theo sequential, các request được gửi lần lượt theo thứ tự HTTP request ->FTP request->JDBC request trong mỗi vòng lặp.
  • Nếu thứ tự là random, các request sẽ được gửi ngẫu nhiên, FTP request ->HTTP request->JDBC request Hoặc là JDBC request ->FTP request->HTTP request trong mỗi vòng lặp.

Controllers trong JMeter 5 png

Module Controller

Mục tiêu của Module Controller là thêm modules cho JMeter.

Các ứng dụng web bao gồm các đơn vị chức năng nhỏ (ví dụ: Đăng nhập, Tạo tài khoản, Đăng xuất ...). Chức năng này có thể được lưu trữ trong Simple Controller dưới dạng "modules". Module Controller sẽ chọn modules cần chạy.

Controllers trong JMeter 6 png

Hãy theo dõi kịch bản sau đây:

Bạn muốn mô phỏng:

  • 50 users logging out,
  • 100 users logging in
  • 30 users search www.google.com

Bạn có thể sử dụng JMeter để tạo 3 modules. Mỗi module mô phỏng từng hoạt động của người dùng: Login, Logout, and Search.

Controllers trong JMeter 7 png

Module controller chọn module cần chạy:

Controllers trong JMeter 8 png

Các bộ điều khiển quan trọng khác

  • Interleave Controller: chọn và thực hiện một trong những user request chạy trong mỗi vòng lặp của thread.
  • Runtime Controller: kiểm soát thời gian được phép chạy.

Ví dụ: nếu chỉ định Runtime Controller chạy 10 giây, JMeter sẽ chạy thử nghiệm trong 10 giây.

Controllers trong JMeter 9 png

  • Transaction Controller: đo tổng thời gian thực hiện để hoàn thành việc thực hiện kiểm thử.
  • Include Controller: được thiết kế để sử dụng gói kiểm thử mở rộng. Bộ điều khiển này cho phép bạn sử dụng nhiều test plans trong JMeter. Xem chi tiết trong bài viết Sử dụng JMeter cho performance testing

Loop Controller Example

Phần này hướng dẫn từng bước để thêm Loop Controller vào kế hoạch test performance.

Loop Controller làm cho các samplers chạy theo như số vòng lặp đã chỉ định hay giá trị vòng lặp đã chỉ định cho Thread Group. Ví dụ:

  • Thêm một HTTP Request vào Loop Controller với số vòng lặp 50.
  • Cấu hình số vòng lặp của Thread Group thành 2.
  • Sau đó, JMeter sẽ gửi tổng cộng 50 * 2 = 100 HTTP Requests.

Sau đây là quá trình thực hiện:

Controllers trong JMeter 10 png

Bước 1. Cấu hình Thread Group

Chúng ta sử dụng lại Bước 1, 2 trong bài viết Sử dụng JMeter cho performance testing

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

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

Controllers trong JMeter 16 png

Nó sẽ gửi một user request đến máy chủ web google.com và chạy 2 lần.

2. Thêm JMeter elements

Thêm HTTP request default là www.google.com.

3. Thêm Loop Controller

Nhấp chuột phải vào Thread Group -> Logic Controller -> Loop Controller

Controllers trong JMeter 11 png

Bước 2. Cấu hình Loop Controller

Thêm giá trị 50 vào trường Loop Count như hình dưới đây. Một user request gửi đến máy chủ web google.com sẽ chạy 50 lần. Nếu loop value = 2, JMeter sẽ gửi tổng cộng 2 * 50 = 100 HTTP Requests.

Controllers trong JMeter 12 png

Nhấp chuột phải vào Loop Controller, Add -> Sampler -> HTTP request

Controllers trong JMeter 13 png

Bước 3. Thêm View Results in Table

Sử dụng lại Bước 2 trong Jmeter Timers: Constant, Gaussian Random, Uniform để thêm View Results in Table

Vì vậy, test plan được hiển thị trong hình dưới đây:

Controllers trong JMeter 14 png

Bước 4. Chạy thử nghiệm

Bây giờ hãy trở về View Results in Table, nhấp vào nút Start trên thanh Menu (Ctrl + R) để chạy thử nghiệm.

Như trong hình bên dưới, JMeter mô phỏng một yêu cầu người dùng được gửi 100 lần đến máy chủ web http://www.google.com/. Chương trình kiểm thử dừng sau khi user request được gửi trong 100 lần.

Controllers trong JMeter 15 png

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. Nếu có, loại bỏ proxy.
  2. Khởi động Jmeter.
  3. Mở Trình điều khiểnTestPlan.jmx trong Jmeter.
  4. Nhấp vào Nhóm chủ đề -> Xem kết quả trong Bảng.
  5. Chạy thử nghiệm.

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