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.
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:
Disadvantages:
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.