Esterel Technologies

What levels of structural testing are required by DO-178B?

Three primary levels of structural testing concern most DO-178B projects:

  1. 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}.
  2. 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.
  3. 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.

© 1999–2010 Esterel Technologies, Inc. All rights reserved.