JMeter là gì? Tại sao sử dụng JMeter?

JMeter là một ứng dụng mã nguồn mở thuần Java, được phát triển đầu tiên bởi Stefano Mazzocchi. JMeter dùng để kiểm thử hiệu năng, khả năng chịu tải và kiểm thử chức năng. Hôm nay mình sẽ giới thiệu cho các bạn biết về JMeter để phục vụ trong quá trình test của các bạn.

1. Tại sao sử dụng JMeter?

Bạn đã bao giờ kiểm thử một trang web mà biết nó hoạt động tốt chưa? Bao nhiêu người truy cập mà trang web vẫn hoạt động tốt, không hề xảy ra vấn đề gì?

không hề xảy ra vấn đề gì?

Giả sử một ngày nào đó, sếp yêu cầu bạn kiểm thử hiệu năng của trang web www.google.com cho 100 người dùng truy cập một lúc, khi đó bạn sẽ làm gì? 

Bạn nghĩ ra cách 100 người sử dụng 100 máy PC truy cập đồng thời hay sao?

Bạn nghĩ ra cách 100 người sử dụng 100 máy PC truy cập đồng thời hay sao? Thật không khả thi chút nào khi điều kiện thiết bị không cho phép. Nếu sếp bạn lại bảo cho số lượng lên đến 1000 lại càng không thể. Chính vì vậy cần phải có một công cụ (tool) để bạn thực hiện mô phỏng những hành vi của con người để kiểm thử hiệu suất của trang web đó chính là JMeter.

2. Ưu điểm của JMeter

Ưu điểm của JMeter

Các ưu điểm của JMeter:

  • Công cụ mã nguồn mở: JMeter hoàn toàn miễn phí, cho phép developer sử dụng mã nguồn.
  • Giao diện thân thiện: JMeter cực kỳ dễ sử dụng và không mất thời gian để làm quen.
  • Nền tảng độc lập: JMeter là ứng dụng Desktop Java thuần túy 100% nên JMeter có thể chạy trên nhiều nền tảng.
  • Đa luồng: JMeter cho mô phỏng đồng thời và cùng thời điểm nhiều sampler với các chức năng khác nhau trên các thread group khác nhau.
  • Hiển thị kết quả kiểm thử trực quan: Kết quả kiểm thử có thể được hiển thị ở định dạng khác như biểu đồ, bảng, tree và file log.
  • Cài đặt dễ dàng: Chỉ cần copy và chạy file .bat để khởi động JMeter, không cần cài đặt.
  • Khả năng mở rộng cao: Bạn có thể viết các kịch bản kiểm thử của riêng mình. JMeter cũng hỗ trợ các plugin trực quan.
  • Nhiều chiến lược kiểm thử: JMeter hỗ trợ nhiều chiến lược kiểm thử như Load Testing, Distributed Testing, và Functional Testing.
  • Mô phỏng: JMeter có thể mô phỏng nhiều người dùng với các threads đồng thời, tạo ra tải nặng đối với ứng dụng web đang được kiểm thử.
  • Hỗ trợ đa giao thức: JMeter không chỉ hỗ trợ kiểm thử ứng dụng web mà còn đánh giá hiệu năng máy chủ cơ sở dữ liệu. Tất cả các giao thức cơ bản như HTTP, JDBC, LDAP, SOAP, JMS và FTP đều được JMeter hỗ trợ.
  • Record & Playback: Ghi lại hoạt động của người dùng trên trình duyệt và mô phỏng chúng trong một ứng dụng web bằng JMeter.
  • Script Test: Jmeter có thể được tích hợp với Bean Shell & Selenium để kiểm tra tự động.


3. JMeter hoạt động như thế nào?

JMeter mô phỏng một nhóm người dùng gửi yêu cầu đến máy chủ đích và trả về thông tin thống kê của máy chủ thông qua biểu đồ.

Biểu đồ JMeter hoạt động 

Quy trình hoàn thành của JMeter như trong hình bên dưới 

Quy trình hoàn thành của JMeter

Đầu tiên là gửi yêu cầu đến máy chủ, tiếp đến là máy chủ sẽ phản hồi và sau đó sẽ thực hiện lưu tất cả các phản hồi, tiếp đến là sẽ thu thập và tính toán thông tin thống kê, cuối cùng là sẽ đưa ra số liệu thống kê.

4. Lịch sử của JMeter

Version Description
1 first official release
2.13 Java 6+
3 Java 7+
3.1 Java 7+
3.2 Java 8+
3.3 Java 8
4 Java 8 / 9

Tài liệu tham khảo:
https://www.guru99.com/introduction-to-jmeter.html


=> Hướng dẫn cách cài đặt JMeter

  • Anh Tester

    Đường dẫu khó chân vẫn cần bước đi
    Đời dẫu khổ tâm vẫn cần nghĩ thấu