Cantata++ - Automated Unit and Integration Testing (IPL Software Products Limited)
Unit and Integration testing for C/C++
Cantata++ has been designed around the requirements of the C/C++ languages to produce a tool which allows developers to efficiently perform unit and integration testing. The product offers high productivity and a unique set of testing, coverage analysis and static analysis features. Major features:
- Unit and Integration testing on both host and target platforms
- Integrated Coverage Analysis with statement, decision, MC/DC, entry point and call-return metrics
- Scaleable C/C++ support for ANSI C, ISO C++ and EC++
- Wizard-driven test preparation
- Advanced graphical results and reports
- Object Oriented testing fully supported
- Stubbing to simulate external interfaces
- Wrapping to control external interfaces to real objects
- Static Analysis of code complexity and quality
- Fully integrated with VxWorks and Tornado
- Supports GCC and Wind River (formerly Diab) compilers
Unit and Integration Testing
Wizard-driven Test Script generation step-by-step facilities for creating a complete test driver environment.
- Flexible Test Build/Run from inside Cantata++ or via developer's compiler IDE.
- Cross-Platform Execution of tests from development environment to target.
- Intuitive Test Directives for quickly developing structured repeatable tests yielding clear and unambiguous results.
- Checks for all standard and user-defined data types.
- Exception verification to check for expected and unexpected exceptions.
- White Box and Black Box testing techniques are fully supported.
- Stubbing - programmable versions of external software, with call sequence validation.
- Automated Wrapping provides full control over external interfaces, allowing use of real external objects in integration testing.
- Test Case Re-use for inherited classes and template instantiation.
- Project Level Tree View of test pass/fail results with drill-down for easy navigation to individual tests.
- Detailed Test Diagnostics for all checks of expected against actual results.
- Printable Coverage Listings of tested / untested source code.
- Configurable XML reports with summary and full test details
Provides objective measurement of how effective dynamic testing has been in executing the source code.
Code Coverage Metrics:
- Entry points
- Call Returns
- Statements and Basic Blocks
- Decisions (branches)
- MC/DC (DO-178B Level A)
- Coverage Checks are integrated into dynamic tests resulting in Pass/Fail/Warnings.
- Configurable Coverage requirements are easily defined in simple rule-sets, and viewed graphically.
- Customised Filtering - coverage can be viewed by test case (for test case optimisation).
- Context Coverage Cantata++ is aware of the context in which code has been covered - inheritance and user defined contexts may be used (States, Threads).
- Relational Operator coverage of equality / inequality operators for Equivalence Partitioning.
Supports over 300 source code metrics, to help enforce code quality standards.
- Procedural Metrics including code lines, comments, functions, and counts of most code constructs.
- Structural complexity metrics: Myers McCabe, Halstead, and Hansen sets.
- OO Metrics including MOOSE, MOOD, QMOOD, Robert Martin's, McCabe OO and Bansiya's class entropy sets.
- Metrics Reports in .csv format can be imported into spreadsheets for graphical and numerical analysis.
Cantata++ has been integrated with many other leading development tools.
- Compiler IDEs (including Tornado) to build and execute tests, minimising the product.s learning curve. Full access is also available via the command line.
- Simulators / Emulators (including VxWorks Simulators) for embedded target testing.
- Debuggers allowing tests to run in debug or release modes.
- UML Modelling tools, supporting model-driven testing.
- Project Management tools such as configuration management, and requirements traceability.
- Code Analysis tools such as object code execution profilers and memory leak detectors (such as the Scope tools)
Cantata++ is available for most ANSI C and ISO C++ and EC++ compilers in native and embedded target platforms environments.
This includes VxWorks v5.4 upwards, Tornado v2.02 upwards, and Wind River (formerly Diab) compiler 4.3 upwards.
If you are interested in more information on how Wind River partners with this company, click here.