COVID-19 UPDATE: We are operational with updates to our procedures. Click here to learn how we're ensuring the safety of our customers & employees.


Unit Testing Software

Unit TestingSoftware

Unit testing provides the necessary assurance that the software is operationally correct and behaves well at boundary and edge conditions. It is conducted for low-level features and APIs. The established low-level functional requirements are used to author the test cases. Traceability of requirements to test cases ensures complete, measurable testing coverage.

For ISO 26262 projects, additional test cases may be created to achieve the appropriate level of coverage for the ASIL rating. Types of coverage include:

• 100% test coverage of all functions
• 100% test coverage of all statements
• 100% test coverage of all branch conditions
• MC/DC coverage

Pi Innovo uses scripted automation tools such as VectorCAST for testing both off- and on-target. This allows for thorough test results and provides regression testing of future changes.

On Target

Unit tests are performed with industry-standard VectorCAST tools and can be executed on both a PC and on the target processor of the ECU. On-target testing provides the additional capability to detect portability issues that could arise within the code or even from the target compilers themselves.

Integration Test Code Coverage

In addition to measuring code coverage in unit tests, Pi Innovo measures code coverage on-target during integration testing. In these tests, the code is tested in the context of a complete application rather than as an isolated unit. This ensures that low level drivers, assembly code, and other code which interacts directly with the microcontroller is properly tested.

By looking at the combination of integration test coverage and unit test coverage, a complete picture of the total code coverage is achieved. Any gaps are then analyzed and new test cases are developed to provide complete testing coverage.

< Back to Custom Electronics Page
Share via: