Full feature list
Run functional tests of software at the unit, integration and system level.
Reduce the time needed to write and execute tests.
Write simple and complex tests easily using user-friendly formats.
Apply stub, mock, spy, fake and dummy behavior to functions.
Observe and test behavior while functions execute, not just at function boundaries.
Run functional tests without modifying object code.
Test and stub private objects without needing specific test code to expose them.
Test multithreaded, non-deterministic software and identify potential race conditions in your code.
Export test results in a variety of formats.
A straightforward migration path helps you upgrade from AdaTEST.
Analyze the code coverage achieved by software tests up to and including the MC/DC level.
Advanced MC/DC analysis.
Merge coverage from different builds automatically, such as system and unit tests.
RapiCover highlights missing MC/DC vectors to help you refine test cases.
Mark code as covered by manual analysis to justify not covering it during tests.
Justifications migrate when source code changes, automatically or after manual review.
A single store of justifications can be used by all users working on a project.
You can apply a single justification to multiple locations, reducing the effort involved in managing justifications in projects with many coverage holes of the same type.
Create and apply templates to add new justifications more easily.
Apply and use custom fields for your justifications.
Identify tests that "hit" each tested element in your source code.
Remove selected coverage from reports to support continuous development.
Calculate the minimum set of tests to achieve identical coverage to a previous set of tests.
Export coverage results in a variety of formats.
View coverage and hierarchy of source code at a glance.
Assign tests to datasets to support easy filtering of results.
Filter results by the test cases used to generate them.
Filter results by specific functions in source code.
Freeze and resume collection to eliminate incidental coverage from bootup programs.
Stream coverage data to collect it across target power cycles.
Test an almost unlimited number of conditions per decision and get more from the space on your target.
Analyze the execution time behavior of code as tested on the embedded hardware.
Produce WCET metrics through a hybrid measurement-based/static analysis approach.
Easily identify code with the the greatest impact on timing performance.
Produce evidence for certification by following a recommended workflow that focuses analysis.
Apply instrumentation based on your functions' expected execution frequencies.
Export timing results in a variety of formats.
Specialized charts and tables make it easy to focus your analysis.
A timeline of your invocations helps you visualize the order of calls and how long each took to execute.
A configurable chart helps you visualize timing data in the context of your code's call tree.
Step through execution traces to investigate timing events using a debugger-like interface.
Automatically analyze the behavior of tasks in your system as it runs.
Understand your system's scheduling behavior at a glance.
Identify and analyze capacity issues in your system.
Collect task scheduling data without instrumenting individual tasks.