Traditionally, the software tests are performed at different levels to achieve the DO-178B/C objectives. The Hardware-Software Integration tests (HSIT) are performed to get the High-Level Requirements coverage and Low-Level Requirement tests are performed to get the Low-Level requirements coverage and the structural coverage at the source code level. In this paper we have attempted an approach for obtaining the structural coverage from HSIT based tests and thereby eliminating/ minimizing need of low-level requirements based test.
1. BACKGROUND
The low-level requirements based tests are performed based on low-level requirements. The test cases are developed for each unit (or function). Each unit is tested in isolation by creating a stub functions for the external functions called by Unit under test (UUT). The stub functions are used to manipulate the control in the UUT by the return value or by the passed parameters. The structural coverage is also achieved for the UUT while performing the LLR based tests.
However, this approach has the following limitations:
However, this approach has the following limitations:
The stub functions are used to check the control flow of UUT. However, the behavior of the functions called by UUT will not be tested with actual (practical) values. The called functions will be tested in isolation as UUT.
The overall architecture of the software will not be tested with LLR based tests.
The testing strategy becomes more of white box testing rather than a black box testing.
The Hardware dependent functionalities (Including timing Requirements, interrupt processing requirements) cannot be tested when the UUT is tested in isolation.
To overcome these drawbacks, an attempt is made to perform the structural coverage from the High Level Requirements based or Hardware-Software Integration testing itself. This will ensure that the all the modules are integrated and tested as a fully Integrated software.