Structural Coverage Analysis and data and control coupling

Two concerns were identified on this topic: Structural testing (i.e., testing based on the code structure) and data and control coupling.

On the first concern, an additional bullet (d) is added in section 6.4.4.1 (Requirements based test coverage analysis): This bullet provides a hook from “A Requirements Based Testing” dedicated section to the “Structural Coverage Analysis”. It is now clearly explained that only the tests based on requirements are valuable for structural coverage analysis, and an analysis may be necessary for demonstration:

For data and control coupling, it was necessary to re-affirm that objective A7-8 is not a verification of the data/control coupling. Data and Control coupling are defined in the design data as part of the architecture. Verification of this architecture, including interfaces between components, is part of the verification of the outputs of the design data (table A-4). Compliance of source code to this architecture is also verified as part of the verification of the source code (table A-5). Objective A7-8 is related to the structural coverage analysis, and thus to the verification of test data. Therefore, the activity needed to satisfy the objective consists in analyzing how well the requirements-based tests fully exercised the coupling between the components.

To emphasize the above clarification, the introduction text in the Structural Coverage Analysis section (§6.4.4.2) now lists the “interfaces between the components” as an input of the Analysis.

An example of data and control coupling is provided in the modified FAQ#67 of DO-248C/ED-94C. This FAQ also identifies the typical test cases that should be developed to satisfy the 4.4.1.d objective for this example.