In this report, we have analyzed over 20 code coverage tools to help developers find the best tool to fit their needs. With so many options available, it can be overwhelming to decide which tool to use for your project. We have taken the time to thoroughly test and evaluate each tool based on a set of criteria that we believe are important for any developer looking to improve their code coverage. Our goal is to provide an objective review of these tools to help developers make an informed decision and ultimately improve the quality and reliability of their code.
Does the tool easily integrate with popular testing frameworks and other tools developers are using
How detailed and accurate is the tool's code coverage analysis?
Developers can easily take action to resolve the code coverage gaps detected
The tool should be affordable for the team
Large teams can have hundreds of repositories or a monorepo that utilizes a variety of testing frameworks. The ideal code coverage solution for large teams needs to support many repository structures, testing frameworks along with the ability to track code coverage metrics across more abstract levels like a project, which can contain many individual repos or many directories in a monorepo.
Additionally, for larger teams the solution needs to track code coverage on a team and developer level to make sure everyone is meeting the code coverage requirements of the organization.
We think CodeCov is the ideal solution for large teams. It has a variety of custom visualizations that may seem like extra fluff for smaller teams, but can be invaluable for managing a large scale engineering organization. These customer visualizations are on their own platform outside of your version control, which again might be additional overhead for smaller, or more nimble organizations but can be a benefit for when you have senior managers who are tracking key code coverage metrics across many repos, projects, teams, and developers.
Open source projects often have contributors from various backgrounds and experience levels, which can lead to inconsistent testing practices and varying code coverage across the codebase. To ensure the reliability and quality of the project, it’s important to have a code coverage solution that is easy to integrate with various testing frameworks and provides accurate insights into the code coverage.
Additionally, the code coverage solution should have publicly available reporting of the code coverage analysis so experienced contributors can see what code coverage gaps they should tackle next, new or aspiring contributors can add code coverage as an introductory contribution to the project, and consumers of the open source project can get an understanding of the quality or the project and testing scrutiny it is under.
We think Coveralls is the ideal code coverage tool for open source projects. It’s reports are publicly available and offer a nice summary of test coverage in addition to more detailed reports so developers using the open source project can analyze if the testing scrutiny meets their requirements. Additionally, it offers a badge that can be displayed on the open source project’s repository so the project contributors can showcase their code coverage level easily on GitHub. Coveralls is also free for all open source projects…….
We think these are the reasons many notable open source projects like React, Express, Rails Admin utilize Coveralls as their go-to code coverage tool and recommend you do too.
In our opinion, the most important trait a code coverage tool can have is an actionable coverage report. Meaning, a developer has to be able to easily understand the gaps in code coverage is and how to fill them. While many of the 20+ code coverage tools we tested for this review were able to detect code coverage gaps effectively, however none of them provided easy to follow next steps for the developer to plug those gaps.
Because of this and the suffering from the problem first-hand through leading a large engineering team by day and developing projects on my own in the evenings I decided to build a code coverage tool – SoftwareTesting.ai. It harness the power of an in-depth code coverage report to generate suggested unit tests for your coverage gaps all in your GitHub PR, through PR comments. All you need to do is review the comments, edit them to your liking, and commit them to your codebase (this can all be done in the GitHub UI).
In our opinion, the most important trait a code coverage tool can have is an actionable coverage report. Meaning, a developer has to be able to easily understand the gaps in code coverage is and how to fill them. While many of the 20+ code coverage tools we tested for this review were able to detect code coverage gaps effectively, however none of them provided easy to follow next steps for the developer to plug those gaps.
Because of this and the suffering from the problem first-hand through leading a large engineering team by day and developing projects on my own in the evenings I decided to build a code coverage tool – SoftwareTesting.ai. It harness the power of an in-depth code coverage report to generate suggested unit tests for your coverage gaps all in your GitHub PR, through PR comments. All you need to do is review the comments, edit them to your liking, and commit them to your codebase (this can all be done in the GitHub UI).
CodeCov is a code coverage tool that provides detailed coverage metrics and insights to help developers understand the health of their codebase. The tool can be used for a variety of programming languages and integrates with popular testing frameworks, build systems, and CI/CD pipelines.
CodeCov is trusted by a number of high-profile companies, including Philips, Oracle, Brex, and Loom, to ensure their code is thoroughly tested and well-maintained.These companies rely on CodeCov’s robust features, such as pull request and branch coverage, to identify potential issues and improve code quality before deployment.
CodeCov Supports over 30 languages. The most popular are:
You can review the full list of CodeCov’s supported languages here: https://about.codecov.io/product/integrations/
While CodeCov is not Open Source, it is completely free for all Open Source projects. They have a tiered pricing model. Based on our usage and review, we think the current Pro tier covers the features most teams will need from CodeCov.
You can review more information about CodeCov’s pricing model on their pricing guide here: https://about.codecov.io/pricing/
The customer reviews of CodeCov are generally positive, however there is an underlying theme with the reviews that the tool is “cool”, but does not necessarily have a unique selling point for all potential users in their market.
CodeCov supports a myriad of languages and integrations. It’s dashboard has many visualizations and collects a lot of different metrics which is very helpful for tracking code coverage quality across a large engineering organization. These in depth dashboards however are information overload for small teams that just want to monitor and improve their code coverage. This is what lead us to rating CodeCov as the Best Code Coverage Tool for Large Teams.
Coveralls is another popular code coverage tool that provides developers with detailed insights into their code’s test coverage. The tool supports a wide range of programming languages and can integrate with various CI/CD pipelines and testing frameworks. With Coveralls, developers can easily track the progress of their codebase’s test coverage over time and identify any areas that require additional testing or attention. Additionally, Coveralls’ intuitive user interface makes it easy for teams to collaborate on improving their code quality and ensuring the overall health of their projects.
Coveralls has a robust customer base of well respected tech companies like Google, Amazon, Facebook, Microsoft, and Netflix. Most of these companies however are mainly using Coveralls for their open source projects and not to much for internal development (more on that later 🙂)
Coveralls supports over 15 languages. The main ones are:
Coveralls is free for Open Source projects and has a different pricing model from CodeCov. While CodeCov is user based and a tiered approach (unlocking additional functionality as you move up the theirs) Coveralls instead is fully featured at each tier, the tiers are distinguished by a combination of the amount of users and amount of repositories.
Additionally, Coveralls has an additional “Cloud + Enterprise” plan which includes custom SLAs and premium support.
You can review more information about Coverall’s pricing model on their pricing guide here: https://coveralls.io/pricing
The sentiment of Coveralls reviews is generally higher than CodeCov’s however one trend in the reviews is that it may be a bit tricky to set up Coveralls for your desired language. Additionally, many public reviews are a bit outdated, so it is a hard to tell if the reviewers’ concerns have been addressed in recent releases.
Coveralls has a robust free tier which includes all features of paid versions that it gives for free to Open Source projects. This full feature set is one of the reasons why we believe it is so heavily used a favored by Open Source projects and major companies driving open source initiatives. Their pricing model is also more affordable for smaller teams, but you pay for that reduced price in less code coverage analytics functionality than CodeCov. Coveralls support of Open Source is why we ranked it the best Code Coverage Tool for Open Source Projects
Atlassian Clover, an open-source code coverage tool from Atlassian, is a powerful solution for tracking code coverage in Java-based projects. The tool integrates seamlessly with popular build systems and CI/CD pipelines, making it easy to incorporate into existing workflows. Clover provides detailed reporting and analytics on test coverage, enabling developers to quickly identify areas of their codebase that require additional testing. While Clover only supports Java-based projects, it offers a range of features and customization options that make it a popular choice among Java developers.
There is not to many public details about the users of Atlassian’s Clover offering. However, we predict that Atlassian is using this internally since it is their tool.
Clover only supports Java
Since Clover is Open Source it is free to use as long as you abide by their open source license requirements
We think Clover is highly optimal for the specific scenario where the team uses exclusively (or primarily) the Java programming language in combination with the Atlassian tool suite like Jira and Confluence.
The reality is though that many tech stacks span multiple languages. So we think Clover is good option for backend teams or departments that use Jira.
Codacy is a comprehensive quality management tool that helps developers ensure their code meets industry standards and best practices. The platform offers a range of features, including code analysis, code coverage, code duplication analysis, and security analysis. Codacy supports a wide range of programming languages, making it a versatile tool for development teams working on diverse projects. With Codacy, developers can easily identify issues in their code, collaborate on solutions, and track the overall quality of their projects over time. Additionally, Codacy integrates with popular build systems and CI/CD pipelines, making it easy to incorporate into existing workflows.
Codacy is trusted by industry leaders such as Adobe, PayPal, and Autodesk to maintain code quality and security. Its comprehensive quality management toolset enables streamlined code review and assurance processes, ensuring reliable and high-quality software products. With support for multiple programming languages and easy integration with popular build systems and CI/CD pipelines, Codacy is a versatile and widely-used tool for development teams across various industries.
Codacy Quality supports over 40 languages, here are the most popular ones:
Codacy Quality is free for open source teams and offers a “Teams” tier for $15 a month per user. Codacy also offers and enterprise tier as well.
Codacy has a significant amount of recent reviews and is generally highly rated by its users. A trend in the reviews is that it lacks support for the Java Lombok library.
Codacy Quality is a great tool that gives back to the open source community by providing their product for free for open source teams. It provides a great UI and is good for medium to large teams.
We believe that most of these code coverage tools are missing the true reason why developers are adopting their tool in the first place. Developers want to code with confidence, the analytics provided by the tools above are very helpful for Tech Leads and Management who want to track metrics at scale, but they don’t add more value to the developer than just the code coverage report export that you get from your testing framework for the developer. In fact, CodeCov even advertises that they can just take the coverage reports from 30+ testing frameworks for their UI and metric tracking (https://about.codecov.io/blog/the-best-code-coverage-tools-by-programming-language/).
This resulted in us thinking about how we can empower developers to have more confidence in their code. They would be able to do this by understanding the coverage gaps in their code and how to fill them. This is what SoftwareTesting.ai sets out to achieve, we provide suggestions on how to fill the code coverage gaps your favorite testing framework’s coverage report detects.
These suggestions empower the developer to ship code faster and have a confidence that their code is of a high degree of quality.
If you are interested to find out more about softwaretesting.ai and
Join the hundreds of developers using softwaretesting.ai to code with confidence check out our product here!