paint-brush
Thông lượng trong kiểm thử hiệu suất: Tại sao nó lại quan trọngtừ tác giả@qalified

Thông lượng trong kiểm thử hiệu suất: Tại sao nó lại quan trọng

từ tác giả QAlified7m2023/08/02
Read on Terminal Reader

dài quá đọc không nổi

Người kiểm thử phần mềm thực hành một số kỹ thuật để kiểm tra chất lượng của các ứng dụng. Một trong số đó là Kiểm tra hiệu suất, trong đó nhóm kiểm tra tốc độ, thời gian phản hồi, khả năng mở rộng và độ tin cậy của phần mềm. Thông lượng là số liệu chính cho biết số lượng yêu cầu mà một ứng dụng phần mềm có thể xử lý trong một thời gian cụ thể (giây, phút hoặc giờ).
featured image - Thông lượng trong kiểm thử hiệu suất: Tại sao nó lại quan trọng
QAlified HackerNoon profile picture
0-item

Người kiểm thử phần mềm thực hành một số kỹ thuật để kiểm tra chất lượng của các ứng dụng. Kiểm thử hiệu suất là một trong những biện pháp quyết định trong đó nhóm kiểm tra tốc độ, thời gian phản hồi, khả năng mở rộng và độ tin cậy của phần mềm.

Trong bài viết này, chúng ta sẽ thảo luận về những điều cốt lõi về thông lượng trong kiểm thử hiệu suất.

Khái niệm cơ bản về thông lượng trong kiểm tra hiệu suất

Trước khi bắt đầu với các chi tiết, chúng ta hãy xem xét một số yếu tố cần thiết của kiểm thử hiệu suất.

Tại sao phải kiểm tra hiệu suất?

Kiểm thử hiệu suất rất quan trọng vì:


  • Ngoài các vấn đề về logic hoặc chức năng thường được báo cáo, các ứng dụng cũng phải vật lộn với các vấn đề về mạng quyết định độ tin cậy của chúng.


  • Khách hàng dễ bực bội khi trải nghiệm truy cập ứng dụng của họ không tốt.


  • Tốc độ ứng dụng và hiệu suất thay đổi theo khu vực nơi chúng đang được sử dụng. Vì vậy, điều quan trọng là phải đánh giá hiệu suất của ứng dụng ở các tốc độ và mạng khác nhau.


  • Một hệ thống có thể hoạt động hoàn hảo với một số lượng người dùng cụ thể, nhưng nó có thể hoạt động khác đi khi số lượng người dùng tăng lên từ giới hạn đó. Vì vậy, việc kiểm tra các vấn đề cơ bản về kiểm tra hiệu suất trong các điều kiện cụ thể là cần thiết.

Khi nào bạn nên bắt đầu kiểm tra hiệu suất?

Bạn có thể bắt đầu kiểm tra hiệu suất càng sớm càng tốt trong các giai đoạn phát triển ứng dụng phần mềm của mình. Bằng cách này, bạn có thể tối ưu hóa máy chủ web của mình và ngăn chặn chi phí kinh doanh ở các giai đoạn sau.


Việc phát hiện ra các vấn đề về hiệu suất sau khi triển khai ứng dụng đồng nghĩa với rất nhiều giờ làm việc để khắc phục các vấn đề. Vì vậy, nó có thể rất tốn kém.


Ngay khi các trang web cơ bản của ứng dụng hoạt động, nhóm đảm bảo chất lượng phải tiến hành các bài kiểm tra tải ban đầu. Từ thời điểm đó trở đi, họ nên thực hiện kiểm tra hiệu suất thường xuyên cho mọi bản dựng.


Có các công cụ và tiêu chí khác nhau để kiểm tra hiệu suất của các ứng dụng. Ở đây chúng ta sẽ nói về một biện pháp quan trọng, tức là thông lượng.

Thông lượng trong kiểm thử hiệu suất là gì?

Mỗi ứng dụng phần mềm hoặc trang web có rất nhiều người dùng thực hiện các yêu cầu khác nhau. Người kiểm tra cần đảm bảo rằng ứng dụng đáp ứng dung lượng yêu cầu trước khi đi vào hoạt động.


Có một số vấn đề cơ bản về kiểm thử hiệu suất cần được đo lường trong quá trình này. Thông lượng là một trong số đó . Hãy cùng tìm hiểu xem thông lượng trong kiểm thử hiệu năng là gì.

Thông lượng là số liệu chính cho biết số lượng yêu cầu mà một ứng dụng phần mềm có thể xử lý trong một thời gian cụ thể (giây, phút hoặc giờ).

Trước khi bắt đầu thử nghiệm, chúng ta cần đặt mục tiêu thông lượng hiệu suất thực tế để có thể nhận được kết quả chính xác và đáng tin cậy hơn.


Đây là một số yếu tố quan trọng để xác định thông lượng thực tế:


  • Ước tính số lượng và loại người dùng sẽ sử dụng ứng dụng hoặc trang web.


  • Hành vi của người dùng, tức là họ sẽ thực hiện những hành động nào khi sử dụng ứng dụng.


  • Các loại kết nối sẽ ảnh hưởng đến phản hồi của hệ thống và cuối cùng là trải nghiệm người dùng.


  • Ảnh hưởng của việc tạm dừng và trì hoãn trên hệ thống.

Thông lượng trong kịch bản thực tế

Ở đây, chúng tôi sẽ giải thích khái niệm thông lượng với sự trợ giúp của một ví dụ thực tế. Hãy tưởng tượng có một gian hàng thức ăn nhanh tên là “Bánh mì kẹp thịt ngon”. Họ phục vụ bánh mì kẹp thịt và khoai tây chiên cho khách hàng.


Giả sử “Bánh mì kẹp thịt ngon” có ba công nhân trong gian hàng và mỗi công nhân luôn mất 5 phút để phục vụ đồ ăn cho một khách hàng.


Vì vậy, nếu họ có ba khách hàng xếp hàng để ba công nhân phục vụ, điều đó có nghĩa là “Yummy Burgers” có thể phục vụ đồ ăn cho ba khách hàng trong 5 phút.


Do đó, nếu chúng ta cần lập báo cáo hiệu suất của “Bánh mì kẹp thịt ngon”, nó sẽ cho thấy rằng thông lượng của nó là ba khách hàng mỗi năm phút.


Tình thế tiến thoái lưỡng nan của Yummy Burgers là, bất kể có bao nhiêu khách hàng đang đợi đồ ăn ở đó, số lượng tối đa họ có thể xử lý trong một khung thời gian cụ thể sẽ luôn giống nhau, tức là ba. Đây là thông lượng tối đa .


Khi nhiều khách hàng xếp hàng lấy thức ăn, họ phải đợi đến lượt của mình, tạo ra một hàng đợi.

Khái niệm tương tự áp dụng cho việc thử nghiệm một ứng dụng web.


Nếu một ứng dụng web nhận được 100 yêu cầu mỗi giây, nhưng nó chỉ có thể xử lý 70 yêu cầu mỗi giây, 30 yêu cầu còn lại phải đợi trong hàng đợi.


Trong thử nghiệm hiệu suất, chúng tôi biểu thị thông lượng là "Giao dịch mỗi giây" hoặc TPS .

Thông lượng trong kiểm tra hiệu suất JMeter:

Việc sử dụng Apache JMete r khá phổ biến để kiểm tra hiệu năng của một ứng dụng phần mềm. JMeter rất hữu ích để xác định số lượng người dùng đồng thời tối đa mà ứng dụng có thể xử lý và cũng cung cấp phân tích đồ họa để kiểm tra hiệu suất.


JMeter cung cấp nhiều cách để ghi lại giá trị của thông lượng. Đưa ra đây là một số trình nghe JMeter mà bạn có thể sử dụng cho mục đích này:


  • Báo cáo tổng hợp
  • Báo cáo tổng hợp
  • Đồ thị tổng hợp
  • Kết quả đồ thị


JMeter cũng cung cấp một thành phần bộ đếm thời gian, ' Bộ đếm thời gian thông lượng không đổi' , mà bạn có thể sử dụng để đặt giá trị của Giao dịch mỗi giây (TPS) để kiểm tra tải của ứng dụng.


Bây giờ, chúng tôi sẽ hiển thị việc sử dụng thông lượng trong kiểm tra hiệu suất bằng JMeter. Giả sử chúng tôi sẽ tiến hành kiểm tra mẫu với 100 luồng đồng thời và theo dõi giá trị của thông lượng.


Giả sử chúng tôi đã cài đặt bản phát hành JMeter mới nhất trên hệ thống của mình và chúng tôi đã thực hiện tất cả các cấu hình cần thiết khác. Bây giờ, chúng ta phải xây dựng một kế hoạch thử nghiệm.

1. Cấu hình Test

Trong thử nghiệm này, chúng tôi sẽ xác định năm phần tử ThreadGroup. Mỗi phần tử này sẽ có thời gian tăng tốc khác nhau, tức là 0, 15, 25, 35 và 45. Thời gian tăng tốc là khoảng thời gian để bắt đầu mỗi luồng. Chúng tôi sẽ định cấu hình 100 người dùng trong các phần tử ThreadGroup này.


Nếu chúng tôi muốn định cấu hình số lượng người dùng lớn hơn, thì sẽ cần nhiều thời gian tăng tốc hơn.


Các nhóm chủ đề này sẽ có một trình lấy mẫu HTTP sẽ tạo các yêu cầu trên trang chủ của một trang web mẫu (Giả sử www.samplesite.com).


Trong Trường hợp sử dụng 1, chúng ta có một phần tử ThreadGroup được định cấu hình với 100 luồng và thời gian tăng tốc của nó là 0.


Nó sẽ có trường “Số lượng chủ đề” được đặt là 100. Điều này có nghĩa là 100 người dùng sẽ gửi yêu cầu cùng một lúc. Tương tự, chúng ta cũng có thể định cấu hình 4 luồng còn lại và đặt thời gian tăng tốc của chúng là 15, 25, 35 và 45. Ngoài ra, hãy đặt tên cho bộ lấy mẫu cho từng nhóm luồng.


Như đã đề cập trước đây, các trình lấy mẫu HTTP này sẽ trỏ đến trang chủ của trang web mẫu.


Cần chạy các nhóm luồng này theo một trình tự thích hợp. Với mục đích này, hãy chọn “Kế hoạch kiểm tra” từ bảng điều khiển và kiểm tra trường “Chạy liên tiếp các nhóm chủ đề”.

2. Phân tích kết quả kiểm tra

“Báo cáo tổng hợp” là một trình lắng nghe được sử dụng để phân tích và quan sát kết quả kiểm tra. Để sử dụng bộ nghe này, nhấp chuột phải vào “Kế hoạch kiểm tra” và chọn:


Thêm → Người nghe → Báo cáo tổng hợp


Sau đó bấm vào biểu tượng bắt đầu để chạy thử nghiệm.


Bây giờ, hãy xem cách hiểu kết quả thông lượng từ Báo cáo tổng hợp.


Nhóm luồng đầu tiên có thời gian tăng tốc 0 hiển thị tất cả các luồng đặt tải ngay lập tức trên máy chủ bằng cách bắt đầu cùng một lúc. Kịch bản này có thông lượng khá cao, nhưng nó không thực tế. Vì vậy, điều này sẽ không hiển thị đầu ra thực tế.


Các nhóm luồng thứ hai và thứ ba có thời gian tăng tốc trong phạm vi thực tế, vì vậy chúng có nhiều khả năng hiển thị thông lượng hiệu suất phù hợp và thời gian tải yêu cầu.


Các nhóm chủ đề bốn và năm có thời gian tăng tốc cao hơn, điều đó có nghĩa là thông lượng của chúng sẽ giảm.


Do đó, đầu ra đáng tin cậy có thể được xác định từ kết quả của nhóm luồng thứ hai và thứ ba.

Những điểm quan trọng cần nhớ khi kiểm tra thông lượng:

Quyết định triển khai một bản phát hành mới hoặc thay đổi phụ thuộc vào khả năng xử lý TPS cụ thể của ứng dụng. Vì vậy, kế hoạch kiểm tra hiệu suất có các mục tiêu thông lượng nhất định. Nhưng chúng ta cần đảm bảo rằng những mục tiêu này là thực tế và thể hiện đúng đặc điểm của quá trình sản xuất.


Kế hoạch kiểm tra là vô ích nếu chúng ta vượt qua nó bằng cách sử dụng các điều kiện không thực tế. Ví dụ: kế hoạch thử nghiệm mà chúng tôi đã mô tả ở trên có giá trị thông lượng cao hơn cho nhóm luồng đầu tiên, nhưng nó không mô tả kịch bản thực tế của môi trường trực tiếp.


Vì vậy, bằng cách sử dụng các phương pháp như vậy, chúng tôi không thể biết chính xác liệu ứng dụng của chúng tôi có xử lý tải thực tế hay không. Do đó, thiết lập các bài kiểm tra phù hợp là rất quan trọng.

Bây giờ, chúng ta sẽ thảo luận về một số điểm quan trọng mà chúng ta cần xem xét để kiểm tra thông lượng hiệu suất.

  • Thiết kế thử nghiệm phù hợp: Thiết kế thử nghiệm xác định xem thông lượng được tạo ra có thực tế hay không. Trong kịch bản thời gian thực, mỗi yêu cầu có thể khác nhau và cũng có thể kích hoạt các quy trình phức tạp để đạt được kết quả cần thiết. Vì vậy, chúng ta cần thao tác các bài kiểm tra theo môi trường trực tiếp dự kiến.


  • Đại diện cho người dùng thực: Mỗi người dùng ứng dụng có thể có các yêu cầu ảnh hưởng đến tài nguyên của hệ thống. Vì vậy, nếu người dùng thực không được đại diện trong kịch bản thử nghiệm, kết quả có thể hiển thị mức sử dụng tài nguyên không chính xác ở phần phụ trợ, do đó, thử nghiệm sẽ không mô phỏng các điều kiện phù hợp.


  • **==Cân nhắc việc tạm dừng và trì hoãn: ==**Trong môi trường trực tiếp, người dùng cần suy nghĩ, tiếp nhận và xử lý thông tin, nhập thông tin vào các trường, v.v. Tuy nhiên, máy chủ vẫn sử dụng tài nguyên trong thời gian tạm dừng đó. Vì vậy, hãy cố gắng kết hợp các hành vi người dùng này trong tập lệnh của bạn.


  • Tốc độ kết nối: Người dùng ứng dụng được kết nối thông qua các tốc độ mạng, vùng khác nhau hoặc qua mạng di động. Vì vậy, cần phải chọn băng thông đại diện cho các kết nối người dùng như vậy.

kết luận

Tóm lại, thông lượng là một chỉ báo hiệu suất quan trọng của các ứng dụng web . Tuy nhiên, chỉ phụ thuộc vào số liệu thông lượng là không đủ. Do đó, nó cần được kiểm tra độ trễ và thời gian phản hồi .


Điều thực sự quan trọng là tạo ra thông lượng thực tế để đạt được các mục tiêu thử nghiệm hiệu suất đã đề ra.