Parasoft C/C++test helps users achieve compliance with ISO 26262, by providing the testing techniques required by the standard. ISO 26262 explicitly lists:
- Static analysis as a method required for “software unit design and implementation” (ISO 26262, part 6, table 10, method 1f).
- Unit testing as a required testing method (ISO 26262, part 6, Clause 9).
- Code coverage as a required metric for unit and integration testing (ISO 26262, part 6, Clause 9.4.4, table 14 and 10.4.5 table 17 ).
- Requirements based testing as a recommended testing method (ISO 26262, part 6, Clause 10.4.3, table 15, method 1a).
- Tool qualification process (ISO 26262, Part 8, chapter 11).
For unit testing, Parasoft C/C++test can be used to create unit tests and execute them on the host platform, target processor simulator, or on the embedded target. This flexibility allows running tests frequently inside the developer’s IDEs as well as in the CI/CD pipelines, where simulators are typically used, and also with real hardware for ISO 26262 compliance purposes (ISO 26262, Part 6, Clause 10.4.6). Dedicated integrations with embedded IDEs and debuggers make the process of executing unit test cases smooth and automated, and Parasoft C/C++ was optimized to take minimal additional overhead for the binary footprint and processor cycles.
Unit testing becomes much easier and productive if it can be used together with stubbing/mocking framework. Parasoft C/C++test offers a powerful module for creating stubs and mocks, which can help in fault injection testing (required by ISO 26262, Part 6, Clause 9.4.2, table 12, method 1c), reduce dependencies of the tested code, or simply stub out not yet implemented source code.