Compare the Top Code Coverage Tools in Canada as of April 2025

What are Code Coverage Tools in Canada?

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 in Canada 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: $1499/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
    IntelliJ IDEA

    IntelliJ IDEA

    JetBrains

    IntelliJ IDEA is a JetBrains IDE for professional development in Java and Kotlin. It unlocks productive development and helps you write high-quality code with ease. Built to get the job done, it provides all of the essential tools and cutting-edge technology support you need. With a smooth, comfortable workflow and a strong focus on privacy and security, it lets you code with confidence and pleasure.
    Leader badge
    Starting Price: $16.90 per user per month
  • 4
    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
  • 5
    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
  • 6
    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
  • 7
    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
  • 8
    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
  • 9
    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
  • 10
    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
  • 11
    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
  • 12
    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
  • 13
    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
  • 14
    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
  • 15
    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
  • 16
    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
  • 17
    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
  • 18
    Coco

    Coco

    Qt Group

    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
  • 19
    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
  • 20
    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
  • 21
    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
  • 22
    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
  • 23
    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
  • 24
    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
  • 25
    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
  • 26
    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
  • 27
    UndercoverCI

    UndercoverCI

    UndercoverCI

    Actionable test coverage for Ruby and GitHub. Checks and insights to help your team ship healthy code while saving time on PR reviews. Stop focusing on getting to 100% test coverage. Reduce pull request defects by telling when the changed code is untested before it's deployed to production. The CI server runs tests and uploads coverage data to UndercoverCI. That's the only required post-install setup step! We scan the PR diff and verify local test coverage for each updated class, method, and block because an absolute percentage check is not enough. Reveal untested methods and blocks, find unused code paths, and improve your test suite. Install UndercoverCI's hosted GitHub App or explore the Ruby gems family. Fully-featured GitHub App code review integration with quick setup for your organization. The UndercoverCI project and related Ruby gems are entirely open-source and free to use locally and in your CI/CD workflows.
    Starting Price: $49 per month
  • 28
    DeepCover

    DeepCover

    DeepCover

    Deep Cover aims to be the best coverage tool for Ruby code. More accurate line coverage, and branch coverage. It can be used as a drop-in replacement for the built-in Coverage library. It reports a more accurate picture of your code usage. In particular, a line is considered covered if and only if it is entirely executed. Optionally, branch coverage will detect if some branches are never taken. MRI considers every method defined, including methods defined on objects or via define_method, class_eval, etc. For Istanbul output, DeepCover has a different approach and covers all def and all blocks. DeepCover doesn't consider loops to be branches, but it's easy to support them if needed. Even after DeepCover is required and configured, only a very minimal amount of code is actually loaded and coverage is not started. To make it easier to transition for projects already using the builtin Coverage library deep-cover can inject itself into those tools.
    Starting Price: Free
  • 29
    pytest-cov
    This plugin produces coverage reports. Compared to just using coverage run this plugin does some extras. Subprocess support, so you can fork or run stuff in a subprocess and will get covered without any fuss. Xdist support, so you can use all of pytest-xdist’s features and still get coverage. Consistent pytest behavior. All features offered by the coverage package should work, either through pytest-cov’s command line options or through coverage’s config file. Under certain scenarios, a stray .pth file may be left around in site packages. The data file is erased at the beginning of testing to ensure clean data for each test run. If you need to combine the coverage of several test runs you can use the --cov-append option to append this coverage data to coverage data from previous test runs. The data file is left at the end of testing so that it is possible to use normal coverage tools to examine it.
    Starting Price: Free
  • 30
    Xdebug

    Xdebug

    Xdebug

    Xdebug is an extension for PHP, and provides a range of features to improve the PHP development experience. A way to step through your code in your IDE or editor while the script is executing. An improved var_dump() function, stack traces for notices, warnings, errors, and exceptions to highlight the code path to the error. Writes every function call, with arguments and invocation location to disk. Optionally also includes every variable assignment and return value for each function. Allows you, with the help of visualization tools, to analyze the performance of your PHP application and find bottlenecks. Shows which parts of your code base are executed when running unit tests with PHPUnit. Installing Xdebug with a package manager is often the fastest way. You can substitute the PHP version with the one that matches the PHP version that you are running. You can install Xdebug through PECL on Linux & macOS with Homebrew.
    Starting Price: Free
  • Previous
  • You're on page 1
  • 2
  • Next