C/C++ Code Coverage & Requirements Traceability

Powered by Parasoft C/C++test, the most complete development testing solution for C and C++

Try Parasoft C/C++test

C++ Caps

Code Coverage and Requirements Traceability for C and C++

Parasoft’s solution for code coverage and requirements traceability provides critical feedback about the completeness and thoroughness of the testing process, by correlating tests and coverage results with requirements.

Coverage

How does it work?

Parasoft’s solution for code coverage and requirements traceability intelligently leverages information about the relationship of code coverage results to the test cases, changes made to the code, and requirements, for a more valuable coverage metric. Code coverage reports are gathered along with an understanding of how they relate to the test cases and requirements, and reports generated after the testing session show the detailed reports in the context of every requirement. 

Presenting test results in this way prevents users from spending time and effort testing non-important functionality, without covering critical system requirements. This powerful solution for requirements traceability is essential for achieving compliance with functional safety standards, such as DO 178B/C, ISO 26262, IEC 61508, and others.

Try Parasoft C/C++test

Features

The most pragmatic way to monitor the completeness of the testing process is by monitoring coverage metrics. Parasoft C/C++test’s code coverage metrics can be used for assessing unit, integration, and system level testing completeness, supporting all important types of code coverage (function, call, line, statement, block, path, decision, simple condition, and MC/DC) and object/assembly coverage. Coverage results are available directly in the IDE, with convenient views and highlights in the source code editor, as well as in the form of static html or pdf reports, and dynamic reports through Parasoft’s centralized reporting dashboard.

Users can monitor applications executed natively on the desktop, cross-platform using simulators, or on real embedded hardware. C/C++test’s coverage module is optimized to minimize the impact on the execution performance and test binary footprint, which makes it suitable for use with high end, server-based applications, as well as very limited systems based on 16 bit microcontrollers.

Parasoft correlates all unit test cases created with C/C++test, or created using open source unit testing frameworks (executed with the C/C++test plugin), with requirements. Users can then absorb the results of the tests’ execution together with the information about code coverage, to achieve the full traceability required for safety-critical applications.

C/C++test can be used to instrument an entire application’s codebase for code coverage monitoring. The instrumented application can be executed and examined based on the test procedures defined in manual test scenarios. During testing, users can easily annotate the coverage results with the information about the executed test scenarios. 

Users can view the coverage results collected from the testing process, together with the information about the correlation between test cases and requirements. Parasoft’s unique automatically-generated reports that merge unit testing and system testing coverage results help users determine the quality of the testing process to focus and optimize the testing effort.

By integrating with users’ Requirements Management System, users get traceability reports that display the correlation between requirements and: 

  • Source code created to implement these requirements
  • Test cases created to test the requirements
  • Results of executed tests
  • Code coverage results

Traceability reports provide clear and complete information about the development progress, and teams can easily determine how many requirements were already implemented and how thoroughly they have been tested.
 

When connected with Parasoft’s Process Intelligence Engine, users benefit from test impact analysis. For each and every test performed, including manual, system level or UI-based, tests are recorded for not just test/fail and results but also their coverage impact on the code base. Each additional test is overlaid on this existing information, creating a complete picture of test success and coverage. As code is changed, the impact is clearly visible on the underlying record, highlighting tests that now fail or code that is now untested. Raising this information in various degrees of detail allows developers and testers to quickly identify what needs to be altered/fixed for the next test run.

Benefit from the Parasoft Approach

Want to learn more?

Parasoft C/C++test integrates with a wide variety of software, tools, and frameworks,
so you can easily adopt and scale within your existing development environment.