Kiểm thử khả năng mở rộng - Scalability Testing

Việc quy hoạch và phát triển thận trọng là cần thiết cho bất kỳ dự án phát triển ứng dụng. Tuy nhiên, để làm cho một ứng dụng thực sự khả năng mở rộng, điều quan trọng là cách chặt chẽ và thường xuyên kiểm tra nó cho vấn đề khả năng mở rộng.

1. Khái niệm

  • Scalability testing (Kiểm thử khả năng mở rộng) là kiểm tra hiệu suất hoạt động điều tra khả năng của một hệ thống để phát triển bằng cách tăng khối lượng công việc cho mỗi người dùng, hoặc số lượng người dùng đồng thời, hoặc kích thước của một cơ sở dữ liệu.
  • Là một loại kiểm thử phi chức năng.
  • Là một loại kiểm thử phần mềm kiểm thử các khả năng của một hệ thống, một mạng, hoặc một quá trình để tiếp tục hoạt động tốt, khi nó được thay đổi kích thước hoặc khối lượng để đáp ứng nhu cầu ngày càng tăng.
  • Đây là kiểm thử một ứng dụng phần mềm nhằm đo khả năng để mở rộng quy mô về bất kỳ khả năng không có chức năng của nó như tải hỗ trợ, số lượng giao dịch, khối lượng dữ liệu, ...
  • Khả năng mở rộng thử nghiệm là một phần mở rộng thử nghiệm hiệu suất, nó là tập trung vào các hành vi của các ứng dụng, khi triển khai một hệ thống lớn hơn hoặc kiểm thử chịu tải quá mức.. Mục đích của thử nghiệm khả năng mở rộng để xác định khối lượng công việc lớn và giảm bớt tắc nghẽn có thể cản trở khả năng mở rộng của ứng dụng.

software-testing-company-633.png

  • Kiểm tra khả năng mở rộng đảm bảo rằng một ứng dụng có thể xử lý việc tăng lưu lượng người dùng, khối lượng dữ liệu, giao dịch đếm tần số,.. Nó kiểm tra các hệ thống, quy trình và cơ sở dữ liệu có khả năng đáp ứng nhu cầu ngày càng tăng.

  • Ý tưởng của kiểm thử khả năng mở rộng để đo ở điểm nào ứng dụng dừng mở rộng quy mô và xác định nguyên nhân đằng sau nó.

  • Sử dụng thử nghiệm hiệu suất để thiết lập một đường cơ sở dựa vào đó ta có thể so sánh thử nghiệm hiệu suất trong tương lai. Khi một ứng dụng được mở rộng ra, việc so sánh các kết quả thử nghiệm hiệu năng sẽ chỉ ra sự thành công của nhân rộng các ứng dụng.

Khi bất kỳ ứng dụng trải qua thử nghiệm hiệu suất, một số thuộc tính các thử nghiệm Khả năng mở rộng được định nghĩa dưới đây:

Thời gian đáp ứng: là thước đo của thời gian thực hiện của một ứng dụng web để đáp ứng với yêu cầu người sử dụng. Đây là lần đo sau khi liên kết được nhấp vào các trang web cho đến trang web mới được tải về trình duyệt web. Có hàng loạt các sự kiện diễn ra sau đó, ví dụ: thời gian thực hiện để gửi yêu cầu URL đến máy chủ web, thời gian thực hiện bởi các máy chủ web để lộ lên tới trang web đó, thời gian thực hiện bởi trình duyệt để tải nội dung và hiển thị các yêu cầu trang web cho người dùng. Kiểm tra khả năng mở rộng được thực hiện để xác định thời gian đáp ứng của máy chủ web dưới tải bình thường, tải ngưỡng, tải nặng và phá vỡ điểm tải yêu cầu người dùng.

Throughput: Throughput được định nghĩa là tỷ lệ mà tại đó một cái gì đó có thể được xử lý. Ví dụ, ta tính toán thông lượng mạng như tốc độ mà các thông điệp hoặc các gói tin được chuyển giao thành công qua các kênh truyền thông. Tương tự như vậy trong trường hợp máy chủ web đó là tốc độ mà số lượng yêu cầu được phục vụ bởi các máy chủ web thành công.

2. Tại sao phải làm kiểm thử khả năng mở rộng

  • Kiểm thử khả năng mở rộng cho phép xác định cách ứng dụng với quy mô khối lượng công việc ngày càng tăng.
  • Xác định giới hạn người dùng cho các ứng dụng Web.
  • Xác định suy thoái phía khách hàng và kinh nghiệm người dùng cuối dưới tải.
  • Xác định độ bền và suy thoái phía máy chủ.

040516_0503_Scalability1.jpg

3. Để kiểm thử khả năng mở rộng cần kiểm tra những gì

Kiểm thử khả năng mở rộng có những thuộc tính sau:

  • Thời gian đáp ứng.
  • Chuyển màn hình.
  • Băng thông.
  • Time (Thời gian phiên, thời gian khởi động lại, thời gian in ấn, thời gian giao dịch, nhiệm vụ thời gian thực hiện).
  • Đo hiệu suất với số lượng người dùng.
  • Số lượt truy cập mỗi giây, Yêu cầu mỗi giây, giao dịch mỗi giây, mỗi giây Hits.
  • Đo lường hiệu suất với số lượng người dùng.
  • Đo hiệu suất theo tải trọng lớn.
  • Sử dụng mạng.
  • Sử dụng CPU, sử dụng bộ nhớ trong khi kiểm thử trong tiến trình.
  • Web Server (yêu cầu và đáp ứng mỗi giây).
  • Đo lường hiệu suất dưới tải.
  • Sử dụng mạng - dữ liệu được gửi và nhận
  • Máy chủ Web - Yêu cầu và phản ứng mỗi giây

4. Chiến lược test để kiểm thử khả năng mở rộng

Chiến lược kiểm tra cho kiểm thử khả năng mở rộng khác nhau về các loại ứng dụng đang được kiểm thử. Nếu một ứng dụng truy cập cơ sở dữ liệu, các thông số kiểm thử sẽ được kiểm tra kích thước của cơ sở dữ liệu liên quan đến số lượng người dùng.

4.1 Điều kiện tiên quyết kiểm thử khả năng mở rộng

  • Tải phân phối khả năng- Kiểm tra xem các công cụ kiểm tra tải trọng cho phép tải để được tạo ra từ nhiều máy tính và điều khiển từ một điểm trung tâm.
  • Hệ điều hành- Kiểm tra những hệ điều hành nào tải và thử tải chủ chạy dưới.
  • Processor- Kiểm tra loại CPU là cần thiết cho các người dùng ảo và tải kiểm tra tổng thể.
  • Bộ nhớ- Kiểm tra bộ nhớ bao nhiêu là đủ cho các người dùng ảo và thử tải Maste.

4.2 Quá trình chung thực hiện kiểm thử khả năng mở rộng

  • Xác định một quá trình được lặp lại để thực hiện các bài kiểm thử khả năng mở rộng trong suốt vòng đời.
  • Xác định tiêu chí cho khả năng mở rộng.
  • Danh sách ngắn các công cụ phần mềm cần thiết để chạy load test.
  • Thiết lập môi trường kiểm thử và cấu hình phần cứng cần thiết để thực hiện kiểm thử khả năng mở rộng.
  • Lập kế hoạch kịch bản kiểm thử cũng như kiểm thử khả năng mở rộng.
  • Tạo và xác minh kịch bản thị giác.
  • Tạo và xác minh các kịch bản kiểm thử tải
  • Thực hiện test.
  • Đánh giá kết quả.
  • Tạo báo cáo cần thiết.

4.3 Kế hoạch kiểm tra khả năng mở rộng

Trước khi test, xây dựng kế hoạch kiểm tra chi tiết. Đây là một bước quan trọng để đảm bảo rằng các thử nghiệm phù hợp theo yêu cầu ứng dụng.

Sau đây là các thuộc tính để tạo ra một kế hoạch kiểm tra cũng xác định cho kiểm tra khả năng mở rộng.

Các bước cho kịch bản: Các kịch bản kiểm thử nên có một bước chi tiết để xác định các hành động chính xác một người sử dụng sẽ thực hiện.

  • Thời gian chạy dữ liệu: Kế hoạch kiểm tra nên xác định bất kỳ dữ liệu thời gian chạy mà phải tương tác với các ứng dụng.
  • Hướng dữ liệu kiểm thử: Nếu kịch bản cần dữ liệu khác nhau tại thời gian chạy, cần phải có một sự hiểu biết về tất cả các lĩnh vực mà yêu cầu dữ liệu này.

5. Sự khác biệt giữa kiểm tra khả năng mở rộng và Load thử nghiệm

Kiểm tra khả năng mở rộng

Nó tập trung vào những hoạt động của trang web, phần mềm, phần cứng và ứng dụng ở tất cả các giai đoạn từ tối thiểu để tải tối đa.

Kiểm tra tải trọng

Load testing tập trung vào kiểm thử một ứng dụng theo tải trọng nặng, để xác định vào thời điểm những gì thời gian phản hồi hệ thống bị tập trung vào lỗi.

Kết luận

  • Scalability testing là một loại kiểm thử phần mềm kiểm tra khả năng của một hệ thống, một mạng hoặc một quá trình khi các kích thước/ khối lượng của hệ thống được thay đổi để đáp ứng một nhu cầu ngày càng tăng.
  • Ý tưởng đằng sau kiểm tra khả năng mở rộng là để đo ở điểm nào ứng dụng dừng mở rộng quy mô và xác định nguyên nhân đằng sau nó.
  • Chiến lược kiểm tra cho kiểm tra Khả năng mở rộng khác nhau về các loại ứng dụng đang được thử nghiệm.

Tài liệu tham khảo

http://www.guru99.com/scalability-testing.html

http://www.softwaretestingclass.com/what-is-scalability-testing/

http://istqbexamcertification.com/what-is-scalability-testing-in-software/