What is the RKTracer Tool?
RKTracer is an automated tool for creating unit tests, measuring code coverage, and finding dynamic errors. It’s designed for developers, testers, and QA teams.
With its easy-to-use interface, RKTracer helps you quickly build unit tests, check code coverage, and fix errors in safety-critical software. It supports both native host systems and embedded targets, making it a great choice for ensuring software reliability and quality in complex environments.
Why the RKTracer Tool ?
What are the benefits of using the RKTracer tool compared to other automated unit testing and structural coverage tools?
- The RKTracer is easy to learn and use. You can generate unit tests and code coverage metrics by simply prefixing the rktracer keyword to your build command or by enabling it in your IDE and rebuilding.
- The tool supports C, C++, CUDA, C#, Java, Kotlin, JavaScript, TypeScript, Python, Golang, and Swift.
- Because RKTracer works with all compilers, cross-compilers, IDEs, and embedded target or GPU devices, it provides peace of mind for your development process. It can also measure coverage for both host and device (GPU) code, including NVIDIA CUDA.
- With RKTracer, you can create unit tests in your current environment without importing your project into another tool. It supports Test-Driven Development (TDD) and can generate tests in the GoogleTest or Unity frameworks. You can then modify, enhance, run, and maintain these tests—even if you no longer use RKTracer.
- Beyond basic coverage, the tool also provides comprehensive, detailed coverage metrics for unit, integration, functional, and system testing on both host and target devices.
- In addition, its mutation testing reports indicate whether new or updated lines of code have been thoroughly tested, giving you confidence in your software’s reliability.
RKTracer Automation Tool | X Tools |
This is a very easy-to-use tool | It is 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 |
Support for NVIDIA CUDA for both host and device code on Windows and Linux platforms. | No Support for NVIDIA CUDA |
RKTracer will auto-detect your compiler and automatically add a runtime library based on build configuration, when enabled. There is no need to manually add the runtime library. For example: embedded software testing, server- or cloud based testing. | Based on the embedded target, you need to manually add runtime library. |
It works as a code coverage tool for applications in C, C++, CUDA, C#, Java, Kotlin, JavaScript, TypeScript, Python, Golang, and Swift languages. | Most of the tools support only C, C++, TCL, C# or Java. |
You can run existing unit tests, 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 |
It is 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 on 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 testing, and Cloud testing.
- It supports multiple programming languages: C, C++, CUDA, Objective-C, C#, Java, Kotlin, JavaScript (ReactJS/NodeJS), TypeScript, Python, Golang, and Swift.
- It automatically adds the runtime library for cross-compilation to the target device or GPU.
- It supports code coverage generation for CUDA on HOST and device (GPU) code.
- 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,
- Scons
- CMake
- Microsoft Visual Studio CMake
- MinGW CMake
- Nmake CMake
- GNU CMake
- MSBuild C, C++, CUDA and C#
- Dotnet (.NET core)
- Gradle build and NDK build
- Maven builds
- ANT build
- Bazel
- 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.