Unit testing provides the necessary assurance that the software is operationally correct and behaves well at boundary and edge conditions. Types of coverage include test coverage of all functions, statements, branch conditions, MC/DC coverage.

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

In addition to measuring code coverage in unit tests, ECEMTAG 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.