|
Testwell Tools Overview
Testwell CTC++, Test Coverage Analyzer for C/C++
CTC++ is a powerful and easy-to-use code coverage and execution
profiling tool. CTC++ provides the following code coverage measures:
- function coverage (functions called)
- statement coverage (percent of
statements executed)
- decision coverage (known also as branch
coverage, decisions true/false, case branches, catch branches, and
program control flow branches executed in general)
- multicondition coverage (have all the
possible ways to evaluate the conditional expression been
executed)
- condition coverage (true/false counts of
elementary conditions in a conditional expression)
- MC/DC coverage (do all the elementary
conditions in a conditional expression meet the MC/DC coverage
criteria)
CTC++ can be used also for general program execution analysis:
- how many times each program location has
been executed
- timing instrumentation (total,
average, longest execution time
of functions, user-definable time-taking function)
- function call tracing
CTC++ can be used from command line
scripts
and
via makefiles. There are also IDE integrations to some
development environments, notably to Microsoft Visual Studio and some
others. CTC++'s instrumentation overhead (size, speed) is remarkably low. The
coverage/execution profile data is can be reported in textual, HTML (hierarchical, color-coded,
information
shown along with the actual source code), XML, and in Excel form.
CTC++ can be used interactively by developers on daily basis, and as
integrated to build scripts.
The term "CTC++" stands for the core "CTC++/host-only". It is the
primary CTC++ sales product. It can be used at the selected platform,
with some ("link-compatible") compilers that generate code for the same
host platform.
Additionally, as a separate sales item, there is a "CTC++ Host-Target
add-on" package. It facilitates CTC++ usage (running of CTC++
instrumented code) principally at any target environment and capturing
the execution counters back to the host environment for reporting.
Additionally, as a separate sales item, for
Symbian OS based devices (mobile phones), there is a "CTC++ for
Symbian Target Devices add-on" package. It facilitates code coverage
measuring from real Symbian OS based phones, whose run-time
architecture sets certain demanding requirements to the coverage
tool.
Additionally,
as a separate sale item, there is "CTC++ Host
Run-Time add-on" package. It is meant for target testing in general.
In it the instrumented code at the target machine sends all the time
encoded coverage data to the host, where it is stored to a file.
Later, at the host machine, the encoded coverage data is converted
to normal CTC++ tool chain data format for normal CTC++
reporting.
Read more from CTC++ description.
Testwell CMT++, Complexity Measures Tool for C/C++
CMT++
is a simple to use tool for measuring C and C++ source files for
their size, complexity and maintainability properties. CMT++
provides the following metrics:
- lines of code counts (physical, program,
comment, blank)
- McCabe Cyclomatic number (program flow
complexity)
- Halstead measures (program
volume, error-proneness, time to understand, etc.)
- Maintainability Index
The input files are assumed to be valid C or C++, but they need
not be otherwise related or even compilable at the context of the
measurement run (e.g. the header files need not be
available).
CMT++ is extremely fast. CMT++ can produce the reports in textual,
HTML, CSV
and XML forms. CMT++ can be used interactively by
developers/managers/quality people on daily basis, and also as
integrated
to build scripts.
Read more from CMT++ description.
Testwell CMTJava, Complexity Measures Tool for Java
CMTJava is a simple to use tool for measuring Java source files
for their size, complexity and maintainability properties. CMTJava
provides the following metrics:
- lines of code counts (physical, program,
comment, blank)
- McCabe Cyclomatic number (program flow
complexity)
- Halstead measures (program volume,
error-proneness, time to understand, etc.)
- Maintainability Index
The input files are assumed to be valid
Java, but they need not be otherwise related or even compilable at the
context of the measurement run.
CMTJava is extremely fast.
CMTJava can produce the reports in textual, HTML, CSV and XML forms.
CMTJava can be used interactively by developers/managers/quality people
on daily basis, and also as integrated to build scripts.
Read more from CMTJava description.
Testwell CTA++, C++ Test Aider
CTA++ is a tool for automating unit testing of C++ classes,
libraries and subsystems. CTA++ is simple to use and provides very
powerful features helping the tester to build the testing environments
and running the tests.
CTA++ implements the test execution framework as a test bed program.
The CTA++ test beds contain the following parts:
- test driver: developed by the tester in C++ as the
scripting language, and using the CTA++ system services, modeled into
test cases (functions) that are "registered" to the test driver and
"run" by it
- code under test: the actual C++ (or C)
code under test, which is called from the test case functions
- stubs (optional): CTA++ supported
implementations of the functions of other software components that
the code under test may call, and whose behavior can be controlled
when running the test cases.
- test data file (optional): a CTA++ capability where
test data can be inputted to the test cases from a textual test data
file
The heart of the CTA++ test execution framework is the CTA++ run-time
library. It provides the test case concept, trace writing, powerful
assertion mechanism, stub control, test session pass/fail bookkeeping,
etc. in an easy-to-use way.
CTA++ can show the test session reports in textual and HTML form.
Read more from CTA++ description.
|