How Can We Help?
< All Topics
Print

About RKTracer Code Coverage Tool

RKTracer Code Coverage Tool

 

We at RKvalidate have developed a new and innovative RKTracer code coverage tool based on our years of experience in software testing. With three simple steps, it shows you how much of your codebase has been covered by testing, and it raises red flags when coverage falls below expectations.

Why RKTracer Code Coverage Tool?

RKTracer is a versatile and easy-to-use code coverage tool. It integrates seamlessly with your environment, so there is no need to change anything. Generating code coverage reports takes 3 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.

It’s quick and easy to get set up. Just prefix the rktracer keyword to your build command for whichever system you’re using and continue building and testing. Afterward, run the `rkresults` command to generate coverage reports.

With RKTracer tool plugins for IDEs, you can continue your build and testing process and generate reports with just three clicks at the end of your project.

Supports Unit Testing

Supports all types of testing, including Unit Testing, Integration Testing, Function Testing, Manual 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

  • Delta Code Coverage 
  • Code Coverage for New/Modified lines of code

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, red show coverage information

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 executed in the same line with more in-depth coverage information, 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

RKTracer code coverage 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 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.

 

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
  • Delta Code Coverage and Coverage for New/Modified lines of code.
  • Supports all test frameworks.
  • Plugin for Continuous Integration Jenkins, Azure DevOps, and SonarQube support.
Next RKTracer Configuration File
Table of Contents