Công cụ thực hiện kiểm thử hiệu năng Apache Jmeter

Một phần của tài liệu Nghiên cứu các phương pháp đảm bảo chất lượng phần mềm (Trang 39)

Cộng đồng mã nguồn mở có khá nhiều ứng dụng hỗ trợ việc kiểm thử hiệu năng tự động. Đề tài xin đề xuất sử dụng công cụ Jmeter là một công cụ mã nguồn mở đƣợc phát triển bởi Apache Software Foundation, rất có uy tín trong lĩnh vực kiểm thử tự động cụ thể là kiểm thử tính năng, hiệu năng của ứng dụng web. Vì là công cụ miễn phí nên xét về tính dễ sử dụng của Jmeter sẽ không đƣợc nhƣ các công cụ thƣơng mại khác. Nhƣng Jmeter đang đƣợc sử dụng rộng rãi nên có một hệ thống hỗ trợ tài liệu rất tốt nhƣ trang web http://jmeter.apache.org/, … cùng với sự hỗ trợ nhiều tính năng nhƣ bộ cài nhẹ, hỗ trợ nhiều môi trƣờng, giả lập đƣợc nhiều ngƣời dùng ảo thì Jmeter vẫn là công cụ đƣợc lựa chọn nhiều để kiểm thử hiệu năng ứng dụng web.

Ban đầu, Jmeter đƣợc sử dụng để kiểm thử hiệu năng (hoặc tải) bất kỳ một ứng dụng phần mềm dạng Server/Client (chẳng hạn nhƣ các phần mềm ứng dụng Web). Cụ thể là, nó đƣợc sử dụng để đánh giá hiệu suất tổng thể của phần mềm ứng dụng Web

theo một số loại tải và hỗ trợ thực hiện kiểm thử hiệu năng thông qua kịch bản kiểm thử. Nhƣng cho đến nay, Jmeter đã đƣợc mở rộng thêm một số chức năng kiểm tra khác nhƣ kiểm tra các kết nối cơ sở dữ liệu JDBC, FTP, LDAP, WebService, JMS, HTTP và các kết nối TCP nói chung.[10]

Jmeter có thể giả lập hàng ngàn ngƣời dùng ảo để thực hiện đo lƣờng, kiểm tra hiệu năng của đối tƣợng cần kiểm thử dựa trên một kịch bản dựng sẵn. Tuy nhiên số lƣợng ngƣời sử dụng ảo có thể bị hạn chế bởi cấu hình phần cứng của máy chủ chạy kiểm thử. Jmeter cũng cung cấp một hệ thống báo cáo kết quả kiểm tra linh động.

Hình dƣới đây là giao diện chính của công cụ Jmeter:

Hình 2.7. Giao diện ban đầu của Apache Jmeter

JMeter bao gồm 2 thành phần : Test Plan và WorkBench.

1 Test Plan (Kế hoạch kiểm thử)

Mô tả chuỗi các bƣớc Jmeter sẽ thực hiện khi chạy. Một kế hoạch kiểm thử hoàn chỉnh bao gồm: Thread Group, Logic Controller, Sampler, Listener, Timer, Assertions, Config Element. Khi Jmeter đang chạy nó sẽ hiển thị một ô nhỏ tận cùng bên phải trên thanh công cụ

- Màu xanh là yêu cầu đƣợc gửi thành công.

- Màu vàng là yêu cầu bị lỗi do nhiều nguyên nhân. - Màu đỏ là yêu cầu không đƣợc gửi thành công

2 WorkBench: Đƣợc xem nhƣ một vùng tạm để làm việc, lƣu trữ. Tất cả các thành

phần bên trong WorkBench sẽ không đƣợc thực thi trừ khi nó đƣợc chuyển vào trong Test Plan.

Các thành phần trong Test Plan

3 Thread Group (Nhóm tiến trình)

Đại diện cho ngƣời sử dụng ảo (virtual user), yếu tố Thread Group là điểm bắt đầu của kế hoạch kiểm thử, và nó sẽ chứa tất cả các yếu tố khác của Jmeter.

+ Tất cả Logic Controller và Sampler phải ở trong Thread Group. Các yếu tố khác nhƣ Listeners có thể đƣợc đặt trực tiếp dƣới Test Plan, trong trƣờng hợp này nó sẽ áp dụng cho tất cả các Thread Group

+ Tạo một Thread Group: Chọn Add > Threads (Users) > Thread Group trên thanh công cụ

Hình 2.8. Các thành phần của một Jmeter

4 Logic Controller (Trình điều khiển logic)

Cho phép điều chỉnh logic khi gửi các yêu cầu đến đối tƣợng cần kiểm tra. Cho phép xác định thứ tự xử lý các Sampler hoặc số lần lặp của một Sampler trong một thread.

5 Sampler (Mẫu)

Cung cấp thông tin cho Jmeter gửi các yêu cầu đến máy chủ và đợi máy chủ trả lời. Tùy theo giao thức kiểm tra, JMeter hỗ trợ những loại Sampler khác nhau. Bộ điều khiển có thể đƣợc sử dụng để thay đổi số lần lặp lại của một Sampler.

Samplers bao gồm một số loại yêu cầu nhƣ:

+ HTTP Request: Sử dụng cho kiểm thử web.

Ví dụ, 5 ngƣời dùng gửi yêu cầu đến một trang web hoặc 10 ngƣời dùng đăng nhập vào một hệ thống cùng một lúc, …

+ FTP Request: Sử dụng để kiểm thử trên trang FTP.

+ JDBC Request: Sử dụng để kiểm thử cơ sở dữ liệu. Ví dụ, 60 ngƣời gửi 2 yêu cầu đến máy chủ cơ sở dữ liệu

+ LDAP Request: Sử dụng để kiểm thử máy chủ LDAP.

+ WebService (SOAP) Request: Sử dụng để kiểm thử dịch vụ Web

6 Listener (Trình lắng nghe)

Cho phép xem các kết quả của Sampler ở dạng bảng biểu, đồ thị, cây thƣ mục hoặc văn bản đơn giản trong một số tập tin log.

- View Results Tree: Sẽ giúp bạn coi rõ ràng từng thông tin cho mỗi yêu cầu, bạn nắm chi tiết kết quả cho mỗi yêu cầu đó.

- View Results in Table: Thể hiện kết quả dƣới dạng bảng

- Aggregate Report: Để lấy tóm tắt, nó giúp bạn nhanh chóng có 1 kết quả tổng hợp để báo cáo

- Graph Results: Đây là đồ thị đƣợc vẽ ra khi chạy kiểm thử chịu tải.

7 Config Element (Yếu tố cấu hình): Đƣợc sử dụng để thêm vào những thay

đổi/cấu hình cần thiết cho các Sampler nhƣ:

- CSV Data Set Config: Đƣợc sử dụng để đọc các dòng từ một tập tin, và chia

chúng thành các biến. Nó rất thích hợp để xử lý một lƣợng lớn các biến, và cũng rất hữu ích cho việc kiểm thử các giá trị ngẫu nhiên và duy nhất.

- HTTP Cookie Manager: Để lƣu và gửi cookie nhƣ trình duyệt. Nếu bạn có

một yêu cầu http và phản hồi chứa cookie, nó sẽ tự động lƣu cookie đó và sẽ gửi cookie đó cho tất cả các yêu cầu sau đó đối với trang web

8 Timer (thời gian): Điều chỉnh khoảng thời gian dừng giữa các lần gửi yêu cầu

- Synchoronizing Timer: Với kịch bản, có 10 ngƣời đồng thời đăng nhập vào

trang web cần kiểm thử, sau khi đăng nhập xong, 10 ngƣời này đồng thời thực hiện thao tác giống nhau là nhấp chuột vào một nút (button) trong trang web. Bạn sẽ cần phải dụng Syncronizing Timer để thực hiện kịch bản này

9 Pre/Post Processer(Tiền/hậu xử lý): Cho phép thực hiện một số bƣớc ngay

trƣớc/sau khi chạy một Sampler nào đó

10 Assertion (Xác nhận): Các phƣơng pháp xác nhận thông tin trả về từ đối tƣợng

kiểm tra có đúng với mong đợi hay không

Một phần của tài liệu Nghiên cứu các phương pháp đảm bảo chất lượng phần mềm (Trang 39)

Tải bản đầy đủ (PDF)

(85 trang)