1. Tổng quan về kỹ thuật test hộp đen
Trong quy trình kiểm thử phần mềm sử dụng chiến lược kiểm thử hộp đen gồm kiểm thử tích hợp và kiểm thử hệ thống.
Vậy kiểm thử hợp đen trong kiểm thử phần mềm là gì và mục đích của Kiểm thử họp đen ?
Một trong những chiến lược kiểm thử
quan trọng là kiểm thử hộp đen, hướng dữ liệu, hay hướng vào/ra. Kiểm thử hộp
đen xem chương trình như là một “hộp đen”.
Mục đích của bạn là hoàn toàn không
quan tâm về cách cư xử và cấu trúc bên trong của chương trình. Thay vào đó, tập
trung vào tìm các trường hợp mà chương trình không thực hiện theo các đặc tả của
nó.
Theo
hướng tiếp cận này, dữ liệu kiểm tra được lấy chỉ từ các đặc tả.
1.1. Các phương pháp kiểm thử hộp đen
·
Phân lớp tương đương – Equivalence partitioning.
·
Phân tích giá trị biên – Boundary value analysis.
·
Kiểm thử mọi cặp – All-pairs testing.
·
Kiểm thử fuzz – Fuzz testing.
·
Kiểm thử dựa trên mô hình – Model-based testing.
·
Ma trận dấu vết – Traceability matrix.
·
Kiểm thử thăm dò – Exploratory testing.
·
Kiểm thử dựa trên đặc tả – Specification-base testing.
Kiểm thử dựa trên đặc tả tập trung
vào kiểm tra tính thiết thực của phần mềm theo những yêu cầu thích hợp. Do đó,
kiểm thử viên nhập dữ liệu vào, và chỉ thấy dữ liệu ra từ đối tượng kiểm thử. Mức
kiểm thử này thường yêu cầu các ca kiểm thử triệt để được cung cấp cho kiểm thử
viên mà khi đó có thể xác minh là đối với dữ liệu đầu vào đã cho, giá trị đầu
ra (hay cách thức hoạt động) có giống với giá trị mong muốn đã được xác định
trong ca kiểm thử đó hay không. Kiểm thử dựa trên đặc tả là cần thiết, nhưng
không đủ để để ngăn chặn những rủi ro chắc chắn.
1.2. Ưu, nhược điểm của kiểm thử họp đen
Kiểm thử hộp đen không có mối liên
quan nào tới mã lệnh, và kiểm thử viên chỉ rất đơn giản tâm niệm là: một mã lệnh
phải có lỗi. Sử dụng nguyên tắc “ Hãy đòi hỏi và bạn sẽ được nhận”, những kiểm
thử viên hộp đen tìm ra lỗi mà những lập trình viên đã không tìm ra.
Nhưng, mặt
khác, người ta cũng nói kiểm thử hộp đen “giống như là đi trong bóng tối mà
không có đèn vậy”, bởi vì kiểm thử viên không biết các phần mềm được kiểm tra
thực sự được xây dựng như thế nào. Đó là lý do mà có nhiều trường hợp mà một kiểm
thử viên hộp đen viết rất nhiều ca kiểm thử để kiểm tra một thứ gì đó mà đáng lẽ
có thể chỉ cần kiểm tra bằng 1 ca kiểm thử duy nhất, và/hoặc một số phần của
chương trình không được kiểm tra chút nào.
Do vậy, kiểm thử hộp đen có ưu điểm
của “một sự đánh giá khách quan”, mặt khác nó lại có nhược điểm của “thăm dò
mù”.