News & Events
Tìm hiểu kiểm thử phi chức năng là gì? Và các loại Non-functional Testing
- Tháng Bảy 30, 2024
- Posted by: SEOMKT
- Category: Uncategorized
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.
Kiểm thử phi chức năng là gì?
Kiểm thử phi chức năng (Non-functional Testing) là một loại kiểm thử phần mềm nhằm đánh giá các yếu tố không liên quan trực tiếp đến các chức năng cụ thể của phần mềm, mà thường là các yếu tố liên quan đến hiệu suất, bảo mật, độ tin cậy, khả năng mở rộng, sự sẵn sàng và các yêu cầu hệ thống khác. Mục tiêu của kiểm thử phi chức năng là đảm bảo rằng phần mềm hoạt động không chỉ chính xác về chức năng mà còn đáp ứng các yêu cầu về hiệu suất và các tiêu chí chất lượng khác. Một vài ví dụ về kiểm thử phi chức năng:
+ Kiểm thử hiệu suất (Performance Testing): Đánh giá và đo lường hiệu suất của hệ thống trong điều kiện khác nhau.
Ví dụ: Kiểm tra tải và xem xét khả năng xử lý của ứng dụng khi có nhiều người dùng truy cập cùng một lúc.
+ Kiểm thử độ tin cậy (Reliability Testing): Đánh giá khả năng của phần mềm hoạt động một cách ổn định trong thời gian dài và trong các điều kiện bất thường.
Ví dụ: Kiểm tra hệ thống để xác định bao nhiêu lần lỗi xảy ra trong một khoảng thời gian nhất định.
+ Kiểm thử bảo mật (Security Testing): Đảm bảo rằng hệ thống an toàn và bảo vệ dữ liệu người dùng.
Ví dụ: Kiểm tra các lỗ hổng bảo mật như SQL Injection, XSS để đảm bảo rằng phần mềm không dễ bị tấn công.
+ Kiểm thử khả năng mở rộng (Scalability Testing): Đánh giá khả năng của hệ thống mở rộng để xử lý thêm khối lượng công việc.
Ví dụ: Kiểm tra xem hệ thống có thể mở rộng mà không ảnh hưởng đến hiệu suất và độ tin cậy hay không.
+ Kiểm thử sẵn sàng (Availability Testing): Đánh giá khả năng của hệ thống để sẵn sàng hoạt động và phục vụ người dùng.
Ví dụ: Kiểm tra thời gian hệ thống có sẵn sàng và sẵn sàng phục vụ người dùng khi có nhu cầu.
Các loại kiểm thử phi chức năng này là quan trọng để đảm bảo rằng phần mềm không chỉ đáp ứng các yêu cầu chức năng mà còn đảm bảo các tiêu chí chất lượng quan trọng khác của hệ thống. Đây là phần không thể thiếu trong quá trình phát triển và kiểm thử phần mềm để đảm bảo rằng sản phẩm cuối cùng là ổn định, an toàn và có hiệu suất cao.
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 cần biết
Kiểm thử phi chức năng là một phần quan trọng trong quá trình kiểm thử phần mềm, tập trung vào các yếu tố không phải là chức năng cụ thể của phần mềm mà thường là các yếu tố quan trọng khác như hiệu suất, bảo mật, độ tin cậy, khả năng sử dụng và khả năng tương thích. Dưới đây là các loại kiểm thử phi chức năng phân theo từng nhóm chính:
1. Kiểm thử hiệu suất và Khả năng vận hành
Kiểm thử hiệu năng (Performance Testing): Đánh giá khả năng xử lý, thời gian phản hồi và tải của hệ thống trong các điều kiện khác nhau.
Kiểm thử tải (Load Testing): Kiểm tra khả năng của hệ thống khi có nhiều người dùng truy cập đồng thời.
Kiểm thử khả năng mở rộng (Scalability Testing): Đánh giá khả năng của hệ thống để mở rộng và xử lý khối lượng công việc lớn hơn.
Kiểm thử bảo trì (Maintainability Testing): Đánh giá khả năng của hệ thống để dễ dàng bảo trì, cập nhật và sửa chữa.
Kiểm thử khối lượng (Volume Testing): Kiểm tra khả năng của hệ thống khi xử lý dữ liệu lớn.
2. Kiểm thử bảo mật và Khả năng phục hồi
Kiểm thử bảo mật (Security Testing): Đảm bảo rằng hệ thống an toàn và bảo vệ dữ liệu người dùng.
Kiểm thử khắc phục thảm họa (Disaster Recovery Testing): Đánh giá khả năng của hệ thống để phục hồi và hoạt động lại sau sự cố.
Kiểm thử tuân thủ (Compliance Testing): Kiểm tra xem hệ thống có tuân thủ các quy chuẩn, quy định và luật pháp liên quan hay không.
3. Kiểm thử độ tin cậy và Khả năng sử dụng
Kiểm thử áp lực (Stress Testing): Đánh giá khả năng của hệ thống khi chịu tải cao hơn mức tối đa có thể chấp nhận được.
Kiểm thử độ tin cậy (Reliability Testing): Đánh giá khả năng của hệ thống hoạt động ổn định trong thời gian dài và trong các điều kiện bất thường.
Kiểm thử cơ bản (Baseline Testing): Đánh giá hiệu suất cơ bản của hệ thống để so sánh với các thay đổi sau này.
Kiểm thử độ bền (Endurance Testing): Đánh giá khả năng của hệ thống để hoạt động liên tục trong thời gian dài.
Kiểm thử khả năng sử dụng (Usability Testing): Đánh giá mức độ dễ sử dụng của hệ thống từ perspectiv người dùng.
4. Kiểm thử di động và Khả năng tương thích
Kiểm thử tính di động (Portability Testing): Đánh giá khả năng của hệ thống để di chuyển, triển khai và hoạt động trên nhiều môi trường khác nhau.
Kiểm thử quốc tế hóa (Internationalization Testing): Đánh giá khả năng của hệ thống để hỗ trợ và làm việc với nhiều ngôn ngữ, văn hóa khác nhau.
Kiểm thử chuyển đổi dự phòng (Failover Testing): Đánh giá khả năng của hệ thống để chuyển đổi sang hệ thống dự phòng khi hệ thống chính gặp sự cố.
Kiểm thử tương thích (Compatibility Testing): Đánh giá khả năng của hệ thống để hoạt động chính xác và tương thích với các phần mềm, phần cứng và môi trường khác nhau.
5. Kiểm thử hiệu quả và Tài liệu
Kiểm thử hiệu quả (Efficiency Testing): Đánh giá hiệu suất của hệ thống liên quan đến tài nguyên như bộ nhớ, CPU và băng thông.
Kiểm thử tài liệu (Documentation Testing): Đánh giá tính chính xác, đầy đủ và dễ sử dụng của tài liệu hướng dẫn và tài liệu liên quan.
6. Kiểm thử phục hồi và Nội địa hóa
Kiểm thử phục hồi (Recovery Testing): Đánh giá khả năng của hệ thống để phục hồi và hoạt động lại sau khi xảy ra sự cố.
Kiểm thử nội địa hóa (Localization Testing): Đánh giá khả năng của hệ thống để thích nghi và hỗ trợ người dùng ở các khu vực, vùng miền khác nhau.
Ví dụ về Test Case trong kiểm thử phi chức năng
Bài viết trên đã trình bày cho các bạn nội dung về kiểm thử phi chức năng và ví dụ về nó.