
Functional testing for critical software
Why choose RapiTest?
Requirements-based testing for Ada, C & C++ on-host & target
By automating test harness generation, execution, and results collection, RapiTest reduces the effort needed to apply requirements-based tests to your code. Flexible integration strategies ensure efficient verification, regardless of your target hardware.
RapiTest makes it easy to test your code in ways that other tools don’t, automatically handling testing for code elements such as private types and generics, and letting you write multithreaded tests that help you identify race conditions in your code.
Reduce test authoring effort through easy-to-use test formats
We believe that your time should be spent writing more tests, not debugging them. RapiTest makes it easy to write and review your tests through simple and easy-to-use testing formats. While easy to use, these let you write complex tests including structures such as loops or multithreading with ease.
It’s easy to get started writing tests for RapiTest with our range of tutorials, extensive documentation, and hands-on training.
Manage project artifacts with requirements traceability
Keep on top of your requirements coverage by linking your tests to their requirements. After importing requirements from your existing requirements management software, you can link each test to the requirements it addresses, letting you track your results against them.
Handy results views and exports let you keep track of which requirements your tests are passing for, which they’re failing for, and which you haven’t yet added tests for.
Simplify verification through integration with your continuous integration tool
Keep your verification on track by using RapiTest alongside your continuous integration tool. Collect unit test results and track your project’s progress over time with our integrations for Jenkins and Bamboo.
By analyzing your code with RapiTest on every new build, you can easily identify anomalies in execution time results as they happen.
Produce evidence for DO-178 and ISO 26262 certification
Get ready for DO-178C and ISO 26262 certification with our qualification kits. Our off-the-shelf qualification kits and qualified target integration service helps you on the road to qualifying your use of RVS.
Many features of RVS are qualified, including our instrumentation and coverage merging, which has saved customers like Collins Aerospace a huge amount of manual effort.

Product features
-
Functional testing Run functional tests of software at the unit, integration and system level.Discover this feature
-
Efficient test generation Reduce the time needed to write and execute tests.Discover this feature
-
Powerful test formats Write simple and complex tests easily using user-friendly formats.Discover this feature
-
Requirements traceability Traceability between testing artifacts including requirements and tests.Discover this feature
-
Flexible stubbing Apply stub, mock, spy, fake and dummy behavior;to functions.Discover this feature
-
White box testing Observe and test behavior while functions execute, not just at function boundaries.Discover this feature
-
Black box testing Run functional tests without modifying object code.Discover this feature
-
Access private objects Test and stub private objects without needing specific test code to expose them.Discover this feature
-
Multithreaded testing Test multithreaded, non-deterministic software and identify potential race conditions in your code.Discover this feature
-
Spreadsheet format Write tests easily using a powerful spreadsheet format.Discover this feature
-
Scripting format Write tests using a powerful scripting format.Discover this feature
-
Automate testing on host and target Run tests on host computers and test rigs in continuous build environments.Discover this feature
-
Efficient integration workflow Configure integrations of RVS into your development environment quickly and easily.Discover this feature
-
Generate test templates Get started writing tests easily using a template test generator.Discover this feature
-
RVS Project Manager Take your test project from creation to completion with an intuitive user-interface.Discover this feature
-
Shared integration with instrumentation-based RVS tools After integrating one RVS tool to work a development environment, it is trivial to use others.Discover this feature
-
Portable test environments Multiple users can share the same test environment.Discover this feature
-
Easily configurable analysis Apply analysis settings easily using a friendly user interface.Discover this feature
-
Configurable export formats Export test results in a variety of formats.Discover this feature
-
Compare reports Compare reports from different builds to track project progress over time.Discover this feature
-
Customizable workflow Customize the RVS workflow to best meet your needs.Discover this feature
-
Automatically reformat spreadsheet tests Ensure that your spreadsheet tests maintain a consistent style with an automatic reformatting tool.Discover this feature
-
Template integrations Create and use template integrations to reduce your effort integrating RVS with your system.Discover this feature
-
Customizable color scheme Customize the color scheme used to display your results.Discover this feature
-
Comprehensive verification toolsuite One tool to meet all your software verification needs.Discover this feature
-
Timing analysis during unit testing Collect execution time metrics during unit testing to support timing optimization throughout the software life cycle.Discover this feature
-
Code viewer View code with syntax highlighting and color-coding of results.Discover this feature
-
Easily filter results Easily filter results to focus your analysis.Discover this feature
-
Advanced search function Search reports for specific elements using advanced queries.Discover this feature
-
Treemaps View coverage and hierarchy of code at a glance.Discover this feature
-
Integrate with existing build systems Collect data from almost any build system.Discover this feature
-
Compiler wrappers The recommended build integration strategy requires little if any change to the development environment.Discover this feature
-
Clone integration Copy the build system to build and test code with RVS.Discover this feature
-
Jenkins Run RVS automatically through Jenkins to collect and archive results.Discover this feature
-
Bamboo Run RVS automatically through Bamboo to collect and archive results.Discover this feature
-
AdaTEST A straightforward migration path helps you upgrade from AdaTEST.Discover this feature
-
Software Configuration Management Integration with Software Configuration Management tools ensures that input tests remain up to date.Discover this feature
-
ReqIF format requirements Import requirements in ReqIF formats and export test pass/fail status and requirements coverage.Discover this feature
-
Flexible integration strategies Collect data from almost any embedded target with flexible collection strategies.Discover this feature
-
Multicore support Verify critical multicore systems.Discover this feature
-
Lauterbach debugger Collect verification data from Lauterbach debuggers.Discover this feature
-
iSYSTEM debugger Collect verification data from iSYSTEMTM debuggers.Discover this feature
-
C Support for C, Visual StudioTM, GCCTM, DiabTM and TASKINGTM compilers among others.Discover this feature
-
C++ Support for C++, Visual StudioTM, GCCTM, DiabTM and TASKINGTM compilers among others.Discover this feature
-
Ada Support for Ada 95, 2005 and 2012, GNAT ProTM and Green HillsTM compilers among others.Discover this feature
-
Mixed language support Support for mixed languages in the same code base.Discover this feature
-
Assembly Support for testing Assembly code.Discover this feature
-
Compiler extension editor Manage extensions to support non-standard programming languages with an interactive editor.Discover this feature
-
Flexible licensing options Select floating or node-locked licenses with annual or perpetual duration.Discover this feature
-
Floating licenses Floating licenses support multiple users and shared working environments.Discover this feature
-
Node-locked licenses Node-locked licenses support use of RVS within a limited geographical area.Discover this feature
-
Perpetual licenses License RVS for use indefinitely.Discover this feature
-
Annual licenses License RVS in annual increments.Discover this feature
-
FlexNet Publisher compatible export format License usage data is exported in a format compatible for tracking using FlexNet Publisher.Discover this feature
-
Easy to get started Integration and learning resources help you get started verifying your code in no time.Discover this feature
-
Support Dedicated support service to resolve technical issues quickly.Discover this feature
-
Tutorials Learn how to get the most from our verification solutions with simple, interactive tutorials.Discover this feature
-
Training Get up to speed with custom training courses delivered by skilled field application engineers.Discover this feature
-
Documentation Learn how to use RVS features with comprehensive documentation in both printed and electronic formats.Discover this feature
-
DO-178B/C qualification kit Qualification kits for RVS qualification in DO-178B/C projects.Discover this feature
-
ISO 26262 qualification kit Qualification kits for RVS qualification in ISO 26262 projects.Discover this feature
-
Qualified target integration service Additional evidence to qualify the use of RVS in your development environment.Discover this feature
-
Assurance issue notification We notify you of issues that may affect the validity of your results as soon as we identify them.Discover this feature
Videos
Downloads
Operating Systems
Type | Operating System |
---|---|
On-target deployment | RapiTest can be used to analyze software run on any host operating system or embedded target (as long as a communication channel is available). |
On-host tool | Windows 7+ |
Windows Server 2008 R2+ | |
Variety of Linux distributions (including Ubuntu and Red Hat) | |
For older operating systems, contact us. | |
RapiTest can be qualified for use on all supported platforms. |
Programming languages
Language |
---|
Ada |
C |
C++ |
Mixed languages |
Compilers
RVS tools can be used on projects built with almost any compiler.
The non-exhaustive list below shows some of the compilers we have worked with:
Vendor | Compiler |
---|---|
AdaCore | GNAT GPL |
GNAT Pro | |
Arm | DS-5 |
armcl | |
Borland | Borland C++ |
Cosmic Software | -- |
GNU | GCC |
G++ | |
Greenhills | Ada MULTI |
C Multi | |
IAR Systems | Embedded Workbench |
Keil | C51 |
Microsoft | Visual Studio |
NXP | CodeWarrior HCS12 |
TASKING | CC166 |
Texas Instruments | CCSv6 |
CL500 | |
CL2000 | |
C6X | |
C28X | |
Wind River | Diab |
CCPPC |
CPUs
Due to their flexible integration strategies, RVS tools can collect data from almost any target CPU.
The non-exhaustive list below shows some of the architectures that RVS tools can be used with:
Vendor | Platform |
---|---|
Arm | ARM7 |
ARM9 | |
ARM10 | |
ARM11 | |
Cortex-M | |
Cortex-R | |
Cortex-A | |
Analog Devices | Blackfin |
SHARC | |
SigmaDSP | |
TigerSHARC | |
ADSP-21xx | |
Atmel | AT90CAN128 |
Cobham Gaisler | LEON3 |
Freescale (NXP) | 68000 |
680x0 | |
ColdFire | |
M-CORE | |
Power Architecture (MPC5xx, MPC55xx, MPC56xx) | |
ARM Cortex-M microcontrollers (Kinetis E series, Kinetis K series, Kinetis L series, Kinetis M series, Kinetis W series). | |
56k DSP family | |
QorIQ (P2010, P2020, P4080, P5010, P5020, P5021, P5040) | |
IBM | PowerPC (PPC) implementations: |
G1 (601) | |
G2 (602, 603, 604, 620) | |
G3 (740/750) | |
7xx/750 family | |
G5/970 series | |
401 | |
403 | |
405 | |
440 range | |
Infineon | |
XE166 family | |
XC 2000 family | |
C166 family | |
TriCore | |
Tricore Aurix | |
Tricore Aurix Gen2 | |
XMC1000 |
Frequently asked questions
-
What is RapiTest?
RapiTest is the leading tool for functional testing of critical software.
Used globally in the aerospace and automotive industries, it reduces the cost of functional testing at all levels, including system, integration and unit testing.
As part of the RVS toolsuite, it forms part of a software verification solution that also includes tools for structural coverage analysis and worst-case execution time analysis.
-
How does RapiTest work?
RapiTest works by using input tests in a variety of formats and an understanding of the program structure achieved through dynamic analysis to produce test harnesses that it executes on the native build system to collect test results. When collecting data from hardware targets, data can be collected from almost any target hardware by a variety of approaches.
-
Which host operating systems can RVS be used on?
RVS tools support Windows 7 or newer, Windows Server 2008 R2 or newer, and a variety of Linux distributions including Ubuntu and Red Hat.
RVS tools can be used on projects with unsupported operating systems by using a clone integration to split the process and delegate parts of it to the unsupported machine.
-
Which hardware architectures do RVS tools support?
RVS tools can be integrated to work with almost any embedded target. Our engineers can work with you to determine the optimal strategy for integrating the tool with your target, even for multi-core architectures. For more information on the hardware architectures we have integrated RVS tools with, see the compatibility information on our RVS product pages.
-
Can I use RapiTest with my build system?
RapiTest can be integrated to work with almost any compiler and target hardware. Our integration service promises to deliver a robust integration of RapiTest into your build system.
-
Which languages does RapiTest support?
RapiTest supports C, C++ and Ada projects, including mixed-language ones.
-
My software is part of a product that must be certified against a safety guideline. Can RapiTest be qualified for use in my project?
RapiTest is designed to meet the most stringent needs of certification processes, such as the DO-178B/C process used in the aerospace industry and the ISO 26262 process used in the automotive industry. We can provide developer qualification documents, a template integration qualification report and on-site tests to support you in qualifying RapiTest in projects requiring certification.
-
How is my test data displayed?
RapiTest test data is displayed using a friendly user-interface. When you run a test, your results are displayed based on just the subprograms you tested, letting you quickly check your results against requirements.
-
How many tests can RapiTest run at once?
You can include as many tests as you want to in a single build on your target, subject to the resources available on your target and your data collection strategy. As with all our RVS tools, RapiTest has a very low overhead, meaning you can complete your test cycle in fewer builds than using other tools.
-
What kind of stubbing behavior does RapiTest support?
The test generation algorithms RapiTest uses are powerful and support generation of all types of stubs used in the industry, including stubs, mocks, fakes, spies and dummies.
-
How do I write tests for use with RapiTest?
RapiTest supports tests written in spreadsheet formats and as scripts, and is customizable to support existing or alternative test formats. You can use our spreadsheet and scripting formats to write your tests, and if necessary, we can develop a converter for RapiTest to interpret tests written in your existing format.
-
What types of testing does RapiTest support?
You can use RapiTest to generate code for testing both high- and low-level requirements, and it supports the generation of tests for various levels and definitions understood in the industry, such as unit, module, integration and system tests.
-
How do I learn more about RapiTest?
You can request a trial version of RVS, which includes RapiTest. You can also arrange a demonstration, where a member of our team will work with you to show the benefits RapiTest can offer you.
If you're interested in RapiTest in academia, you can search for it in the academic press.
-
How large a code base can RVS tools handle?
RVS tools are designed to handle very large code bases. Because of the efficient algorithms used by RVS tools, there is no fundamental limitation to the number of lines of code that RVS can process, and our RVS tools have been used on projects with millions of lines of code.
-
How are RVS products licensed?
We offer both “Node-locked” and “Floating” licenses, and a license server to support use of our tools in your specific development environment. Floating licenses follow the “Enterprise” model, meaning that you can use our tools across geographical boundaries and different projects and users.
For more information on our licensing models, see our RVS licensing FAQs.
-
What happens if I encounter an issue while using an RVS tool?
All RVS licenses include access to our dedicated in-house support team, who will work with you to provide a rapid fix to your issue. This is a critical part of our vision. During 2016, we responded to 97% of new support requests within one working day, closed 56% of these within 3 working days and 91% within 20 working days. We also inform our customers of known issues via our website and email.
-
How do you support RVS users?
We provide an extensive set of RVS documentation with each of our products, and offer training courses guiding you through the most effective use of RVS tools. All our users can benefit from privileged access to our website, which includes downloads for new product releases.
-
How does RapiTest help me trace between my requirements and my tests?
RapiTest helps you trace between your requirements and tests. After importing requirements in a variety of formats including Word, Excel, and the Requirements Interchange Format (ReqIF), which is compatible with many requirements traceability tools, you can tag your tests with the requirements they test. After running your tests, RapiTest displays your requirements coverage and the status of each test tagged with each requirement, and lets you export your results both in RapiTest exports and back into your requirements management tool through ReqIF.
-
Can I use RVS tools with my continuous integration environment?
RVS integrates with continuous integration tools including Jenkins and Bamboo. By integrating RVS with your existing continuous integration tool, you can collect unit test, coverage, and execution time results with every new build, letting you easily identify anomalies in your software’s behavior as they happen.
-
How do I verify my software’s functional and temporal behavior when instrumentation has been applied?
We recommend that, when using RVS tools to perform functional testing of safety-critical applications for a final run-for-score, you run your full test suite both with and without coverage instrumentation applied, then confirm that the results match. This provides evidence that coverage instrumentation has not changed the functional behavior of your code.