Start typing keywords to search the site. Press enter to submit.
Generative AI
Cloud
Testing
Artificial intelligence
Security
Within almost every IT system, there are decision points where the system behavior can go in different directions, depending on the outcome of such a decision point. A decision consists of one or more conditions. When there’s more than one condition, the various combinations of these conditions need to be tested. Variations of these conditions and their outcomes can be tested using coverage types such as decision coverage, modified condition / decision coverage, and multiple condition coverage.
In condition-oriented test design we distinguish:
For each of these test design techniques the same coverage types can be applied.
Note: With the exception that MCDC doesn’t always work with Decision Table Testing (DTT) because MCDC is for individual decision points and DTT uses all conditions of all decision points together. If DTT is applied to only one decision point then MCDC works fine.
The coverage types that are applicable are:
Generally, CC and DC are less suitable to establish confidence than CDC. To achieve these three types of coverage, the same number of test cases is needed but CDC guarantees both CC and DC. Therefore, in the remainder of this text we focus on CDC, and when you want to achieve higher coverage you can use MCDC and MCC.
Within the scope of this section we therefore provide some examples. For more in-depth explanations on these coverage types click the link.
In our example of the magic boat ride case, using control flow testing with CDC, test cases are created that have all true and false conditions and all true and false outcomes of the decision. This can generally be done with two test cases. But in our specific example the conditions ≥100 and ≤300 cannot be false at the same time (there is no weight that is <100 and >300 at the same time).
Therefore, in this example we will get three test cases:1: All conditions true: Two kids of 140 cm weighing 55 kg each, are admitted2: ≥120 and ≥100 false: Two kids of 100 cm weighing 40 kg each, are not admitted3: ≥120 and ≤300 false: Six kids of 100 cm weighing 55 kg each, are not admitted
In our example of the magic boat ride case, with semantic testing using MCDC: Simplify the decision: R = A and B and C
Create the test situations using a table with three columns, for each decision, for the “true” outcome and for the “false” outcome:
Every test situation is a test case, so the test cases are: ts-1: Group of people, everybody 150 cm, total weight 200 kg, are admitted ts-2: Group of people, one is 110 cm, total weight 200 kg, are not admitted ts-3: Group of people, everybody 150 cm, total weight 90 kg, are not admitted ts-4: Group of people, everybody 150 cm, total weight 350 kg, are not admitted
In our example of the magic boat ride case, with decision table testing using MCC, create a table with all combinations of true/false values of every condition
As per above figure, each of the test situations is translated to a test case:ts-1: Group of people, everybody 150 cm, total weight 200 kg, are admittedts-2: Group of people, everybody 150 cm, total weight 350 kg, are not admittedts-3: Group of people, everybody 150 cm, total weight 90 kg, are not admittedts-4: Group of people, everybody 150 cm, total weight <100 and >300, impossiblets-5: Group of people, one is 110 cm, total weight 200 kg, are not admittedts-6: Group of people, one is 110 cm, total weight 350 kg, are not admittedts-7: Group of people, one is 110 cm, total weight 90 kg, are not admittedts-8: Group of people, one is 110 cm, total weight <100 and >300 kg, impossible
The test cases created with MCC also cover all test cases of CDC and MCDC.
Please insert in this col ‘Sidebar Inserter‘ and select your sidebar(s).
Approaches
Coverage groups:ProcessPathsRight paths / fault pathsState transitionConditionsDecision Table Test (DTT)Decision pointsModified Condition/Decision coverageSemantic TestElementary Comparison Test (ECT)DataEquivalence classesBoundary value analysisData Combination Test (DCoT)Orthogonal arrays and pairwise testingCRUDIntegrity rulesSyntactis Test (SYN)AppearanceAppearancePresentationStatistical usage: operational profiles and load profilesChecklist