Kiểm thử phần mềm
Tìm cặp ca cho từng điều kiện trong biểu thức logic
Thay đúng một điều kiện để quan sát ảnh hưởng độc lập lên quyết định.
Thích và đánh giá Bình luận và hỏi đáp1. Đề bài
Hệ thống cho nộp bài khi có tài khoản và thỏa ít nhất một trong hai điều kiện đã đăng ký lớp hoặc có mã mời. Gọi ba điều kiện là A, B, C. Tìm các cặp ca để mỗi điều kiện có một lần tự làm đổi kết quả của A và (B hoặc C).
2. Chọn bộ ca nhỏ
Bắt đầu từ 110. Đổi A tạo 010 và làm kết quả đổi. Đổi B ở 110 tạo 100 và cũng làm kết quả đổi. Để chứng minh vai trò của C, dùng 100 và 101. Ba cặp dùng tổng cộng bốn bộ dữ liệu khác nhau.
3. Đối chiếu lời giải
Mẫu kiểm tra rằng trong mỗi cặp chỉ thay một vị trí và quyết định đổi giá trị. Đây là bài tập về ảnh hưởng độc lập theo giá trị logic. Với chương trình dùng đoản mạch, cách công cụ ghi nhận điều kiện được đánh giá cần kiểm tra riêng.
Chạy ví dụ bằng python hoc_test_cap_ca_mcdc.py.
Môi trường thực hành. Python 3.10 trở lên. Ví dụ dùng thư viện chuẩn Python.
def quyet_dinh(bo):
a, b, c = bo
return a and (b or c)
cap = [
((1, 1, 0), (0, 1, 0)),
((1, 1, 0), (1, 0, 0)),
((1, 0, 0), (1, 0, 1)),
]
for i, (x, y) in enumerate(cap):
assert [j for j in range(3) if x[j] != y[j]] == [i]
assert quyet_dinh(x) != quyet_dinh(y)
print("Ba điều kiện có cặp ca kiểm tra ảnh hưởng độc lập.")4. Bài tập mở rộng
Đổi biểu thức thành A và B và C. Chọn một ca đúng và ba ca sai, mỗi ca sai đúng một điều kiện. Sau đó giải thích vì sao một ca có hai điều kiện sai khó chỉ ra ảnh hưởng riêng của từng điều kiện.