CTFL-v4 Test Analysis and Design Practice Question
Exhibit
{
"rule_id": "DISC_99",
"conditions": {
"is_member": true,
"cart_total": 120.00,
"coupon_valid": false
},
"action": "apply_standard_discount"
}Refer to the exhibit. A software testing team is designing test cases based on a decision table derived from the provided JSON business rule policy. How should the tester handle the 'coupon_valid' condition when designing tests for 'is_member = true' and 'cart_total > 100.00' if the rule engine ignores coupons entirely under these specific criteria?
⚠ Common exam trap
Candidates often feel compelled to write separate test cases for every combination of a 'don't care' condition, unnecessarily inflating the test suite size.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Design a single test case using a 'don't care' notation for coupon_valid since its state does not alter the outcome.
When a condition does not affect the outcome for a specific combination of other conditions, it is represented as an indifference or don't care value in decision tables. This reduces the number of redundant test cases while maintaining complete logical coverage of the active rule.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Create two separate test cases: one where coupon_valid is true and one where coupon_valid is false.
Why it's wrong here
Varying coupon_valid is pointless because the rule engine ignores that condition entirely for is_member = true and cart_total > 100.00, so both cases execute the identical path and add no coverage. Splitting a condition into true and false cases is the correct technique when each value genuinely alters the rule outcome.
- ✓
Design a single test case using a 'don't care' notation for coupon_valid since its state does not alter the outcome.
Why this is correct
When the rule engine ignores coupons for these criteria, coupon_valid cannot affect the outcome, so its state is irrelevant. Don't-care notation collapses the two otherwise-identical rules into one test case, avoiding redundant coverage while preserving decision-table completeness.
- ✗
Omit the cart_total variable from the test design entirely because the membership status takes precedence.
Why it's wrong here
Omitting cart_total discards a condition the rule engine evaluates, so the decision table's coupon_valid branch for member carts over 100.00 goes untested. It is tempting because membership appears dominant, and omitting a variable would be correct only where the rule genuinely never references it, such as a condition excluded by the policy's own logic.
- ✗
Automatically fail the test case because the JSON policy contains a conflicting boolean value for coupons.
Why it's wrong here
A conflicting boolean cannot be inferred: the rule engine simply ignores coupon_valid when is_member is true and cart_total exceeds 100.00, so the condition is irrelevant, not contradictory. Failing the test case is tempting because decision tables normally flag impossible or conflicting combinations, which is the correct response when a policy genuinely defines contradictory outcomes for one rule.
About these practice questions
One of 144 original CTFL-v4 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
JA
Written and reviewed by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
Last reviewed September 2026 · checked against the official ISTQB exam blueprint
This CTFL-v4 practice question is part of Courseiva's free ISTQB certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the CTFL-v4 exam.