What is RKTracer Tool ?
The RKTracer is an automated unit test generation and code coverage tool for developers and testers. It allows developers and testers to generate unit tests with easy-to-use user interfaces and validate code coverage metrics for safety-critical software on native host and embedded target systems.
Why the RKTracer Tool ?
Good question. There are a few well-established automated unit testing and structural coverage tools for C and C++ like VectorCast, C++Test, LDRA, Cantata, and Tessy.
What are the benefits of using the RKTracer tool compared to other automated unit testing and structural coverage tools?
- Using rktracer gives you peace of mind since it supports all compilers, cross-compilers, IDEs, and embedded target devices.
- You can generate unit tests in your existing development or testing environment without having to import your project to a vendor tool.
- Support for Test-Driven Development(TDD).
- The rktracer tool is easy to learn and use. You can generate unit tests or code coverage by prefixing the rktracer keyword to your build command, or by enabling it in your IDE and rebuilding.
- The only tool that is capable of generating unit tests in the GoogleTest framework or Unity framework.
- There is no other tool that allows you to automatically add the generated unit tests to your project with just two commands. This allows you to modify, enhance, run, and maintain unit tests even if you do not have to use the rktracer tool.
- You can use it as a code coverage tool for C, C++ for unit testing, integration testing, functional testing, and system testing on host and target devices.
- Using RKTracer, you can obtain code coverage information at a detailed level.
- Additionally, RKTracer will provide you with code coverage reports for mutation testing. By doing so, developers will be able to determine whether refactored lines of code have been covered or not.
|RKTracer Automation Tool||X Tools|
|Very easy to use tool||Very difficult to configure and use.|
|Supports all compilers and Cross-Compilers for C/C++ languages||Support for selected compilers and cross-compilers|
|Plug-in for all IDEs, Jenkins, Azure and SonarQube||Plug-in for selected IDEs.|
|Generates unit tests in GTest and Unity frameworks for C/C++ projects based on the requirement data.||Generates unit tests using cppunit or xUnit|
|RKTracer tool directly adds unit tests directly to your build environment, and you can run unit tests in existing build or test environments. No need to import your project into the vendor IDE.||You can only generate unit tests, provided you move/import your project into the vendor IDE.|
|RKTracer will auto-detect your compiler and automatically add a runtime library based on build configuration, when enabled. No need to manually add the runtime library. For ex: embedded software testing, server or cloud based testing.||Based on the embedded target, you need to manually add runtime library.|
|You can run existing unit tests or functional tests or system tests and automatically generate code coverage reports using the rktracer tool.||Only selected testing types are supported.|
|Detailed coverage metrics Function, Line, Statement, Decision/Branch Condition Coverage, MC/DC Coverage, Multiple Condition Coverage, Delta Code Coverage and Code Coverage for New/Modified lines of code||Basic coverage metrics Function coverage, Line Coverage, Branch Coverage|
|Detailed and in-depth line coloring |
Green color: Fully covered code
Yellow color: Partially covered code
Red color: Not covered code
As a result, if a single line has multiple statements or conditions. The RKTracer report will highlight parts of code executed in the same line with more in-depth coverage information, i.e., covered, partially covered, and not covered.
|Basic complete line coloring |
Green color: covered
Red colour: not covered
As a result, if a single line has multiple statements or conditions. If one condition or statement is covered, the tool will highlight the complete line in green, red shows coverage information
|Every easy to configure as the RKTracer tool comes with a plugin for Jenkins, SonarQube, and Azure DevOps.||Use third-party tools for Jenkins or SonarQube, or Azure DevOps|
RKTracer automation tool has been developed and streamlined with end-user input and feedback. It is the only tool that I’ve come across which does not require a lot of time or technical expertise to implement and use.
- RKTracer doesn’t add environment variables.
- RKTracer executable directory will be appended to the search path so that rktracer executables won’t interfere with other applications running in the same build system.
- No extra wrapper directory is required by the RKTracer tool.
- RKTracer tool is not affected by most of the compiler options or flags issues.
- Modern/latest and robust parsers to hand parser issues with syntax ambiguities.
- We can easily add support for new programming languages as a plugin to the RKTracer tool.
RKTracer Automation Tool features
- It is a very easy-to-use tool.
- It automatically generates unit tests in GoogleTest (GTest) or the Unity framework for C/C++ based applications.
- It has an easy-to-use user interface to design and generate unit tests.
- It supports both unit testing, integration testing ,functional testing, system testing, Docker and Cloud testing.
- It supports all compilers, cross-compilers, embedded targets, microcontrollers, and cloud-based testing or testing applications in Docker.
- supports all build systems and testing frameworks.
- GNU Makefile, Cygwin, Nmake, gmake, QT Makefile,
- Microsoft Visual Studio CMake
- MinGW CMake
- Nmake CMake
- GNU CMake
- MSBuild C, C++, and C#
- Dotnet (.NET core)
- Gradle build and NDK build
- Maven builds
- ANT build
- The RKTracer tool plugin for IDEs.
- Microsoft Visual Studio IDE.
- IAR Embedded Workbench IDE
- Greenhill’s Multi IDE
- Code Composer Studio IDE
- Keil uVision/Keil MDK-ARM IDE
- DS-5 ARM IDE
- Simplicity Studio IDE
- Microchip MPLAB IDE
- Renesas e2 Studio IDE
- Android Studio IDE
- Tizen IDE
- Eclipse IDE
- NetBeans IDE
- Detailed Code Coverage information with different metrics.
- Function Coverage
- Line Coverage
- Green: Full Coverage
- Yellow: Partial Coverage
- Red: Not Covered
- Statement Coverage
- Branch or Decision Coverage
- Condition Coverage
- MC/DC Code Coverage
- Multiple-Condition Code Coverage
- Delta Code Coverage and Coverage for New or Modified Lines of Code
- Plugin for Continuous Integration: Jenkins, Azure DevOps, and SonarQube support.