Kiểm thử phi chức năng (NFR Testing) là gì? Có bao nhiêu loại? Các bước thực hiện ra sao? Bên cạnh kiểm thử chức năng, kiểm thử phi chức năng là một khía cạnh quan trọng, góp phần nâng cao chất lượng phần mềm và trải nghiệm người dùng. Bài viết dưới đây, chuyên gia sẽ giải đáp toàn bộ thắc mắc cho bạn về Non-Functional Requirements.
Nếu bạn muốn biết sâu hơn về các loại kiểm thử khác nhau, hoặc đang tìm kiếm khóa dạy Business Analyst, hãy đăng ký tại Topchuyengia ngay để nhận nhiều ưu đãi hấp dẫn.
Kiểm thử phi chức năng là gì?
Kiểm thử phi chức năng (Non-Functional Requirements) được định nghĩa là một loại kiểm thử phần mềm, dùng để kiểm tra các khía cạnh phi chức năng, chẳng hạn như: hiệu suất, khả năng sử dụng, bảo mật, độ tin cậy, khả năng bảo trì,… của phần mềm đó.
Nó được thiết kế để đánh giá khả năng hoạt động của một hệ thống, dựa trên các tiêu chí không liên quan đến chức năng và không thể xác định bằng kiểm thử chức năng.
Hãy tưởng tượng phần mềm như một cơ thể con người:
- Kiểm thử chức năng tập trung vào các chức năng chính, ví dụ như khả năng di chuyển, cử động.
- Kiểm thử phi chức năng quan tâm đến các yếu tố khác như sức khỏe, sức bền, khả năng chịu đựng, v.v.
Một ví dụ thực tế về kiểm thử phi chức năng là đo lường số lượng người dùng có thể truy cập cùng lúc vào một hệ thống.
Nên nhớ, kiểm thử phi chức năng cũng có vai trò quan trọng như kiểm thử chức năng và tác động đến sự hài lòng của khách hàng. Nhưng trước khi tiến hành, bạn phải biết cách viết test case để xác định các trường hợp cần kiểm thử.
Các thông số của kiểm thử phi chức năng?
- Độ tin cậy ( Reliability): Hệ thống phần mềm có thể hoạt động liên tục và ổn định trong thời gian dài mà không xảy ra lỗi hay gián đoạn. Đánh giá độ tin cậy giúp đảm bảo hệ thống đáp ứng nhu cầu sử dụng liên tục của người dùng
- Mức độ bảo mật (Security): Tham số này xác định hệ thống được bảo vệ tốt như thế nào trước các truy cập trái phép, tấn công mạng và các mối đe dọa bảo mật khác.
- Khả năng sử dụng (Usability): Người dùng có thể học cách sử dụng, vận hành và tương tác với hệ thống dễ dàng như thế nào. Usability Testing được sử dụng để kiểm tra tham số này, giúp đảm bảo hệ thống thân thiện và dễ sử dụng cho mọi đối tượng người dùng.
- Khả năng mở rộng (Scalability): Một ứng dụng có thể được mở rộng (hoặc thu hẹp) khả năng xử lý để đáp ứng nhu cầu thay đổi của người dùng. Đó là những gì thông số Scalability Testing sẽ cho chúng ta biết.
- Tính linh hoạt (Flexibility): Tham số này cho biết ứng dụng hoạt động mượt mà như thế nào với các cấu hình phần cứng và phần mềm khác nhau, chẳng hạn như các yêu cầu về RAM và CPU.
- Khả năng tương tác (Interoperability): Hệ thống có thể giao tiếp và kết nối với các hệ thống phần mềm khác một cách hiệu quả. Interoperability Testing được sử dụng để đánh giá khả năng tương tác, giúp đảm bảo hệ thống có thể tích hợp với các hệ thống khác trong một môi trường công nghệ đa dạng.
- Khả năng tái sử dụng (Reusability): Mức độ mà các thành phần hoặc mô-đun của hệ thống có thể được sử dụng lại trong các ứng dụng khác. Đánh giá khả năng tái sử dụng giúp tiết kiệm thời gian và chi phí trong quá trình phát triển phần mềm.
- Tính di động (Portability): Khả năng linh hoạt của phần mềm có thể chuyển đổi từ môi trường phần cứng hoặc phần mềm hiện tại sang môi trường khác.
- Tính khả dụng (Availability): Biểu thị mức độ mà người dùng có thể truy cập và sử dụng hệ thống một cách liên tục.
- Tính hiệu quả (Efficiency): Mức độ mà hệ thống sử dụng tài nguyên phần cứng và phần mềm một cách hiệu quả để hoàn thành nhiệm vụ.
Các loại kiểm thử phi chức năng
Dưới đây là các loại kiểm thử phi chức năng mà bạn có thể tham khảo.
Các loại kiểm thử hiệu suất và Khả năng vận hành:
- Kiểm thử hiệu năng (Performance Testing)
- Kiểm thử tải (Load Testing)
- Kiểm thử khả năng mở rộng (Scalability Testing)
- Kiểm thử bảo trì (Maintainability Testing)
- Kiểm thử khối lượng (Volume Testing)
Các loại kiểm thử bảo mật và Khả năng phục hồi:
- Kiểm thử bảo mật (Security Testing)
- Kiểm thử khắc phục thảm họa (Disaster Recovery Testing)
- Kiểm thử tuân thủ (Compliance Testing)
Các loại kiểm thử độ tin cậy và Khả năng sử dụng:
- Kiểm thử áp lực (Stress Testing)
- Kiểm thử độ tin cậy (Reliability Testing)
- Kiểm thử cơ bản (Baseline Testing)
- Kiểm thử độ bền (Endurance Testing)
- Kiểm thử khả năng sử dụng (Usability Testing)
Các loại kiểm thử di động và Khả năng tương thích:
- Kiểm thử tính di động (Portability Testing)
- Kiểm thử quốc tế hóa (Internationalization Testing)
- Kiểm thử chuyển đổi dự phòng (Failover Testing
- Kiểm thử tương thích (Compatibility Testing
Các loại kiểm thử hiệu quả và Tài liệu:
- Kiểm thử hiệu quả (Efficiency Testing)
- Kiểm thử tài liệu (Documentation Testing)
Các loại kiểm thử phục hồi và Nội địa hóa:
- Kiểm thử phục hồi (Recovery Testing)
- Kiểm thử nội địa hóa (Localization Testing)
Sự khác nhau giữa kiểm thử chức năng và phi chức năng?
Parameters | Kiểm thử chức năng | Kiểm thử phi chức năng |
Execution | Kiểm thử chức năng thường sẽ được thực hiện trước kiểm thử phi chức năng | Ngược lại, kiểm thử phi chức năng được thực hiện sau kiểm thử chức năng |
Focus area | Kiểm thử chức năng được thực hiện trên yêu cầu của khách hàng | Kiểm thử phi chức năng được thực hiện dựa trên sự mong đợi của khách hàng |
Requirement | Có thể dễ dàng để xác định được các yêu cầu chức năng | Rất khó để xác định các yêu cầu cho kiểm thử phi chức năng |
Usage | Kiểm thử chức năng giúp xác minh hệ thống hoạt động tốt như thế nào | Kiểm thử phi chức năng sẽ xác minh hệ thống đáp ứng tốt như thế nào |
Objective | Kiểm tra chức năng xác minh chức năng của hệ thống hoặc cách hoạt động của hệ thống | Kiểm thử phi chức năng xác minh hiệu suất của hệ thống |
Requirements | Yêu cầu chức năng sẽ dựa trên khách hàng | Yêu cầu phi chức năng dựa trên các developers và kiến thức kỹ thuật của team |
Manual testing | Kiểm thử chức năng rất dễ thực hiện bằng cách kiểm tra thủ công | Rất khó để thực hiện kiểm thử phi chức năng một cách thủ công |
Functionality | Mô tả những gì sản phẩm làm | Mô tả cách thức hoạt động của sản phẩm |
Example Test Case | Ví dụ: Kiểm tra chức năng đăng nhập | Ví dụ: Trả về màn hình dashboard sau 2s |
Testing Types | Unit testing, Smoke testing, Integration Testing, Regression testing, User Acceptance Testing, Localization and Internationalization Testing | Performance Testing, Usability Testing, Scalability testing, Stress Testing, Portability Testing, Volume Testing, Load Testing, Disaster Recovery Testing, Compliance Testing |
Kết luận
Đó là toàn bộ thông tin về kiểm thử phi chức năng mà bạn có thể tham khảo. Kiểm thử phi chức năng là một bước không thể thiếu trong quá trình phát triển phần mềm. Hãy áp dụng các kỹ thuật kiểm thử phù hợp, phần mềm của bạn sẽ mang lại trải nghiệm tốt nhất cho người dùng và tối ưu hóa được hiệu quả hoạt động.
Nếu bạn đang gặp khó khăn trong việc thực hiện kiểm thử phi chức năng, hãy liên hệ ngay với đội ngũ chuyên gia Business Analyst của Askany để được tư vấn và hỗ trợ ngay hôm nay.