Decision-to-decision path

A decision-to-decision path, or DD-path, is a path of execution (usually through a flow graph representing a program, such as a flow chart) between two decisions.

More recent versions of the concept also include the decisions themselves in their own DD-paths.

In Huang's 1975 paper,[1] a decision-to-decision path is defined as path in a program's flowchart such that all the following hold (quoting from the paper): Jorgensen's more recent textbooks restate it in terms of a program's flow graph (called a "program graph" in that textbook).

A DD-path is a set of nodes in a program graph such that one of the following holds (quoting and keeping Jorgensen's numbering, with comments added in parentheses):[2] According to Jorgensen (2013), in Great Britain and ISTQB literature, the same notion is called linear code sequence and jump (LCSAJ).

[2][dubious – discuss] From the latter definition (of Jorgensen) we can conclude the following: According to Jorgensen's 2013 textbook, DD-path testing is the best known code-based testing method, incorporated in numerous commercial tools.

A flow graph of a program. Each color denotes a different DD-path. Nodes 1,2,5 and 6 are each in their own DD-path containing a single node. Nodes 3 and 4 together form one DD-path (they are a maximal chain).