Automated Requirements-Based Testing for DO-178C

This paper examines how automatic test case generation can deliver significant cost savings, while satisfying the software verification objectives of DO-178C software levels C and above. We also explore what DO-178C specifies about requirements-based testing and the practicalities of automation. Finally, we will take a detailed look at combining use of an automated testing framework with techniques for efficient requirements management.

One of the most important phases in the development of RTCA DO-178C software is the verification. This phase provides assurance that the objectives identified in DO-178C have been satisfied in accordance with requirements and that the subsequent actions, methods and results, are captured, demonstrable and traceable.

DO-178C specifies that all tests must be requirements-based. This form of testing is emphasized by the standard as the most effective way of finding errors (DO-178C section 6.4.2). Requirements based testing verifies that code complies only with its intended functionality and ensures that requirements are comprehensive and have been defined to a suitable level of detail.

However, the verification activities outlined in DO-178C section 6.0 (Software Verification Processes) are labour intensive and often add significant expense to a project. Whenever manual activities involve complex calculation, repetitive computation, or simply the transfer of information between existing technologies, there is scope for automation to add effectiveness and efficiency.

This paper will examine how automatic test case generation technology can deliver significant cost savings, when satisfying the software verification objectives of DO-178C software levels C and above. We will also explore what DO-178C specifies about requirements-based testing and the practicalities of automation. Finally, we will take a detailed look at combining the power of an automated testing framework with techniques for efficient requirements management.

The focus for this paper is primarily on low level requirements testing, because this area has the most scope for automation in meeting the process objectives.