Back

Cause Effect Graphing

Idealogic’s Glossary

Cause Effect Graphing is a software engineering approach which uses graphs to describe and depict causes and effects. This method is especially helpful in identifying and mapping the cause-effect relationship between inputs and outputs of a system and thus, all possible test cases are covered during the testing process.

How Cause Effect Graphing Works

Cause Effect Graphing start with the determination of the cause and effect of the system in question. These are then depicted in a form of a diagram which shows the interdependence of the variables. The technique is used in an attempt to identify the minimum number of test cases that can be used to provide maximum test coverage and therefore minimize time and cost incurred in the testing process.

The graph itself usually contains nodes which are causes (inputs) and nodes which are effects (outputs) connected by lines that show the relation between the certain cause and certain effect. This visualization is useful for testers and developers as it makes it easier for them to comprehend the system’s flow, and thus they can make sure that all combinations of the input/output are tested.

Advantages and Disadvantages of Cause Effect Graphing

Advantages:

  • Comprehensive Test Coverage: This technique is useful in that it allows for the identification of all possible cause-effect relationships thus increasing the chances of covering all the important scenarios in the testing process.
  • Optimization of Test Cases: Cause Effect Graphing is useful in determining the least number of test cases that can be used in order to get the desired test coverage, this can help in cutting down on the number of tests that are to be done thus saving on time and money.

Disadvantages:

  • Extensive Documentation: However, there is a significant disadvantage of Cause Effect Graphing and that is the aspect of documentation. Recording all the inputs, outputs and their dependencies may be tedious and may involve a lot of paperwork especially in large systems.

Conclusion

Cause Effect Graphing is a very important tool in software engineering that assist in mapping and depicting the cause and effect of a system. As an advantage, it helps in improving the test cases and guarantee full coverage but with a disadvantage of having a lot of documentation. Nevertheless, the technique is useful due to the fact that it offers a clear and concise method of testing, which in turn can help to create more effective and reliable software systems.