Trusted answers to developer questions
Trusted Answers to Developer Questions

Related Tags


What is a cause-effect graph?

Hassaan Waqar

A cause-effect graph is a technique used in black-box testing.

In black-box testing, testers are concerned with the inputs and corresponding outputs of a system only. They do not need to know the underlying code.

The cause-effect graph was created by Kaoru Ishikawa and thus, is known as the Ishikawa diagram. It is also known as the ‘fish-bone’ diagram because of the way it is structured. A cause-effect graph shows the relationship between an outcome (effect) and the factors (causes) that lead to it.

The illustration below shows a cause-effect graph:

A cause-effect diagram

Why do we use a cause-effect graph?

A cause-effect graph is primarily used to identify factors that lead to an outcome. We can list the reasons for using a cause-effect graph as below:

  • Identify reasons or causes for a problem or outcome.
  • Analyze existing issues.
  • To understand the interaction of a system.

How to create a cause-effect graph

A cause-effect graph can be created by following the steps below:

  1. Identify the outcome.
  2. Create the effect box along with the spine.
  3. Identify various causes of the effect.
  4. Group similar causes into common categories and fill in the boxes.

Benefits of a cause-effect graph

A cause-effect graph has the following benefits:

  • It leads to a more structured approach toward identifying the causes of a problem or outcome.
  • Easier representation to list different causes of an effect.
  • Diagram is intuitive and easy to understand.
  • Highlights areas where further data collection is required for analysis.
  • Motivates a team by presenting ideas visible to all for collaborative study.


The illustration below gives an example of a cause-effect graph used in a software:

We assume that a database issue has occurred within the software.

Example of a cause-effect graph

The illustration above presents a scenario that shows different factors responsible for database failure in a software. These scenarios include:

  • Storage limitations
  • Non-structured data
  • Slow access time of the database
  • Database not active throughout




Hassaan Waqar
Copyright ©2022 Educative, Inc. All rights reserved

View all Courses

Keep Exploring