Ôn tập Kiểm thử Phần mềm: Bảng quyết định Decision Table

Tổng hợp bộ câu hỏi trắc nghiệm kiểm thử phần mềm về kỹ thuật Bảng quyết định (Decision Table). Giúp bạn nắm vững lý thuyết, cách lập bảng và tối ưu hóa bộ test case hiệu quả. Có đáp án chi tiết.

Từ khoá: kiểm thử phần mềm bảng quyết định decision table kỹ thuật thiết kế kịch bản kiểm thử trắc nghiệm kiểm thử phần mềm bài tập bảng quyết định

Số câu hỏi: 80 câuSố mã đề: 2 đềThời gian: 1 giờ

Xem trước nội dung
Câu 19: 0.25 điểm
Trong một bảng quyết định, "Stub" là thuật ngữ dùng để chỉ:
A.  
Các giá trị True/False trong bảng.
B.  
Công cụ giả lập hệ thống bên thứ 3.
C.  
Một test case bị fail.
D.  
Phần danh sách các điều kiện và hành động ở phía bên trái của bảng.
Câu 20: 0.25 điểm
Phân tích tình huống: Nếu tuổi >= 18 và Có bằng lái xe, thì được phép Thuê ô tô. Số lượng điều kiện ở đây là bao nhiêu?
A.  
2 điều kiện.
B.  
3 điều kiện.
C.  
1 điều kiện.
D.  
4 điều kiện.
Câu 1: 0.25 điểm
Định nghĩa nào sau đây mô tả đúng nhất về Bảng quyết định (Decision Table) trong kiểm thử phần mềm?
A.  
Kỹ thuật kiểm thử hộp trắng dùng để đo lường độ bao phủ dòng lệnh.
B.  
Kỹ thuật dựa trên cấu trúc để phân tích luồng dữ liệu của chương trình.
C.  
Kỹ thuật kiểm thử hộp đen được sử dụng để mô hình hóa các quy tắc nghiệp vụ logic phức tạp.
D.  
Công cụ quản lý lỗi phần mềm trong quá trình thực thi kiểm thử.
Câu 2: 0.25 điểm
Bảng quyết định thường được chia thành mấy phần chính?
A.  
2 phần: Điều kiện và Quy tắc.
B.  
4 phần: Các điều kiện, Các hành động, Các kết hợp điều kiện và Các chỉ thị hành động.
C.  
3 phần: Đầu vào, Quá trình xử lý, Đầu ra.
D.  
5 phần: Nguyên nhân, Kết quả, Quy tắc, Rút gọn, Độ bao phủ.
Câu 3: 0.25 điểm
Nếu một hệ thống có nn điều kiện đầu vào (mỗi điều kiện là kiểu Boolean True/False), công thức nào tính số lượng quy tắc (rules) tối đa có thể có trong bảng quyết định?
A.  
2n2^n
B.  
n2n^2
C.  
2×n2 \times n
D.  
n!n!
Câu 21: 0.25 điểm
Sự khác biệt chính giữa Bảng quyết định (Decision Table) và Cây quyết định (Decision Tree) là gì?
A.  
Cây quyết định dùng cho kiểm thử hộp đen, Bảng quyết định dùng cho hộp trắng.
B.  
Bảng quyết định chỉ dùng cho hệ thống web, Cây quyết định dùng cho hệ thống mobile.
C.  
Bảng quyết định thể hiện dạng lưới/cột, dễ thấy tất cả tổ hợp; Cây quyết định biểu diễn luồng đi theo dạng nhánh rẽ trực quan hơn nhưng khó hiển thị quy mô lớn.
D.  
Cây quyết định không thể rút gọn được như Bảng quyết định.
Câu 4: 0.25 điểm
Trong Bảng quyết định, ký hiệu gạch ngang "-" (Dash) thể hiện điều gì?
A.  
Điều kiện đó bắt buộc phải sai (False).
B.  
Hành động đó không được phép thực thi.
C.  
Giá trị của điều kiện bị thiếu và gây ra lỗi.
D.  
Không quan tâm (Don't care) - giá trị của điều kiện này True hay False đều không ảnh hưởng đến kết quả.
Câu 5: 0.25 điểm
Tại sao chúng ta cần rút gọn (Collapse) bảng quyết định?
A.  
Để chuyển từ kiểm thử hộp đen sang hộp trắng.
B.  
Để loại bỏ các hành động không cần thiết của hệ thống.
C.  
Để giảm bớt số lượng test case cần thiết mà vẫn đảm bảo độ bao phủ các kịch bản logic.
D.  
Để tăng số lượng lỗi tìm thấy trong quá trình thực thi.
Câu 6: 0.25 điểm
Mức độ bao phủ (Coverage) cơ bản nhất của kỹ thuật Bảng quyết định là gì?
A.  
Bao phủ 100% các điều kiện (Condition Coverage).
B.  
Có ít nhất một test case cho mỗi cột (Quy tắc - Rule) trong bảng quyết định.
C.  
Bao phủ 100% các dòng mã nguồn (Statement Coverage).
D.  
Có ít nhất một test case cho mỗi hành động (Action) độc lập.
Câu 7: 0.25 điểm
Đặc điểm nào của hệ thống cho thấy kỹ thuật Bảng quyết định là lựa chọn tối ưu nhất để thiết kế test case?
A.  
Hệ thống có nhiều trạng thái chuyển đổi liên tục theo thời gian.
B.  
Hệ thống yêu cầu nhập số lượng lớn dữ liệu số nguyên.
C.  
Hệ thống có giao diện người dùng (UI) phức tạp.
D.  
Hệ thống có các quy tắc nghiệp vụ phụ thuộc vào sự kết hợp của nhiều điều kiện logic đầu vào.
Câu 8: 0.25 điểm
Một bảng quyết định có 3 điều kiện (A, B, C) kiểu Boolean. Tổng số cột (quy tắc) chưa rút gọn sẽ là bao nhiêu?
A.  
8
B.  
6
C.  
9
D.  
16
Câu 9: 0.25 điểm
Quy tắc 1 có A=T, B=T, C=F dẫn đến Hành động X. Quy tắc 2 có A=T, B=F, C=F cũng dẫn đến Hành động X. Rút gọn 2 quy tắc này ta được gì?
A.  
A=T, B=T, C=- dẫn đến Hành động X.
B.  
A=-, B=-, C=F dẫn đến Hành động X.
C.  
A=T, B=-, C=F dẫn đến Hành động X.
D.  
Không thể rút gọn được 2 quy tắc này.
Câu 10: 0.25 điểm
Trong quá trình xây dựng Bảng quyết định (Procedural Knowledge), bước nào thường được thực hiện ngay SAU khi xác định tất cả các Điều kiện (Conditions) và Hành động (Actions)?
A.  
Viết test case chi tiết lên công cụ quản lý test.
B.  
Tạo lập các cột chứa tất cả các tổ hợp (combinations) có thể có của các điều kiện.
C.  
Rút gọn bảng quyết định ngay lập tức.
D.  
Tính toán mức độ bao phủ mã nguồn.
Câu 22: 0.25 điểm
Làm thế nào để xác định số lượng Test Case tối thiểu cần thiết sau khi áp dụng kỹ thuật Decision Table?
A.  
Bằng tổng số điều kiện cộng với số hành động.
B.  
Bằng số lượng các Quy tắc (Rules) còn lại sau khi đã thực hiện rút gọn bảng (Collapse).
C.  
Luôn luôn là 2n2^n bất kể đã rút gọn hay chưa.
D.  
Bằng số lượng các giá trị Không quan tâm (Don't care).
Câu 11: 0.25 điểm
Kỹ thuật Bảng quyết định thuộc nhóm kỹ thuật kiểm thử nào theo phân loại của ISTQB?
A.  
Kỹ thuật dựa trên kinh nghiệm (Experience-based).
B.  
Kỹ thuật dựa trên cấu trúc (Structure-based/White-box).
C.  
Kỹ thuật kiểm thử hồi quy (Regression Testing).
D.  
Kỹ thuật dựa trên đặc tả (Specification-based/Black-box).
Câu 12: 0.25 điểm
Khi một hệ thống có các điều kiện đầu vào không chỉ là True/False mà có nhiều giá trị rời rạc (Ví dụ: Màu sắc có Xanh, Đỏ, Vàng), bảng quyết định này được gọi là gì?
A.  
Bảng quyết định mở rộng (Extended Entry Decision Table).
B.  
Bảng quyết định nhị phân (Binary Decision Table).
C.  
Bảng quyết định giới hạn (Limited Entry Decision Table).
D.  
Bảng trạng thái (State Table).
Câu 13: 0.25 điểm
Giả sử có một quy tắc: Khách hàng là VIP (True), Mua hàng > 1 triệu (True). Hành động: Giảm giá 20%. Để kiểm thử quy tắc này, tester cần làm gì?
A.  
Thiết kế test case với một khách hàng thường mua hàng dưới 1 triệu.
B.  
Thiết kế test case kiểm tra xem giảm giá 20% có áp dụng cho mọi khách hàng không.
C.  
Thiết kế một test case chọn tài khoản VIP và thực hiện đơn hàng có giá trị lớn hơn 1 triệu, sau đó kiểm tra hóa đơn có giảm 20% không.
D.  
Đo lường thời gian phản hồi của hệ thống khi tính toán giảm giá.
Câu 14: 0.25 điểm
Hạn chế lớn nhất của kỹ thuật Bảng quyết định là gì?
A.  
Không thể tìm được các lỗi logic.
B.  
Khi số lượng điều kiện tăng lên, bảng sẽ bùng nổ tổ hợp kích thước rất lớn và khó quản lý.
C.  
Chỉ áp dụng được cho ngôn ngữ lập trình hướng đối tượng.
D.  
Yêu cầu tester phải biết viết code (lập trình) thành thạo.
Câu 15: 0.25 điểm
Một hệ thống cấp khoản vay có 4 điều kiện. Sau khi lập bảng đầy đủ, có bao nhiêu quy tắc? Và điều gì sẽ xảy ra nếu 2 quy tắc có cùng điều kiện nhưng lại dẫn đến các hành động khác nhau?
A.  
16 quy tắc. Hệ thống hoạt động bình thường, tester chỉ cần viết 2 test cases.
B.  
8 quy tắc. Tài liệu đặc tả bị sai logic.
C.  
32 quy tắc. Hệ thống sẽ tự động chọn hành động an toàn nhất.
D.  
16 quy tắc. Đây là sự mâu thuẫn (ambiguity) trong đặc tả yêu cầu cần được báo cáo lại cho BA (Business Analyst).
Câu 16: 0.25 điểm
Thuật ngữ "Mutually Exclusive Conditions" (Các điều kiện loại trừ lẫn nhau) ảnh hưởng thế nào đến Bảng quyết định?
A.  
Các quy tắc chứa sự kết hợp của các điều kiện loại trừ nhau được coi là quy tắc bất khả thi (Impossible rules) và có thể loại bỏ.
B.  
Nó làm tăng số lượng quy tắc trong bảng lên gấp đôi.
C.  
Nó bắt buộc hệ thống phải tạo ra thêm hành động mới.
D.  
Nó không ảnh hưởng gì, tester vẫn phải test toàn bộ.
Câu 17: 0.25 điểm
Độ bao phủ bảng quyết định (Decision Table Coverage) được tính bằng công thức nào?
A.  
(Số lượng điều kiện đã test / Tổng số điều kiện) * 100%
B.  
(Số lượng lỗi tìm thấy / Tổng số test case) * 100%
C.  
(Số lượng các quy tắc đã được thực thi bởi test case / Tổng số quy tắc trong bảng) * 100%
D.  
(Số test case pass / Tổng số test case) * 100%
Câu 18: 0.25 điểm
Trong trường hợp nào Kỹ thuật Đồ thị nhân quả (Cause-Effect Graphing) thường được dùng kết hợp với Bảng quyết định?
A.  
Khi kiểm thử hiệu năng (Performance Testing) của hệ thống.
B.  
Khi các điều kiện đầu vào có mối quan hệ phụ thuộc và ràng buộc phức tạp, giúp biểu diễn trực quan trước khi chuyển thành bảng.
C.  
Khi muốn kiểm thử cấu trúc cơ sở dữ liệu.
D.  
Khi muốn vẽ sơ đồ tư duy (Mindmap) cho buổi họp dự án.
Câu 23: 0.25 điểm
Khi phân tích tài liệu, câu "Hệ thống sẽ cấp thẻ tín dụng nếu khách hàng trên 20 tuổi HOẶC có thu nhập trên 10 triệu" thể hiện loại quan hệ logic nào?
A.  
Logic AND.
B.  
Logic XOR.
C.  
Logic NOT.
D.  
Logic OR.
Câu 24: 0.25 điểm
Nếu kiểm thử viên quên không đưa một điều kiện quan trọng vào Bảng quyết định, hậu quả lớn nhất là gì?
A.  
Sẽ bỏ sót các kịch bản kiểm thử (Test cases) quan trọng, làm giảm chất lượng phần mềm.
B.  
Bảng quyết định sẽ bị lỗi syntax và không thể vẽ được.
C.  
Không ảnh hưởng gì vì kỹ thuật khác sẽ bù đắp.
D.  
Test case chạy sẽ luôn luôn Pass.
Câu 25: 0.25 điểm
Hãy áp dụng: Quy tắc 1: Login=T, Mật khẩu=T -> Thành công. Quy tắc 2: Login=T, Mật khẩu=F -> Báo lỗi. Có thể rút gọn 2 quy tắc này được không?
A.  
Có, vì chung điều kiện Login=T.
B.  
Có, thành Login=T, Mật khẩu=-.
C.  
Không, vì Hành động đầu ra của chúng khác nhau (Thành công vs Báo lỗi).
D.  
Không, vì phải có 3 quy tắc mới được rút gọn.
Câu 26: 0.25 điểm
"Action Entries" trong Bảng quyết định dùng để làm gì?
A.  
Mô tả các bước thực thi (Steps to reproduce).
B.  
Đánh dấu (thường là X hoặc Dấu tích) các hành động nào sẽ được thực thi tương ứng với tổ hợp điều kiện của cột đó.
C.  
Chứa các dữ liệu test giả (Mock data).
D.  
Chỉ ra ai là người chịu trách nhiệm cho rule đó.
Câu 27: 0.25 điểm
Bài toán: Hệ thống tính phí ship. Nội thành = T/F, Giao gấp = T/F, Khách VIP = T/F. Số lượng kịch bản gốc là 8. Nếu Khách VIP = T thì luôn Miễn phí ship bất kể Nội thành hay Giao gấp. Số lượng test case sau khi rút gọn tối đa là bao nhiêu?
A.  
6
B.  
8
C.  
4
D.  
5
Câu 28: 0.25 điểm
Mối quan hệ giữa Phân vùng tương đương (Equivalence Partitioning) và Bảng quyết định là gì?
A.  
Phân vùng tương đương thường được dùng để chọn ra các giá trị đại diện cho các điều kiện (Conditions) True/False trong Bảng quyết định.
B.  
Chúng là hai tên gọi khác nhau của cùng một kỹ thuật.
C.  
Bảng quyết định thay thế hoàn toàn việc phải làm Phân vùng tương đương.
D.  
Phân vùng tương đương là kỹ thuật hộp trắng, Bảng quyết định là hộp đen.
Câu 29: 0.25 điểm
Một Tester thiết kế 1 test case bao phủ 2 quy tắc (Rules) khác nhau trong một Bảng quyết định (bằng cách thực thi 2 lần với data khác nhau). Điều này thể hiện thuộc tính gì?
A.  
Sự lãng phí tài nguyên.
B.  
Tính không khả thi.
C.  
Một Test case có thể kết hợp nhiều quy tắc, nhưng thông thường để dễ truy vết (traceability), 1 Test case nên map 1-1 với 1 Quy tắc logic.
D.  
Lỗi thiết kế hệ thống.
Câu 30: 0.25 điểm
"Limited Entry Decision Table" (Bảng quyết định nhập hạn chế) là bảng mà:
A.  
Chỉ cho phép tối đa 4 quy tắc.
B.  
Tất cả các ô điều kiện (Condition Entries) chỉ chứa giá trị nhị phân như True/False hoặc Yes/No.
C.  
Chỉ áp dụng cho các module nhỏ của phần mềm.
D.  
Được tạo ra bởi người dùng thay vì Tester.
Câu 31: 0.25 điểm
Điều nào sau đây là MỘT ưu điểm lớn của Bảng quyết định khi làm việc chung với team (BA, Dev, Tester)?
A.  
Nó tự động tạo ra mã nguồn (code) cho Dev.
B.  
Nó tự động chạy automation test.
C.  
Nó thay thế hoàn toàn tài liệu yêu cầu (SRS).
D.  
Nó cung cấp một cái nhìn rõ ràng, súc tích và dễ hiểu về các logic phức tạp mà ngôn ngữ tự nhiên thường làm rối.
Câu 32: 0.25 điểm
Hành động nào của Tester thể hiện cấp độ "Phân tích" (Analyze) theo thang Bloom khi làm việc với Bảng quyết định?
A.  
Đối chiếu Bảng quyết định với đặc tả yêu cầu để phát hiện các kịch bản bị mâu thuẫn hoặc chưa được định nghĩa.
B.  
Vẽ lại bảng quyết định ra file Excel.
C.  
Chạy các test case đã có sẵn trên Bảng quyết định.
D.  
Định nghĩa Bảng quyết định là gì.
Câu 33: 0.25 điểm
Một điều kiện (Condition) trong Bảng quyết định bắt buộc phải là một mệnh đề gì?
A.  
Mệnh đề chứa từ khóa IF.
B.  
Mệnh đề toán học có chứa dấu bằng.
C.  
Một mệnh đề logic có thể đánh giá tính đúng hoặc sai (True/False).
D.  
Một câu hỏi mở.
Câu 34: 0.25 điểm
Bảng quyết định có thể phát hiện lỗi loại nào tốt nhất trong các loại sau?
A.  
Lỗi giao diện (UI) lệch pixel.
B.  
Lỗi rò rỉ bộ nhớ (Memory Leak).
C.  
Lỗi bỏ sót các trường hợp ngoại lệ liên quan đến nghiệp vụ phức tạp.
D.  
Lỗi bảo mật SQL Injection.
Câu 35: 0.25 điểm
Khi lập Bảng quyết định cho một hệ thống bán hàng, bạn nhận thấy có một quy tắc (Rule) không có bất kỳ Hành động (Action) nào được đánh dấu. Bạn nên xử lý thế nào?
A.  
Tự động tích chọn hành động "Show error".
B.  
Xóa quy tắc đó đi vì nó không có ý nghĩa.
C.  
Tạo một hành động ngẫu nhiên để test case có thể pass.
D.  
Phân tích lại đặc tả yêu cầu hoặc hỏi BA xem hệ thống sẽ phản hồi thế nào trong tổ hợp điều kiện này.
Câu 36: 0.25 điểm
Bảng quyết định có hữu ích trong kiểm thử Tích hợp (Integration Testing) không?
A.  
Có, nó có thể dùng để mô hình hóa logic tương tác giữa các hệ thống hoặc API với nhau dựa trên nhiều điều kiện trả về.
B.  
Không, nó chỉ dùng cho kiểm thử Đơn vị (Unit Testing).
C.  
Không, nó chỉ dùng cho kiểm thử Chấp nhận (UAT).
D.  
Có, nhưng chỉ khi tất cả các hệ thống dùng chung 1 database.
Câu 37: 0.25 điểm
Quy trình 4 bước cơ bản để áp dụng Kỹ thuật Bảng quyết định là:
A.  
Viết Test case -> Xác định Điều kiện -> Xác định Hành động -> Rút gọn bảng.
B.  
Tạo Automation script -> Chạy script -> Báo lỗi -> Cập nhật bảng.
C.  
Xác định Điều kiện và Hành động -> Tính số lượng Quy tắc -> Điền giá trị vào bảng -> Rút gọn và viết Test case.
D.  
Đọc tài liệu -> Báo lỗi -> Tạo Test plan -> Báo cáo sếp.
Câu 38: 0.25 điểm
Theo chuẩn ISTQB, Bảng quyết định được khuyến nghị sử dụng khi đặc tả yêu cầu chứa các câu có dạng gì?
A.  
Vòng lặp For...While.
B.  
Câu điều kiện phức hợp If...Then...Else có liên kết bởi AND/OR.
C.  
Các câu truy vấn SQL.
D.  
Các thiết kế đồ họa.
Câu 39: 0.25 điểm
Khái niệm "Don't care" trong Bảng quyết định giúp ích gì cho lập trình viên (Developer)?
A.  
Giúp họ bỏ qua việc fix bug.
B.  
Giúp họ xóa các dòng code thừa.
C.  
Giúp họ bỏ qua việc test.
D.  
Chỉ ra những điều kiện mà Dev không cần phải viết logic kiểm tra (IF) trong nhánh xử lý đó, tối ưu hóa mã nguồn.
Câu 40: 0.25 điểm
Để đạt được độ bao phủ 100% Decision Table, tester cần đảm bảo điều kiện gì trong quá trình thực thi test?
A.  
Chạy tất cả các test case mà không có test case nào Fail.
B.  
Viết ít nhất 100 test cases.
C.  
Mỗi Quy tắc (Rule) độc lập hoặc đã được rút gọn trong bảng đều có ít nhất một Test case tương ứng được thực thi.
D.  
Đã đọc 100% tài liệu yêu cầu nghiệp vụ.