Requirements-Based Testing for DO-178C
- Posted by shiva
- Categories White paper
- Date July 16, 2024
In section 6.4.2 DO-178C states that requirements-based test selection should include both “normal
range test cases and robustness (abnormal range) test cases”.
Normal range test cases test that the software responds correctly to inputs and conditions in line
with the expected behaviour of the code. Automated test frameworks should be capable of the
following as specified in section 6.4.2.1:
• Equivalence classes and boundary values should be used to select input variables
• Testing time related functions (e.g. filters integrators & delays) in context
• Testing state transitions possible in normal operation
• For any requirements written as logic equations, variable usage and Boolean operators should
be verified
Robustness testing verifies that the software responds in an appropriate way to abnormal conditions
and inputs. Again, automated test tools should be able to test the following as outlined in section
6.4.2.2:
• Equivalence classes should be used to select invalid input variables
• Abnormal system initialization
• Failure modes for incoming data
• Out of range loop counts
• Exceeded time frames
• Arithmetic overflows of protection for time related functions
• State transitions not allowed by software requirements
Requirements-Based Testing Methods
DO-178C specifies methods to be used for each of the recommended types of testing. Highlighting
common errors revealed for each testing type.
In this paper we will focus primarily on low-level testing which should “concentrate on
demonstrating that each software component complies with its low-level requirements”. Section
6.4.3 lists the following typical errors revealed by this method of testing:
• Failure to satisfy a requirement
• Incorrect loop operations
• Incorrect logic decisions
• Processing legitimate combinations of input conditions incorrectly
• Responding incorrectly to missing or corrupt input data
• Incorrect exception handling
• Incorrect computation sequence
• Inadequate algorithm accuracy or performance
source: Requirements-Based Testing