How Can We Help?
< All Topics
Print

About RKTracer Code Coverage Tool

About RKTracer Code Coverage Tool

RKTracer Code Coverage Tool

We have developed the RKTracer code coverage tool based on our 23+ years of experience in the software testing industry to overcome challenges associated with existing code coverage tools.

Why RKTracer Code Coverage Tool?

The RKTracer tool can easily integrate with your existing build environment with zero modifications to your build system and generate code coverage reports with three simple steps.

  1. Turn ON RKTracer and rebuild to instrument the application.
  2. Test the instrumented application in the runtime environment.  Testing can be unit testing or functional testing.
  3. Generate Code Coverage Reports.

 

Existing Test/Code Coverage Tools 

RKTracer Code Coverage Tool

Supports selected programming languages

Supports C, C++, Obj-C, C#, Java, Kotlin, JavaScript, Python, Golang, Swift and can easily add support for additional programming languages in no time.

Supports selected compilers, cross-compilers, and embedded hardware.

Supports all compilers, cross-compilers, and Embedded hardware. 

Supports all embedded hardware/targets with no file system or very little memory like microcontrollers etc.

RKTracer tool has a very low memory overhead compared to any other tool.

Very difficult to configure and use.

Every easy to configure and use. Just prefix rktracer keyword to build command irrespective of the build system, then continue building and testing. In the end, run the rkresults command to generate coverage reports.

Plugin for multiple IDEs.Just enable the RKTracer tool in IDE, continue with build and testing. In the end, generate reports with just one click.

Supports Unit Testing

Supports Unit Testing and Function Testing.

Once you prefix/enable the RKTracer tool and rebuild. No matter how you test your application. You can generate coverage data using the RKTracer tool.

Open-source tools will instrument optimized compiler code. As a result, you will not get accurate code coverage data. 

RKTracer tool will Instrument at the source code level, and you will see every part of the code covered and not covered at runtime testing.

Basic coverage metrics

  • Function coverage

  • Line Coverage

  • Branch Coverage

Detailed coverage metrics

  • Function Coverage

  • Line Coverage

  • Statement Coverage

  • Decision/Branch Coverage

  • Condition Coverage

  • MC/DC Coverage

  • Multiple Condition Coverage

Basic complete line coloring

  • Green color: covered

  • Red color: 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 color, giving wrong information to the tester.

Detailed and deep line coloring

  • Green color: Covered

  • Yellow color: Partially Covered

  • Red color: Not covered

As a result, if a single line has multiple statements or conditions.RKTracer report will highlight parts of code in a single line, i.e., covered, partially covered, and not covered.

Use third-party tools for Jenkins or SonarQube, or Azure DevOps

Every easy to configure as RKTracer tool comes with a plugin for Jenkins, SonarQube, and Azure DevOps

Standard Build Environment

Without-Rktracer-working-principles

RKTracer tool working principle

RKTracer-working-principles

The RKTracer Tool has been developed by eliminating most quirks, error-prone algorithms, complex configuration options, and difficulty in configuring tool by end-user. When compared to any other source code level instrumentation testing tools, runtime debugger, profilers, etc.

  • 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.

 

The RKTracer tool can easily integrate with the existing build environment and generate code coverage reports with three simple steps.

  1. Turn ON RKTracer and rebuild to instrument the application.
  2. Test the instrumented application in the runtime environment.  Testing can be unit testing or functional testing.
  3. Generate Code Coverage Reports.

RKTracer Code Coverage Tool Features

  • Very easy to use a tool
  • Supports both unit testing and functional testing/integration testing.
  • Supports multiple languages C, C++, Objective-C, C#, Java, Kotlin, JavaScript(ReactJs/nodeJS), Python, Golang, and Swift languages.
  • Supports all compilers, cross-compilers, and embedded targets/microcontrollers.
  • Supports all build systems and tests framework.
    • GNU Makefile, Cygwin, Nmake, gmake, QT Makefile,
    • Scons
    • Cmake:
    • Microsoft Visual studio cmake
    • MinGW cmake
    • nmake cmake
    • GNU cmake
    • MSBuild C,C++ and C# 
    • dotnet (.NET core)
    • Gradle build and NDK build
    • Maven build
    • ANT build
    • Bazel 
  •  The RKTracer tool plugin for IDEs.
    • Microsoft Visual Studio IDE.
    • IAR Embedded Workbench IDE
    • Greenhills Multi IDE
    • Code Composer Studio IDE
    • Keil uvision/Keil MDK-ARM IDE
    • DS-5 ARM IDE
    • Microchip MPLAB IDE
    • Renesas e2 Studio IDE
    • Android Studio IDE
    • Tizen IDE
    • Eclipse IDE
    • Netbeans
  • Detailed Code Coverage information with different metrics.
    • Function Coverage
    • Line Coverage
      •     Green: Fully Coverage
      •     Yellow: Partial Coverage
      •     Red: Not Covered
    • Statement Coverage
    • Branch or Decision Coverage
    • Condition Coverage
    • MC/DC Code Coverage
    • Multiple-Condition Code Coverage
  • Supports all test frameworks.
  • Plugin for Continuous Integration Jenkins, Azure DevOps, and SonarQube support.
Next Why You Need Code Coverage Metrics
Table of Contents