Compare the Top Code Coverage Tools for Linux as of November 2024

What are Code Coverage Tools for Linux?

Code coverage tools are software utilities designed to analyze the source code of an application and report on the level of code that is tested by automated tests. They usually measure the percentage of lines, blocks, or branches of code that have been executed in a test suite. Many popular programming languages have their own code coverage tools available for developers to use. Compare and read user reviews of the best Code Coverage tools for Linux currently available using the table below. This list is updated regularly.

  • 1
    Sahi Pro

    Sahi Pro

    Tyto Software Pvt Ltd

    Sahi Pro is a no-code test automation tool for web, desktop, mobile, and SAP applications. Sahi Pro empowers business testers and automation engineers to streamline their test automation processes. Sahi Pro reduces the time, effort, and complexity involved in test automation, making it an ideal choice for various domains including automobile, healthcare and BFSI. Features: 1. Non-flaky Test Execution - For reliable test results and reduced time wastage in analysis of false-positives or false-negatives. 2. Supports Multiple Technologies - Achieve end to end automation across technologies. 3. No-code Automation - Enable non-technical business testers to automate. 4. Integrations - Integrate and work with your existing ecosystem. Testers using Sahi Pro easily automate complex tests without writing code. With Sahi Pro, you can achieve faster release cycles, improved software quality, & reduced costs. Our customers love Sahi Pro for its speed, flexibility, and ease of use.
    Starting Price: $835/year/user
    View Tool
    Visit Website
  • 2
    Parasoft

    Parasoft

    Parasoft

    Parasoft helps organizations continuously deliver high-quality software with its AI-powered software testing platform and automated test solutions. Supporting embedded and enterprise markets, Parasoft’s proven technologies reduce the time, effort, and cost of delivering secure, reliable, and compliant software by integrating everything from deep code analysis and unit testing to UI and API testing, plus service virtualization and complete code coverage, into the delivery pipeline. A powerful unified C and C++ test automation solution for static analysis, unit testing and structural code coverage, Parasoft C/C++test helps satisfy compliance with industry functional safety and security requirements for embedded software systems.
    Leader badge
    Starting Price: $125/user/mo
    Partner badge
    View Tool
    Visit Website
  • 3
    GoLand

    GoLand

    JetBrains

    On-the-fly error detection and suggestions for fixes, quick and safe refactorings with one-step undo, intelligent code completion, dead code detection, and documentation hints help all Go developers, from newbies to experienced professionals, to create fast, efficient, and reliable code. Exploring and understanding team, legacy, or foreign projects takes a lot of time and effort. GoLand code navigation helps you get around with instant switching to shadowed methods, implementations, usages, declarations, or interfaces implemented by types. Jump between types, files or any other symbols, or find their usages and examine them with convenient grouping by usage type. Powerful built-in tools help to run and debug your applications. You can write and debug tests without any additional plugins or configuration effort, and test your applications right in the IDE. A built-in Code Coverage tool will make sure that your tests don’t miss anything important.
    Starting Price: $199 per user per year
  • 4
    Go

    Go

    Golang

    With a strong ecosystem of tools and APIs on major cloud providers, it is easier than ever to build services with Go. With popular open source packages and a robust standard library, use Go to create fast and elegant CLIs. With enhanced memory performance and support for several IDEs, Go powers fast and scalable web applications. With fast build times, lean syntax, an automatic formatter and doc generator, Go is built to support both DevOps and SRE. Everything there is to know about Go. Get started on a new project or brush up for your existing Go code. An interactive introduction to Go in three sections. Each section concludes with a few exercises so you can practice what you've learned. The Playground allows anyone with a web browser to write Go code that we immediately compile, link, and run on our servers.
    Starting Price: Free
  • 5
    Tarpaulin

    Tarpaulin

    Tarpaulin

    Tarpaulin is a code coverage reporting tool for the cargo build system, named for a waterproof cloth used to cover cargo on a ship. Currently, tarpaulin provides working line coverage and while fairly reliable may still contain minor inaccuracies in the results. A lot of work has been done to get it working on a wide range of projects, but often unique combinations of packages and build features can cause issues so please report anything you find that's wrong. Also, check out our roadmap for planned features. On Linux Tarpaulin's default tracing backend is still Ptrace and will only work on x86 and x64 processors. This can be changed to the llvm coverage instrumentation with engine llvm, for Mac and Windows this is the default collection method. It can also be run in Docker, which is useful for when you don't use Linux but want to run it locally.
    Starting Price: Free
  • 6
    OpenCppCoverage

    OpenCppCoverage

    OpenCppCoverage

    OpenCppCoverage is an open-source code coverage tool for C++ under Windows. The main usage is for unit testing coverage, but you can also use it to know the executed lines in a program for debugging purposes. Support compiler with a program database file (.pdb). Just run your program with OpenCppCoverage, no need to recompile your application. Exclude a line based on a regular expression. Coverage aggregation, to run several code coverages and merge them into a single report. Requires Microsoft Visual Studio 2008 or higher for all editions including the Express edition. It should also work with the previous version of Visual Studio. You can run the tests with the Test Explorer window.
    Starting Price: Free
  • 7
    Appvance

    Appvance

    Appvance.ai

    Appvance IQ (AIQ) delivers transformational productivity gains and lower costs in both test creation and execution. For test creation, it offers both AI-driven (fully machine-generated tests) and also 3rd-generation, codeless scripting. It then executes those scripts through data-driven functional, performance, app-pen and API testing — for both web and mobile apps. AIQ’s self-healing technology gives you complete code coverage with just 10% the effort of traditional testing systems. Most importantly, AIQ finds important bugs autonomously, with little effort. No coding, scripting, logs or recording required. AIQ is easy to integrate with your current DevOps tools and processes. Appvance IQ was developed by a pioneering team who envisioned a better way to test. Their innovative vision has been made possible by applying differentiated, patented AI methods to test creation while leveraging today’s high-availability compute resources for massive levels of parallel execution.
  • 8
    froglogic Coco
    Coco® is a multi-language code coverage tool. Automatic source code instrumentation is used to measure test coverage of statements, branches and conditions. Executing a test suite against an instrumented application produces data that can later be analyzed. This analysis can be used to understand how much of the source code has been hit by tests, which additional tests need to be written, how the test coverage changed over time and more. Identify redundant tests, untested or dead code. Identify the impact of a patch on the code and code coverage & your testing. Coco supports statement coverage, branch coverage, MC/DC and other levels. Linux, Windows, RTOS and others. Using GCC, Visual Studio, embedded compilers and more. Choice of different report formats (text, HTML, XML, JUnit, Cobertura). Coco can also be integrated with various build, test and CI frameworks like JUnit, Jenkins and SonarQube.
    Starting Price: €124.17 per month
  • 9
    PHPUnit

    PHPUnit

    PHPUnit

    PHPUnit requires the dom and json extensions, which are normally enabled by default. PHPUnit also requires the pcre, reflection, and spl extensions. These standard extensions are enabled by default and cannot be disabled without patching PHP’s build system and/or C sources. The code coverage report feature requires the Xdebug (2.7.0 or later) and tokenizer extensions. Generating XML reports requires the xmlwriter extension. Unit Tests are primarily written as a good practice to help developers identify and fix bugs, to refactor code and to serve as documentation for a unit of software under test. To achieve these benefits, unit tests ideally should cover all the possible paths in a program. One unit test usually covers one specific path in one function or method. However a test method is not necessarily an encapsulated, independent entity. Often there are implicit dependencies between test methods, hidden in the implementation scenario of a test.
    Starting Price: Free
  • 10
    Devel::Cover
    This module provides code coverage metrics for Perl. Code coverage metrics describe how thoroughly tests exercise code. By using Devel::Cover you can discover areas of code not exercised by your tests and determine which tests to create to increase coverage. Code coverage can be considered an indirect measure of quality. Devel::Cover is now quite stable and provides many of the features to be expected in a useful coverage tool. Statement, branch, condition, subroutine, and pod coverage information is reported. Statement and subroutine coverage data should be accurate. Branch and condition coverage data should be mostly accurate too, although not always what one might initially expect. Pod coverage comes from Pod::Coverage. If Pod::Coverage::CountParents is available it will be used instead.
    Starting Price: Free
  • 11
    LuaCov

    LuaCov

    LuaCov

    LuaCov is a simple coverage analyzer for Lua scripts. When a Lua script is run with the luacov module loaded, it generates a stats file with the number of executions of each line of the script and its loaded modules. The luacov command-line script then processes this file generating a report file which allows one to visualize which code paths were not traversed, which is useful for verifying the effectiveness of a test suite. LuaCov includes several configuration options, which have their defaults stored in src/luacov/defaults.lua. These are the global defaults. To use project specific configuration, create a Lua script setting options as globals or returning a table with some options and store it as .luacov in the project directory from where luacov is being run. For example, this config informs LuaCov that only foo module and its submodules should be covered and that they are located inside src directory.
    Starting Price: Free
  • 12
    grcov

    grcov

    grcov

    grcov collects and aggregates code coverage information for multiple source files. grcov processes .profraw and .gcda files which can be generated from llvm/clang or gcc. grcov also processes lcov files (for JS coverage) and JaCoCo files (for Java coverage). Linux, macOS and Windows are supported.
    Starting Price: Free
  • 13
    kcov

    kcov

    kcov

    Kcov is a FreeBSD/Linux/OSX code coverage tester for compiled languages, Python and Bash. Kcov was originally a fork of Bcov, but has since evolved to support a large feature set in addition to that of Bcov. Kcov, like Bcov, uses DWARF debugging information for compiled programs to make it possible to collect coverage information without special compiler switches.
    Starting Price: Free
  • 14
    test_coverage
    A simple command-line tool to collect test coverage information from Dart VM tests. It is useful if you need to generate coverage reports locally during development.
    Starting Price: Free
  • 15
    coverage

    coverage

    pub.dev

    Coverage provides coverage data collection, manipulation, and formatting for Dart. Collect_coverage collects coverage JSON from the Dart VM Service. format_coverage formats JSON coverage data into either LCOV or pretty-printed format.
    Starting Price: Free
  • 16
    scct

    scct

    scct

    Mainly, a better-lookin' report UI, a simpler maven configuration. Add the plugin instrumentation settings to child projects and the report merging settings to the parent project.
    Starting Price: Free
  • 17
    cloverage

    cloverage

    cloverage

    Cloverage uses clojure.test by default. If you prefer use midje, pass the --runner :midje flag. (In older versions of Cloverage, you had to wrap your midje tests in clojure.test's deftest. This is no longer necessary.) For using eftest, pass the --runner :eftest flag. Optionally you could configure a runner passing :runner-opts with a map in project settings. Other test libraries may ship with their own support for Cloverage external to this library; see their documentation for details.
    Starting Price: Free
  • 18
    Slather

    Slather

    Slather

    Generate test coverage reports for Xcode projects & hook it into CI. Enable test coverage by ticking the "Gather coverage data" checkbox when editing a scheme.
    Starting Price: Free
  • 19
    Cobertura

    Cobertura

    Cobertura

    Cobertura is a free Java tool that calculates the percentage of code accessed by tests. It can be used to identify which parts of your Java program are lacking test coverage. It is based on jcoverage. Cobertura is free software. Most of it is licensed under the GNU GPL, and you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. Please review the file LICENSE.txt included in this distribution for further details.
    Starting Price: Free
  • 20
    BullseyeCoverage

    BullseyeCoverage

    Bullseye Testing Technology

    BullseyeCoverage is an advanced C++ code coverage tool used to improve the quality of software in vital systems such as enterprise applications, industrial control, medical, automotive, communications, aerospace and defense. The function coverage metric gives you a quick overview of testing completeness and indicates areas with no coverage at all. Use this metric to broadly raise coverage across all areas of your project. Condition/decision coverage provides detail at the control structure level. Use this metric to attain high coverage in specific areas, for example during unit testing. C/D coverage provides better detail than statement coverage or branch coverage, and provides much better productivity than more complex coverage metrics.
    Starting Price: $900 one-time payment
  • 21
    Coco
    Linux, Windows, RTOS and others. Using gcc, Visual Studio, embedded compilers and more. Merging multiple execution reports to provide advanced analysis and more outstanding features. Assess and optimize code performance with Coco’s built-in Function Profiler.
    Starting Price: $302 per month
  • 22
    Coverlet

    Coverlet

    Coverlet

    It works with .NET Framework on Windows and .NET Core on all supported platforms. Coverlet supports coverage for deterministic builds. The solution at the moment is not optimal and need a workaround. If you want to visualize coverlet output inside Visual Studio while you code, you can use the following addins depending on your platform. Coverlet also integrates with the build system to run code coverage after tests. Enabling code coverage is as simple as setting the CollectCoverage property to true. The coverlet tool is invoked by specifying the path to the assembly that contains the unit tests. You also need to specify the test runner and the arguments to pass to the test runner using the --target and --targetargs options respectively. The invocation of the test runner with the supplied arguments must not involve a recompilation of the unit test assembly or no coverage result will be generated.
    Starting Price: Free
  • 23
    NCover

    NCover

    NCover

    NCover Desktop is a Windows application that helps you collect code coverage statistics for .NET applications and services. After coverage is collected, Desktop displays charts and coverage metrics in a browser-based GUI that allows you to drill all the way down to your individual lines of source code. Desktop also allows you the option to install a Visual Studio extension called Bolt. Bolt offers built-in code coverage that displays unit test results, timings, branch visualization and source code highlighting right in the Visual Studio IDE. NCover Desktop is a major leap forward in the ease and flexibility of code coverage tools. Code coverage, gathered while testing your .NET code, shows the NCover user what code was exercised during the test and gives a specific measurement of unit test coverage. By tracking these statistics over time, you gain a concrete measurement of code quality during the development cycle.
    Starting Price: Free
  • 24
    JaCoCo

    JaCoCo

    EclEmma

    JaCoCo is a free code coverage library for Java, which has been created by the EclEmma team based on the lessons learned from using and integrating existing libraries for many years. The master branch of JaCoCo is automatically built and published. Due to the test-driven development approach, every build is considered fully functional. See the change history for the latest features and bug fixes. SonarQube code quality metrics of the current JaCoCo implementation are available on SonarCloud.io. Integrate JaCoCo technology with your tools. Use JaCoCo tools out of the box. Improve the implementation and add new features. There are several open-source coverage technologies for Java available. While implementing the Eclipse plug-in EclEmma the observation was that none of them are really designed for integration. Most of them are specifically fit to a particular tool (Ant tasks, command line, IDE plug-in) and do not offer a documented API that allows embedding in different contexts.
    Starting Price: Free
  • 25
    OpenClover

    OpenClover

    OpenClover

    Balance your effort spent on writing applications and test code. Use the most sophisticated code coverage tool for Java and Groovy. OpenClover measures code coverage for Java and Groovy and collects over 20 code metrics. It not only shows you untested areas of your application but also combines coverage and metrics to find the riskiest code. The Test Optimization feature tracks which test cases are related to each class of your application code. Thanks to this OpenClover can run tests relevant to changes made in your application code, significantly reducing test execution time. Do testing getters and setters bring much value? Or machine-generated code? OpenClover outruns other tools in its flexibility to define the scope of coverage measurement. You can exclude packages, files, classes, methods, and even single statements. You can focus on testing important parts of your code. OpenClover not only records test results but also measures individual code coverage for every test.
    Starting Price: Free
  • 26
    JCov

    JCov

    OpenJDK

    The JCov open-source project is used to gather quality metrics associated with the production of test suites. JCov is being opened in order to facilitate the practice of verifying test execution of regression tests in OpenJDK development. The main motivation behind JCov is the transparency of test coverage metrics. The advantage to promoting standard coverage based on JCov is that OpenJDK developers will be able to use a code coverage tool that stays in the 'lock step' with Java language and VM developments. JCov is a pure java implementation of a code coverage tool that provides a means to measure and analyze dynamic code coverage of Java programs. JCov provides functionality to collect method, linear block, and branch coverage, as well as show uncovered execution paths. It is also able to show a program's source code annotated with coverage information. From a testing perspective, JCov is most useful to determine execution paths.
    Starting Price: Free
  • 27
    Istanbul

    Istanbul

    Istanbul

    JavaScript test coverage made simple. Istanbul instruments your ES5 and ES2015+ JavaScript code with line counters, so that you can track how well your unit-tests exercise your codebase. The nyc command-line-client for Istanbul works well with most JavaScript testing frameworks, tap, mocha, AVA, etc. First-class support of ES6/ES2015+ using babel-plugin-Istanbul. Support for the most popular JavaScript testing frameworks. Support for instrumenting subprocesses, using the nyc command-line interface. Adding coverage to your mocha tests could not be easier. Now, simply place the command nyc in front of your existing test command. nyc's instrument command can be used to instrument source files outside of the context of your unit tests. nyc is able to show you all Node processes that are spawned when running a test script under it. By default, nyc uses Istanbul's text reporter. However, you may specify an alternative reporter.
    Starting Price: Free
  • 28
    blanket.js

    blanket.js

    Blanket.js

    A seamless JavaScript code coverage library. Blanket.js is a code coverage tool for JavaScript that aims to be easy to install, easy to use, and easy to understand. Blanket.js can be run seamlessly or can be customized for your needs. JavaScript code coverage compliments your existing JavaScript tests by adding code coverage statistics (which lines of your source code are covered by your tests). Parsing the code using Esprima and node-falafel, and instrumenting the file by adding code tracking lines. Connecting to hooks in the test runner to output the coverage details after the tests have been completed. A Grunt plugin has been created to allow you to use Blanket like a "traditional" code coverage tool (creating instrumented copies of physical files, as opposed to live-instrumenting). Runs the QUnit-based Blanket report headlessly using PhantomJS. Results are displayed on the console, and the task will cause Grunt to fail if any of your configured coverage thresholds are not met.
    Starting Price: Free
  • 29
    jscoverage

    jscoverage

    jscoverage

    jscoverage tool, both node.js and JavaScript support. Enhance the coverage range. Use mocha to load the jscoverage module, then it works. jscoverage will append coverage info when you select list or spec or tap reporter in mocha. You can use covout to specify the reporter, like HTML, and detail. The detail reporter will print the uncovered code in the console directly. Mocha runs test case with jscoverage module. jscoverage will ignore files while listing in covignore file. jscoverage will output a report in HTML format. jscoverage will inject a group of functions into your module exports. default jscoverage will search covignore in the project root. jscoverage will copy exclude files from the source directory to the destination directory.
    Starting Price: Free
  • 30
    SimpleCov

    SimpleCov

    SimpleCov

    SimpleCov is a code coverage analysis tool for Ruby. It uses Ruby's built-in Coverage library to gather code coverage data, but makes processing its results much easier by providing a clean API to filter, group, merge, format, and display those results, giving you a complete code coverage suite that can be set up with just a couple lines of code. SimpleCov/Coverage track covered ruby code, gathering coverage for common templating solutions like erb, slim, and haml is not supported. In most cases, you'll want overall coverage results for your projects, including all types of tests, Cucumber features, etc. SimpleCov automatically takes care of this by caching and merging results when generating reports, so your report actually includes coverage across your test suites and thereby gives you a better picture of blank spots. SimpleCov must be running in the process that you want the code coverage analysis to happen on.
    Starting Price: Free
  • Previous
  • You're on page 1
  • 2
  • Next