Currently Empty: 0.00₫
Bài đọc – Các loại kiểm thử hiệu năng

Load testing
- Load Testing (kiểm thử tải) là một loại kiểm thử hiệu năng nhằm kiểm tra hiệu suất của phần mềm dưới tải bình thường và tải cận cao với mục tiêu là xác định khả năng chịu tải của hệ thống (tìm các điểm ngưỡng – Peak Load) và đánh giá hiệu suất của nó khi có nhiều người dùng truy cập đồng thời. Trong quá trình kiểm thử tải, các kịch bản kiểm thử được thiết kế để tạo ra tải cao trên hệ thống, theo mô phỏng số lượng người dùng đồng thời truy cập, thao tác và tương tác với phần mềm.
- Peak Load: Là điểm ngưỡng cao nhất được đo trong một khoảng thời gian, phụ thuộc vào từng nghiệp vụ/chức năng, như tại hình dưới đây điểm peak load là 927.

- Khi kiểm thử load test, chúng ta cần tăng dần số lượng người dùng và sau đó tiến hành duy trì trong một khoảng thời gian đủ dài để đánh giá chính xác được hiệu năng của server trong suốt quá trình (Thường thời gian test load từ 1h – 4h).

- Các thông số, số liệu cần chú ý với load test:
- Xác nhận và đánh giá xem ứng dụng có thể đáp ứng được điểm peak load không
- Đánh giá thời gian phản hồi của sản phẩm/ứng dụng
- Kiểm tra, đánh giá tài nguyên hệ thống (server) có vượt các mức được quy định không
- Xác nhận và có thể tìm kiếm các kiểm bottleneck (nghẽn cổ chai)
Stress testing
- Stress test là một loại kiểm thử hiệu năng nhằm đánh giá khả năng của hệ thống hoặc phần mềm chịu được mức tải vượt quá giới hạn bình thường hoặc áp lực cao trong một thời gian dài.
- Mục tiêu chính của stress test là xác định giới hạn và sự ổn định của hệ thống khi đối diện với tải vượt quá giới hạn dự kiến và kiểm tra khả năng phục hồi của server sau khi restart.
- Trong quá trình kiểm thử stress test, mức tải của hệ thống được tăng cao và vượt quá giới hạn dự kiến. Điều này để xác định các vấn đề liên quan đến hiệu suất và độ ổn định của hệ thống trong điều kiện áp lực lớn, số lượng người dùng cao, chẳng hạn như tài nguyên hệ thống không đủ, thời gian phản hồi chậm, hoặc sự cố không mong muốn.
- Các thông số, số liệu cần chú ý với stress test:
- Xác nhận, kiểm tra khả năng xử lý khi vượt ngưỡng cho phép
- Chú ý kiểm tra thời gian phản hồi và so sánh với mục tiêu
- Chú ý tỉ lệ lỗi
- Chú ý bandwidth hạ tầng hiện có
Spike testing
- Spike Testing là một loại kiểm thử hiệu năng nhằm đánh giá khả năng của hệ thống khi có sự tăng đột ngột và đáng kể về lưu lượng dữ liệu hoặc số lượng người dùng trong một khoảng thời gian ngắn.
- Mục tiêu chính của Spike test là xác định sự ổn định của hệ thống và khả năng xử lý lưu lượng dữ liệu đột ngột mà không gây ra lỗi hoặc giảm hiệu suất.
- Trong quá trình Spike test, lưu lượng dữ liệu hoặc số lượng người dùng sẽ tăng đột ngột và mạnh mẽ, thường trong một thời gian ngắn. Điều này giúp đánh giá hiệu suất của hệ thống và xác định liệu nó có đáp ứng được các yêu cầu và đáp ứng kỳ vọng trong điều kiện dữ liệu đột ngột hay không.
- Có 03 mô hình kiểm thử spike thường gặp:



- Ví dụ: Khi nội dung của một trang web lan truyền trên Internet và có sự cố mất điện khiến tất cả người dùng mất quyền truy cập vào hệ thống. Sau khi có điện trở lại, tất cả người dùng đăng nhập lại vào hệ thống, đây là một dạng điển hình của spike test.
Endurance(Soak) testing
- Endurance Testing (còn được gọi là Soak Testing) là một loại kiểm thử hiệu năng dùng để đánh giá hiệu suất của một ứng dụng hoặc hệ thống trong một khoảng thời gian dài với mức tải liên tục.
- Mục tiêu của kiểm thử Endurance là xác định sự ổn định và khả năng duy trì hiệu suất của ứng dụng trong điều kiện tải liên tục, thường kéo dài từ vài giờ đến một số ngày.
- Trong Endurance Testing, mức tải được duy trì ổn định và đều đặn trong suốt khoảng thời gian kiểm thử. Điều này giúp phát hiện các vấn đề liên quan đến sự suy giảm hiệu suất theo thời gian, gây ra bởi các vấn đề như rò rỉ bộ nhớ (memory leaks), cơ chế cache không hiệu quả, hoặc mất tài nguyên sau một thời gian hoạt động liên tục.
- Một số đặc điểm của kiểm thử Endurance bao gồm:
- Thời gian kéo dài: Kiểm thử Endurance có thể kéo dài từ vài giờ đến nhiều ngày, tùy thuộc vào yêu cầu và tính chất của ứng dụng hoặc hệ thống.
- Ghi nhận hiệu suất theo thời gian: Trong quá trình kiểm thử, các tham số hiệu suất quan trọng như thời gian đáp ứng, tải CPU, tải bộ nhớ, tốc độ ghi/đọc dữ liệu sẽ được ghi nhận và theo dõi để phân tích xu hướng và phát hiện sự thay đổi về hiệu suất.
- Đánh giá sự ổn định: Mục tiêu chính của Endurance Testing là đảm bảo rằng hệ thống có thể xử lý tải liên tục trong thời gian dài mà không gặp phải lỗi hoặc suy giảm hiệu suất đáng kể.
- Phát hiện lỗi tiềm ẩn: Kiểm thử Endurance có thể giúp phát hiện những lỗi tiềm ẩn, không dễ phát hiện trong kiểm thử hiệu suất ngắn hạn.
- Kiểm thử Endurance cần thiết để đảm bảo rằng ứng dụng hoặc hệ thống sẽ duy trì hiệu suất ổn định và đáp ứng tốt trong điều kiện tải liên tục, như khi gặp các tình huống thực tế như các hoạt động sản xuất liên tục hoặc tải trọng cao trong khoảng thời gian dài.
Scalability testing
- Scalability Testing (kiểm thử khả năng mở rộng) là một loại kiểm thử hiệu năng được thực hiện để đánh giá khả năng của một ứng dụng hoặc hệ thống để mở rộng và xử lý tải lớn hơn khi số lượng người dùng, lưu lượng dữ liệu hoặc yêu cầu tăng lên.
- Mục tiêu của kiểm thử Scalability là xác định giới hạn của hệ thống và đánh giá khả năng mở rộng của nó khi tải tăng cao.
- Trong Scalability Testing, các tham số chính như số lượng người dùng đồng thời, lưu lượng truy cập, tải CPU, bộ nhớ, và tốc độ I/O sẽ được thay đổi để đo lường và đánh giá hiệu suất của hệ thống trong các tình huống khác nhau.
- Một số đặc điểm của kiểm thử Scalability bao gồm:
- Thử nghiệm tải tối đa: Kiểm thử Scalability thường tiến hành ở mức tải tối đa hoặc sát đến giới hạn của hệ thống để xem liệu nó có vượt qua được giới hạn này hay không.
- Mở rộng ngang và dọc: Kiểm thử Scalability đánh giá khả năng mở rộng ngang (scale out) bằng cách thêm nhiều máy chủ và mở rộng dọc (scale up) bằng cách nâng cấp tài nguyên phần cứng trên một máy chủ duy nhất.
- Xác định hạn chế: Kiểm thử Scalability giúp xác định các yếu tố hạn chế và các thành phần mà khi tăng cường không cải thiện hiệu suất chung.
- Đánh giá hiệu suất tại mức mở rộng: Xác định hiệu suất của hệ thống ở mỗi mức mở rộng để tìm ra điểm mở rộng tối ưu và giá trị tối ưu của các tài nguyên.
- Kiểm thử Scalability là một bước quan trọng để đảm bảo rằng ứng dụng hoặc hệ thống có thể mở rộng linh hoạt và đáp ứng được nhu cầu người dùng và lưu lượng dữ liệu tăng lên mà không làm giảm hiệu suất. Kết quả từ kiểm thử này sẽ giúp nhà phát triển và quản trị hệ thống có kế hoạch mở rộng hợp lý khi cần thiết.
Volume testing
- Volume Testing là một loại kiểm thử hiệu năng được thực hiện để đánh giá khả năng của một ứng dụng hoặc hệ thống xử lý và chứa lượng dữ liệu lớn.
- Mục tiêu của kiểm thử Volume là xác định giới hạn của hệ thống và đảm bảo rằng nó có thể xử lý dữ liệu lớn mà không gây ra lỗi hoặc suy giảm hiệu suất đáng kể.
- Trong Volume Testing, khối lượng dữ liệu đầu vào được tăng lên đáng kể để kiểm tra khả năng của hệ thống khi xử lý lượng dữ liệu lớn. Các tham số hiệu suất quan trọng như thời gian đáp ứng, tải CPU, bộ nhớ, và tốc độ I/O được theo dõi và ghi nhận để đánh giá hiệu suất của hệ thống trong các điều kiện khác nhau.
- Một số đặc điểm của kiểm thử Volume bao gồm:
- Tăng lượng dữ liệu: Kiểm thử Volume thực hiện bằng cách tăng lượng dữ liệu đầu vào đáng kể để đảm bảo rằng hệ thống có thể xử lý dữ liệu lớn một cách hiệu quả.
- Xác định hạn chế: Kiểm thử Volume giúp xác định giới hạn của hệ thống, giúp nhận ra các vấn đề như rò rỉ bộ nhớ (memory leaks) hoặc hiệu suất suy giảm khi lượng dữ liệu tăng lên.
- Đánh giá hiệu suất dưới áp lực: Kiểm thử Volume kiểm tra khả năng xử lý dữ liệu lớn khi hệ thống đang hoạt động dưới áp lực thực tế.
- Phân tích hiệu suất dữ liệu lớn: Xác định hiệu suất của hệ thống dưới các tình huống dữ liệu lớn để đảm bảo rằng nó không bị giới hạn bởi kích thước dữ liệu.
- Kiểm thử Volume là một bước quan trọng để đảm bảo rằng ứng dụng hoặc hệ thống có thể xử lý lượng dữ liệu lớn mà không gây ra lỗi và đảm bảo hiệu suất ổn định trong điều kiện thực tế. Điều này đặc biệt quan trọng đối với các ứng dụng và hệ thống có tính cơ địa lớn hoặc phải xử lý dữ liệu hàng ngày ngày càng tăng
Mô hình kết hợp các loại hình kiểm thử:


