Nếu các bạn là dân tester thì rất quen thuộc với những phương pháp kiểm thử cơ bản Functional vs. Non-functional Testing. Hôm nay Testerprovn sẽ giới thiệu về kiểm thử chức năng và kiểm thử phi chức năng (Functional vs. Non-functional Testing) .
-
Kiểm thử chức năng (Functional Testing)
Kiểm thử chức năng (hay Functional Testing) là một trong các quy trình đảm bảo chất lượng của lĩnh vực kiểm thử phần mềm. Đây là một loại kiểm thử hộp đen (black box testing
), tức là các trường hợp nó cần xét đến sẽ dựa vào đặc tả của ứng dụng/phần mềm hoặc hệ thống đang thử nghiệm. Các chức năng sẽ được kiểm tra bằng cách nhập các giá trị đầu vào và sau đó sẽ kiểm tra, đánh giá các kết quả đầu ra mà không cần quan tâm đến các cấu trúc hay cài đặt bên trong của ứng dụng.
Kiểm thử chức năng là một quy trình so sánh sự khác biệt giữa đặc tả bên ngoài của phần mềm với các chức năng thực tế mà phần mềm cung cấp. Các đặc tả này phần nhiều sẽ dựa vào góc nhìn của người sử dụng về phần mềm, không liên quan đến các công nghệ sử dụng hay các thiết lập bên trong nó.
Kiểm thử chức năng bao gồm kiểm tra ứng theo yêu cầu hoạt động thực tế của phần mềm. Kết hợp tất cả các phương pháp kiểm thử được thiết kế để đảm bảo từng phần một của phần mềm hoạt động như mong đợi, bằng cách sử dụng các trường hợp sử dụng (uses cases) được cung cấp bởi nhóm thiết kế hoặc nhà phân tích kinh doanh (BA). Các phương pháp kiểm tra này thường được tiến hành theo thứ tự và bao gồm:
_ Kiểm thử đơn vị (Unit testing)
_ Kiểm thử tích hợp (Integration testing)
_ Kiểm thử hệ thống (System testing)
_ Kiểm thử chấp nhận (Acceptance testing)
Thông thường kiểm thử chức năng sẽ tiến hành theo 6 bước sau:
- Xác định các chức năng mà phần mềm dự kiến sẽ làm (dựa vào đặc tả của phần mềm)
- Xác định bộ dữ liệu đầu vào dựa trên các thông số kỹ thuật của chức năng
- Xác định bộ dữ liệu đầu ra dựa trên các thông số kỹ thuật của chức năng
- Viết và thực thi các trường hợp kiểm thử (
test case
) - So sánh kết quả đầu ra chuẩn bị ở bước 3 và kết quả thực tế
- Dựa vào nhu cầu của khách hàng để đánh giá xem kết quả ở bước 5 có phù hợp hay không
2. Kiểm thử phi chức năng (Non-functional Testing)
Kiểm thử phi chức năng được định nghĩa là một loại kiểm thử Phần mềm để kiểm thử các khía cạnh phi chức năng (hiệu suất, khả năng sử dụng, độ tin cậy, v.v.) của ứng dụng phần mềm. Nó được thiết kế để kiểm thử mức độ sẵn sàng của một hệ thống theo các tham số phi chức năng mà không được giải quyết bằng kiểm thử chức năng.
Một ví dụ về Kiểm thử phi chức năng là kiểm thử xem có bao nhiêu người có thể đăng nhập đồng thời vào một phần mềm.
Các phương pháp kiểm thử phi chức năng kết hợp tất cả các loại kiểm thử tập trung vào các khía cạnh hoạt động của một phần mềm. Bao gồm:
_Kiểm thử hiệu suất (Performance testing)
_Kiểm thử bảo mật (Security testing)
_Kiểm thử khả năng sử dụng (Usability testing)
_Kiểm thử khả năng tương thích (Compatibility testing)
Chìa khóa để phát hành phần mềm chất lượng cao mà người dùng cuối có thể dễ dàng chấp nhận là xây dựng một mô hình kiểm thử toàn diện, trong đó bao gồm đồng bộ kiểm thử chức năng và phi chức năng.
Đặc điểm của kiểm thử phi chức năng
- Kiểm thử phi chức năng không thể đ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.
- Các con số chính xác không thể được biết khi bắt đầu quy trình
- Các yêu cầu quan trọng được ưu tiên
- Đảm bảo rằng các thuộc tính chất lượng được xác định chính xác trong Kỹ thuật phần mềm.