Hay còn gọi là Kiểm thử phi chức năng, là kỹ thuật kiểm thử tập trung vào việc đánh giá các khía cạnh phi chức năng của hệ thống. Nó kiểm tra các tham số không được kiểm tra trong Function Testing (kiểm thử chức năng), chẳng hạn như hiệu suất, khả năng sử dụng, độ tin cậy, … . Các kịch bản thử nghiệm phi chức năng cũng quan trọng như các bài kiểm tra chức năng vì chúng giúp hiểu cách hệ thống hoạt động. Mục tiêu chính của loại thử nghiệm này là cung cấp trải nghiệm tốt nhất cho người dùng cuối của sản phẩm phần mềm.
Mục tiêu của Non-Functional Testing
- Kiểm thử phi chức năng nên tăng khả năng sử dụng, hiệu quả, khả năng bảo trì và tính di động của sản phẩm.
- Giúp giảm rủi ro sản xuất và chi phí liên quan đến các khía cạnh phi chức năng của sản phẩm.
- Tối ưu hóa cách cài đặt sản phẩm, thiết lập, thực thi, quản lý và giám sát.
- Thu thập và sản xuất các phép đo, và số liệu cho nghiên cứu và phát triển nội bộ.
- Cải thiện và nâng cao kiến thức về hành vi và công nghệ sản phẩm đang sử dụng.
Đặc điểm của Non-Functional Testing
- Kiểm tra phi chức năng nên được đo lường, vì vậy không có chỗ cho đặc tính chủ quan như tốt, tốt hơn, tốt nhất, v.v.
- Những con số chính xác không thể biết được khi bắt đầu xử lý yêu cầu
- Điều quan trọng cần ưu tiên các yêu cầu
- Đảm bảo rằng các thuộc tính chất lượng được xác định chính xác
Các loại Non-Functional Testing phổ biến
Stability tests (Kiểm thử độ ổn định)
- Đánh giá phần mềm có thể liên tục hoạt động tốt trong hoặc ngay trên khoảng thời gian có thể chấp nhận hay không. Mục đích của kiểm thử độ ổn định là đảm bảo rằng hệ thống có thể xử lý sự gia tăng dự kiến về lưu lượng người dùng, khối lượng dữ liệu, tần suất số lượng giao dịch, v.v.
Reliability Tests (Kiểm thử độ tin cậy)
- Kiểm thử độ tin cậy kiểm tra xem phần mềm có thể duy trì một mức hiệu suất nhất định với các điều kiện nhất định và trong một khoảng thời gian nhất định hay không. Mục đích của kiểm tra độ tin cậy là để đảm bảo rằng sản phẩm phần mềm không có lỗi và đủ tin cậy cho mục đích mong đợi của nó.
Robustness Tests (Kiểm thử độ bền)
- Loại thử nghiệm này được thiết kế để chứng minh rằng hệ thống hoạt động chính xác trong mọi điều kiện, ngay cả trong các sự kiện bất ngờ.
Stress tests (Kiểm thử áp lực)
- Stress test có mục đích giám sát hành vi của hệ thống trong các trường hợp bất thường, điều này xác định giới hạn mà phần mềm sẽ bị phá vỡ. Kiểm thử áp lực được sử dụng để phân tích những gì sẽ xảy ra khi một hệ thống bị lỗi, với mục đích đảm bảo rằng phần mềm có thể phục hồi, ổn định và đáng tin cậy.
Performance Tests (Kiểm tra hiệu năng)
- Kiểm thử hiệu suất được tiến hành để xác định cách phần mềm hoạt động về khả năng đáp ứng và tốc độ xử lý trong một khối lượng công việc. Các bài kiểm tra này tìm ra các vấn đề trong thiết kế phần mềm và hiệu suất kiến trúc.
Load Tests (Kiểm thử khả năng chịu tải)
- Load Test là quá trình mô phỏng độ chịu tải thực tế của bất kỳ ứng dụng hoặc trang web nào. Nó kiểm thử cách ứng dụng hoạt động trong điều kiện hoạt động bình thường và hoạt động hiệu suất cao. Điều này được thực hiện để xác định mức độ công việc mà phần mềm có thể xử lý trước khi hiệu suất bị ảnh hưởng.
Usability Tests (Kiểm thử tính khả dụng)
- Là kỹ thuật được thiết kế để xác minh xem người dùng cuối có thể dễ dàng sử dụng sản phẩm phần mềm hay không. Thử nghiệm này được khuyến nghị trong giai đoạn thiết kế ban đầu của SDLC, mang lại khả năng hiển thị rõ ràng hơn trên sự mong đợi của người dùng.
Maintainability Tests (Kiểm thử khả năng bảo trì)
- Các bài kiểm tra khả năng bảo trì được thực hiện để đánh giá khả năng của phần mềm trong việc đáp ứng các yêu cầu của người dùng và khi được thay đổi thì không gặp bất kỳ vấn đề gì.
Portability Tests (Kiểm tra tính tương thích)
- Các bài kiểm tra tính di động đo lường mức độ dễ dàng chuyển phần mềm sang môi trường khác, chẳng hạn như mức độ dễ dàng chuyển ứng dụng di động sang các hệ điều hành khác nhau hoặc các thiết bị khác nhau.