- Causality diagram is a formal language, and the specification description described in natural language can be transformed into a causal diagram. A causal diagram is actually a digital logic circuit (a combined logical network), but instead of using standard electronics symbols, it uses a slightly simpler notation, which helps to select an efficient set of test cases using a systematic approach, with an additional benefit of pointing out the incomplete and ambiguous specification.
- The process used to generate the test case:
- Decompose the specification into an executable fragment. This is a necessary step because the causality diagram is not good at handling larger specifications.
- Determine the causal relationship in the specification. The so-called reason refers to an explicit input condition or an equivalence class of the input condition, so-called fruit refers to an output condition or system conversion (input to the program or system State of the continuation effect). By literally reading the specification and identifying the words or sentences that describe the "cause" and the "fruit", you can determine the "cause" and the "fruit". Once the causal relationship is determined, each "cause" and "fruit" is given a unique number.
- Analyze the semantic content of the specification and convert it into a Boolean graph that links causality, which is called causality diagram.
- Add annotation symbols to the graph to illustrate the "cause" and "fruit" that cannot be smelted due to grammatical or environmental constraints.
- By carefully tracking the state changes in the graph, the causality diagram is converted into a decision table of a finite term. Each column in the table represents a test case.
- Converts a column in a decision table to a test case.
The Art of software testing: Causality diagram