Software Testing · Software Engineering

Cause-Effect Graphing

Watch lectures

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.

AI LearningWeb Platform

Coursify — Personal AI Course Generator

Struggling with a difficult subject or concept? Turn any engineering topic into a structured course with interactive lessons, quizzes, and research-backed explanations.

← All Software Engineering modules