Esterel Technologies
What levels of structural testing are required by DO-178B?
Three primary levels of structural testing concern most DO-178B projects:
- SC: Statement Coverage. Means that every statement in the program has been invoked or used at least once. This is the most common use of the term
code coverage
}. - DC: Decision Coverage. Means that every point of entry and exit in the program has been invoked at least once and that each decision in the program has been taken on all possible (Boolean) outcomes at least once. Essentially, this means that every Boolean statement has been evaluated both TRUE and FALSE.
- MCDC: Modified Condition Decision Coverage. Means that every point of entry and exit in the program has been invoked at least once, that every decision in the program has taken all possible outcomes at least once, and that each condition in a decision has been shown to independently affect that decision's outcome. Complex Booleans need to have truth tables developed to set each variable (inside a Boolean expression) to both TRUE and FALSE.
This table details the code coverage requirements for each DO-178B level:
| Level | Coverage | Explanation |
| Level A | MCDC | Level B + 100% Modified Condition Decision Coverage |
| Level B | DC | Level C + 100% Decision Coverage |
| Level C | SC | Level D + 100% Statement (or Line) Coverage |
| Level D | 100% Requirements Coverage Requirements | |
| Level E | No Coverage Requirements |
Performing this code coverage exercise is possible using manual methods, but this process can also be facilitated by using commercial code coverage tools. However, if a modern tool like SCADE is used, much of the traditional coverage analysis and coverage testing can be elimiated. See SCADE for a description of this efficient design and deployment environment.


