About Testwell CTC++
Testwell CTC++ is a Code Coverage Analyzer for C and C++. With two language add-ons, also Java and C# are supported. It measures code coverage for application software as well as embedded software. Testwell CTC++ provides all typical coverage levels required by industrial safety standards.
What does Testwell CTC++ do?
The following coverage levels are measured:
- function coverage,
- statement coverage,
- decision/ branch coverage,
- condition coverage,
- MC/DC (modified condition/ decision coverage),
- multicondition coverage.
The following example shows multicondition and statement coverage per function:
Beyond that, Testwell CTC++ is also able to measure the execution costs (e.g. time) for a program, helping to analyze bottlenecks or worst case execution time.
How does Testwell CTC++ work?
Testwell CTC++ is a code coverage analyzer which instruments the source code to be tested, that means, counters are added to an intermediate, internal copy of the code.
The work with Testwell CTC++ generally consists of three steps: Instrumentation, testing and generation of reports. Several independent command-line based tools are used for these steps, accompanied by different integrations for IDEs and build tool chains.
Testwell CTC++ works with every C/ C++ compiler or cross-compiler, just the compiler commands have to be configured once.
During instrumentation, a symbol file (default name MON.sym) is created, containing all relevant information about the source code and its instrumentation.
During the test run, a data file (default name MON.dat) is created, containing the coverage counter.
In the third step, reports are generated from symbol- and data files as input. The HTML report also contains an annotated version of the source code.