Code Coverage

Objective measurement of
how much code has been
executed by your tests

Code Coverage

Objective measurement of
how much code has been
executed by your tests

AdaTEST 95 code coverage capabilities can be used integrated with AdaTEST 95 tests, or with any external test driver.

It provides an objective measurement of test execution completeness, to supplement requirements based and robustness tests.

AdaTEST 95 code coverage makes it easy to:

AdaTEST 95 code coverage video

What is code coverage?


Code Coverage is a dynamic analysis technique to measure which parts of the code have been executed by tests. The logic structure within the code can be identified by individual constructs (syntax elements). The measurement of these individual constructs is recorded using structural code coverage metrics.

Code coverage analysis is used to identify testing gaps where code is not exercised by requirements driven and robustness driven testing approaches.

Coverage analysis is required for compliance with all international software safety standards, with higher safety levels requiring achievement of more rigorous coverage metrics.

“With the requirement of the highest safety standard and level in our automotive project, Cantata met and achieved the requirement and significantly contributed to our project success and customer satisfaction.”

Pham Hong Son, Manager for Consulting Services, Hitachi Vantara

“Wrapping and custom code insertion capabilities in Cantata were a major benefit in achieving full code coverage of the harder to reach areas of defensive programming.”

Nir Erez, Director of LiDAR Software, Innoviz Technologies

“Cantata has proved successful and increased unit testing efficiency. Cantata from QA Systems offers an ideal solution for the creation and execution of unit and integration tests, including coverage analysis.”

Bosch Engineering GmbH

“Cantata was chosen to do this because it gave all the functionality needed to test to the IEC 61508 SIL 1 standard!”

The Highways Agency

What does AdaTEST 95 Code Coverage help me do?


Code coverage is measured using the following metrics, with standard specific Rule Sets for integrated checking of required code coverage levels.

  • Function Entry Points
  • Function Call-Returns
  • Basic Blocks
  • Statements
  • Decisions (branches)
  • Loops
  • Relational Operators
  • Boolean Operators
  • Conditions
  • MC/DC (Unique-cause and Masking variants)



AdaTEST 95 diagnostics present code coverage data in an HTML Results Viewer featuring:

  • Coloured code listing
  • Next/previous failure navigation
  • Detailed metric execution data

AdaTEST 95 code coverage checks integrated with tests, make enforcement of the required coverage easy and automatic for regression test runs. Coverage checks include:

  • Achievement of percentage of each structural coverage metric
  • Assertions that data values (of specified variable values) have been used as ‘always true’ or ‘true at least once’
  • The exact execution path through code.



The AdaTEST 95 HTML Results Overview presents a history of test results and coverage checks against pass criteria, to coverage results trends.

Each test / coverage result drills down into the hyperlinked detailed HTML Results View for the relevant test run.



In addition to the powerful diagnostics of code coverage results in the HTML Results Viewer and Overview, AdaTEST 95 generates safety standards certification ready ASCII text reports of compliance with coverage requirements.

Reports and certification evidence embed the integrated checks on the achievement of the required coverage metric targets.

How does AdaTEST 95 Code Coverage Work

AdaTEST 95 uses instrumentation on a copy of the source code, and coverage data is recorded for both HTML graphical diagnosis and certification ready ASCII text file evidence.

Coverage analysis can be used integrated with AdaTEST 95 tests or used to measure execution from other tests, and data from multiple tests can be easily combined.

Analysis is made simpler by coverage Rule Sets, which automate all the code instrumentation, data reporting and required coverage checking, for all the main software safety standards.