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.
Apply a single justification to multiple locations to reduce justification effort.
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.
Easily merge coverage from multiple builds.
Export coverage results in a variety of formats.
Assign tests to datasets to support easy filtering of results.
Apply test datasets, which you can use to filter results and calculate the optimal tests to run when code changes.
Filter results by specific files and functions.
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.
View a histogram of your software's timing behavior to easily identify patterns.
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.
Customziable task colors help you highlight the tasks you're most interested in.