1. Black box testing
Là phương pháp test mà không biết bên trong code có những gì, thực hiện như thế nào. Phương pháp test này bao gồm: equivalence partitioning, boundary value analysis, all-pairs testing, fuzz testing, model-based testing, traceability matrix, exploratory testing and specification-based testing.
Specification-based testing (Test dựa vào chức năng)
Là cách test các chức năng của phần mềm dựa theo yêu cầu của khách hàng, các thực hiện, các tester nhập data và chỉ thấy được kết quả trên màn hình.
Specification-based testing là cần thiết nhưng không đủ để bảo đảm sạch bug.
2. White box testing
Phương pháp này ngược với black box testing, tester có thể thấy được cấu trúc và thuật toán bên trong phần mềm
Các loại test được dùng trong whitebox testing:
- a. api testing – Kiểm tra ứng dụng sử dụng các Public API và Private API.
b. code coverage – Kiểm tra các điều kiện bao phủ các câu lệnh, ví dụ: tạo data sao cho chương trình có thể chạy qua tất cả các nhánh của code ít nhất là 1 lần (các câu lệnh rẽ nhánh).
c. fault injection.
d. mutation testing.
e. static testing – bao gồm tất cả các phương pháp test tĩnh.
f. Code completeness evaluation
Vài năm gần đây thuật ngữ grey box mới được dùng phổ biến. phương pháp này cho phép sử dụng cấu trúc và thuật toán bên trong chương trình để thiết kế testcase. Nhưng khi test thì tester thực hiện như blackbox.
4. Kiểm tra chấp nhận (Acceptance testing)
Acceptance testing có thể có một trong hai nghĩa sau:
- a. smoke test được sử dụng như là acceptance test trước khi tiến hành test.
b. Thực hiện acceptance testing bởi khách hàng để xem chương trình có đáp ứng được yêu cầu của họ chưa. (viết tắt là UAT - User Acceptance Testing)
Sau khi PG sửa bug xong, cần phải test lại để đảm bảo rằng việc sửa bug không gây ra sai sót khác.
6. Kiểm tra đặc điểm của phần mềm (non-function)
Trái ngược với test chức năng, phương pháp test này không quan tâm đến chức năng của phần mềm mà chỉ quan tâm đến giao diện bên ngoài của phần mềm. Chú ý các phương pháp test sau:
- - Performance testing
- Usability testing.
- Security testing
- Tính bao quát của phần mềm, phạm vi sử dụng quốc tế hay nội bộ (phần mềm chỉ dùng trong nội bộ công ty hay được dùng rộng rãi trên internet)