JMETER TESTING
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Timers: Constant, Gaussian Random, Uniform

Timers cho phép JMeter trì hoãn giữa mỗi request. Một Timers có thể giải quyết vấn đề quá tải của máy chủ. Trong thực tế, client có thể truy cập đến website ở các khoảng thời gian khác nhau. Vì vậy, Timer sẽ giúp mô phỏng các hành vi theo thời gian thực.

Timers là gì?

Theo mặc định, JMeter gửi nhiều requests mà không tạm dừng giữa mỗi request. JMeter có thể áp đảo máy chủ bằng cách thực hiện nhiều requests trong một khoảng thời gian ngắ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.

Hãy tưởng tượng rằng bạn gửi hàng ngàn request đến một máy chủ web được kiểm thử trong vài giây. Điểu gì sẽ xảy ra?

Jmeter Timers 1 png

Sau đây là một số loại timer phổ biến trong Jmeter:

Constant Timer

Constant timer trì hoãn mỗi user request trong cùng một khoảng thời gian.

Jmeter Timers 2 png

Gaussian Random Timer

Gaussian Random Timer trì hoãn mỗi user request trong một khoảng thời gian ngẫu nhiên.

Jmeter Timers 3 png

Parameters:

Thuộc tính Mô tả
Name Tên mô tả cho timer này được hiển thị trong tree
Deviations (milliseconds) Một parameter của hàm phân phối Gaussian
Constant Delay Offset (milliseconds) Giá trị bổ sung tính bằng mili giây

Vì vậy, tổng độ trễ được mô tả như hình dưới đây:

Jmeter Timers 4 png

Uniform Random Timer:

Uniform random timer làm chậm trễ mỗi user request trong một khoảng thời gian ngẫu nhiên.

Jmeter Timers 5 png

Parameters:

Thuộc tính Mô tả
Name Tên mô tả cho timer này được hiển thị trong tree
Random Delay Maximum Số lượng ngẫu nhiên tối đa của mili giây để trì hoãn
Constant Delay Offset (milliseconds) Giá trị bổ sung tính bằng mili giây

Tổng độ trễ là tổng của giá trị ngẫu nhiên và giá trị bù.

BeanShell Timer

BeanShell Timer có thể được sử dụng để tạo thời gian trễ giữa mỗi user request

BSF Timer

BSF Timer có thể được sử dụng để tạo độ trễ giữa mỗi user request bằng ngôn ngữ kịch bản BSF.

JSR223 Timer

JSR223 Timer có thể được sử dụng để tạo độ trễ giữa mỗi user request bằng ngôn ngữ kịch bản JSR223

Cách sử dụng Constant Timer

Sử dụng Constant Timer để đặt độ trễ cố định giữa các user request với google.com.

Hãy bắt đầu với một kịch bản kiểm thử đơn giản:

  1. JMeter tạo một user request tới http://www.google.com 100 lần
  2. Độ trễ giữa mỗi user request là 5000 ms

Dưới đây là quá trình thực tế:

Jmeter Timers 7 png

Pre-condition:

Chúng ta sử dụng lại Bước 1 và Bước 2 trong bài hướng dẫn Sử dụng JMeter cho Performance Testing.

Bước 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

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

Jmeter Timers 8 png

Cài đặt này cho phép JMeter tạo một user request tới http://www.google.com trong 100 lần.

Bước 2: Thêm JMeter elements

  • Thêm HTTP request default
  • Thêm HTTP request

Bước 3: Thêm Constant Timer

Nhấp chuột phải vào Thread Group -> Timer -> Constant Timer

Jmeter Timers 9 png

Cấu hình độ trễ của luồng 5000 mili giây.

Jmeter Timers 10 png

Bước 4: Thêm View Results in Table

Xem Results in Table hiển thị kết quả kiểm tra ở định dạng bảng.

Nhấp chuột phải vào Add -> Listener -> View Result in Table

Jmeter Timers 11 png

Xem kết quả trong Bảng hiển thị như hình dưới đây:

Jmeter Timers 12 png

Bước 5: Chạy kiểm thử

Khi bạn đã sẵn sàng để chạy kiểm thử, hãy nhấp vào nút Run trên thanh menu hoặc nhấn phím tắt Ctrl + R

Đây là kết quả:

Jmeter Timers 13 png

Trong hình trên, ta cùng phân tích Sample 2

  • Start time là 22: 05: 01.866
  • Sample Time của Sample 2 là 172 ms
  • Constant Timer: 5000 ms (như đã cấu hình)
  • End Time của sample này là = 22: 05: 01.866 + 172 + 5000 = 22:05:07.038

Vì vậy, sample 3 nên bắt đầu tại thời điểm là 22:05:07.039 (Như hình trên).

Độ trễ của mỗi mẫu là 5000 ms.

Nếu bạn thay đổi Constant Timer bằng 0, bạn sẽ thấy kết quả được thay đổi.

Jmeter Timers 14 png

Phâm tích Sample 1:

  • Start time là 22: 17: 39.141
  • Sample Time của sample 2 là 370 ms
  • Constant Timer: 0 ms (như đã cấu hình)
  • End Time của Sample này là = 22: 17: 39.141+ 370 + 0 = 22:17:39.511

Vì vậy, Sample 2 nên bắt đầu tại thời điểm là 22:17:39.512 (Hiển thị như hì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. Nếu có, loại bỏ proxy.
  2. Khởi động JMeter.
  3. Mở TimerTestPlan.jmx trong Jmeter.
  4. Nhấp đúp chuột vào Thread Group -> View Result in Table.
  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