Join us on December 12! MISRA C++ 2023: Everything You Need to Know Register Now >>
Parasoft’s solution for code coverage provides critical feedback about the completeness and thoroughness of the testing process by correlating tests with coverage results.
Parasoft’s solution for code coverage intelligently leverages information about the relationship of code coverage results to the test cases and changes made to the code for a more valuable coverage metric. Code coverage reports are gathered along with an understanding of how they relate to the test cases.
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 is essential for achieving compliance with functional safety standards, such as DO-178B/C, ISO 26262, ISO 21434, IEC 61508, and others.
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.
Parasoft 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:
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.