Trong các nội dung sau nội dung nào không thuộc là kiểm thử hộp trắng?
A. Kỹ thuật kiểm thử dòng dữ liệu
B. Kỹ thuật kiểm thử dòng điều khiển
C. Kỹ thuật phân chia lớp tương đương
D. Tất cả các nội dung trên
Đáp án
Đáp án đúng: C
Kiểm thử hộp trắng (White-box testing) là một phương pháp kiểm thử phần mềm, trong đó cấu trúc bên trong, thiết kế và cách thực hiện của phần mềm được biết đến với người kiểm thử. Các kỹ thuật kiểm thử dòng dữ liệu và dòng điều khiển là các kỹ thuật thuộc kiểm thử hộp trắng. Kỹ thuật phân chia lớp tương đương là một kỹ thuật thuộc kiểm thử hộp đen (Black-box testing), trong đó người kiểm thử không cần biết về cấu trúc bên trong của phần mềm. Vì vậy, đáp án đúng là C.
Kiểm thử hộp trắng (White-box testing) là một phương pháp kiểm thử phần mềm, trong đó cấu trúc bên trong, thiết kế và cách thực hiện của phần mềm được biết đến với người kiểm thử. Các kỹ thuật kiểm thử dòng dữ liệu và dòng điều khiển là các kỹ thuật thuộc kiểm thử hộp trắng. Kỹ thuật phân chia lớp tương đương là một kỹ thuật thuộc kiểm thử hộp đen (Black-box testing), trong đó người kiểm thử không cần biết về cấu trúc bên trong của phần mềm. Vì vậy, đáp án đúng là C.
Kiểm thử hộp đen (Black-box testing) là một phương pháp kiểm thử phần mềm mà không yêu cầu kiến thức về cấu trúc bên trong, thiết kế hoặc cách triển khai của phần mềm. Nó tập trung vào việc kiểm tra chức năng của phần mềm dựa trên các yêu cầu và đặc tả. Các kỹ thuật kiểm thử hộp đen phổ biến bao gồm: phân vùng tương đương, phân tích giá trị biên, bảng quyết định, kiểm thử chuyển trạng thái và đoán lỗi.
Kiểm thử dòng điều khiển (Control flow testing) là một kỹ thuật kiểm thử hộp trắng (White-box testing), yêu cầu kiến thức về cấu trúc bên trong của phần mềm để thiết kế các trường hợp kiểm thử. Nó tập trung vào việc kiểm tra các đường dẫn thực thi khác nhau trong mã nguồn.
Vì vậy, kỹ thuật kiểm thử dòng điều khiển không phải là một kỹ thuật kiểm thử hộp đen.
Các lựa chọn còn lại: - Kỹ thuật phân chia lớp tương đương (B) là một kỹ thuật kiểm thử hộp đen, trong đó miền đầu vào được chia thành các lớp tương đương và mỗi lớp được kiểm tra bằng một số trường hợp kiểm thử. - Kỹ thuật phân tích giá trị biên (C) là một kỹ thuật kiểm thử hộp đen, tập trung vào việc kiểm tra các giá trị ở biên của miền đầu vào. - Lựa chọn (D) là sai vì không phải tất cả các nội dung trên đều là kỹ thuật kiểm thử hộp đen.
Kiểm thử dòng dữ liệu tĩnh (static data flow testing) là một kỹ thuật phân tích mã nguồn mà không cần thực thi chương trình. Mục tiêu chính là xác định các sai sót tiềm ẩn liên quan đến việc sử dụng dữ liệu, chẳng hạn như biến được gán giá trị nhưng không bao giờ được sử dụng, hoặc biến được sử dụng trước khi được gán giá trị. Những sai sót này được gọi là các bất thường của dòng dữ liệu (data flow anomaly). Do đó, đáp án D ("Tất cả các nội dung trên") là đáp án đúng vì nó bao gồm tất cả các khía cạnh của kiểm thử dòng dữ liệu tĩnh: xác định các bất thường, phân tích mã nguồn và không chạy mã nguồn.
Trong đồ thị dòng dữ liệu G = (N, E), N là tập các nút (node), mỗi nút biểu diễn một phép toán hoặc một khối lệnh cơ bản trong chương trình. E là tập các cạnh (edge), mỗi cạnh biểu diễn sự phụ thuộc dữ liệu giữa các phép toán hoặc các khối lệnh. Vì vậy, N là tập các nút, không phải tập các cạnh.
Trong đồ thị dòng dữ liệu (Data Flow Graph) G = (N, E), N là tập các nút (nodes) đại diện cho các phép toán hoặc biến, và E là tập các cạnh (edges) đại diện cho dòng dữ liệu giữa các nút này. Mỗi cạnh trong E biểu diễn sự phụ thuộc dữ liệu, tức là dữ liệu từ một nút này được sử dụng bởi một nút khác. Vì vậy, phát biểu "E là tập các cạnh" là đúng.