Cause-Effect Graphing
Definition
Cause-Effect Graphing is a black-box test case design technique that maps causes (input conditions) to effects (output actions) using a formal Boolean graph notation, and then systematically converts this graph into a decision table to derive test cases — designed to handle complex combinations of conditions more rigorously than ad-hoc methods.
Process (Step-by-Step)
1. Identify Causes and Effects
- Causes = distinct input conditions
- Effects = distinct output actions/results
- Assign each a unique identifier (C1, C2... for causes; E1, E2... for effects)
2. Draw the Cause-Effect Graph
Using Boolean logic operators to connect causes to effects:
| Symbol | Logic |
|---|---|
| AND | Effect occurs only if ALL connected causes are true |
| OR | Effect occurs if ANY connected cause is true |
| NOT | Effect occurs if the cause is false |
| Identity | Effect directly follows from one cause |
3. Add Constraints (if needed)
Some causes may be mutually exclusive or have dependencies (e.g., "cause A and cause B cannot both be true")
4. Convert the Graph into a Decision Table
Systematically trace the graph to generate a table of all valid condition combinations
5. Derive Test Cases
Each column/rule in the resulting decision table becomes one test case
Example (Conceptual)
- C1: "Username is valid"
- C2: "Password is valid"
- E1: "Login successful" (occurs when C1 AND C2 are true)
- E2: "Show error message" (occurs when C1 OR C2 is false)
Advantages
- Systematically handles complex combinations of conditions using formal Boolean logic
- Reduces the chance of missing important condition combinations
- More rigorous than intuitively guessing test cases
Disadvantages
- Complex and time-consuming to construct for large numbers of causes/effects
- Requires training/experience to build correctly
- Rarely used in practice compared to simpler techniques (BVA, ECP, Decision Tables directly)
Relationship to Decision Tables
Cause-Effect Graphing is essentially a formal, graphical method to arrive at a decision table — the decision table is the final testable artifact either way.
Exam tip: Know it as the technique that uses Boolean graphs (AND/OR/NOT) to systematically derive a decision table, which is then used to generate test cases — a conceptual question, less often a full numerical/diagram one compared to BVA/ECP.