Diffblue Cover is an automated unit test-writing tool. It analyses your existing Java application and writes unit tests that reflect the current behavior, increasing test coverage and helping you find regressions in future code changes. Cover automatically maintains the tests by updating them when your code changes. Cover supports Java 8, 11, 17 and 21, Spring and Spring Boot. Cover is available as a CLI tool for Windows, Linux and macOS, and works 100% autonomously, configuring itself from your Maven or Gradle environment. There is also a Cover plug-in for IntelliJ IDEA for interactive test writing.
Highlights
Automatically create comprehensive unit tests for your Java application
Improve regression suites to help developers better understand the impact of code changes, enabling more agile development practices
The Diffblue Cover Reports analytics dashboard gives you actionable insights into the quality of your applications
Access real-time vendor security and compliance information through their Trust Center powered by Drata or Vanta. Review certifications and security standards before purchase.
AWS Marketplace now accepts line of credit payments through the PNC Vendor Finance program. This program is available to select AWS customers in the US, excluding NV, NC, ND, TN, & VT.
Pricing is based on the duration and terms of your contract with the vendor. This entitles you to a specified quantity of use for the contract duration. If you choose not to renew or replace your contract before it ends, access to these entitlements will expire.
Additional AWS infrastructure costs may apply. Use the AWS Pricing Calculator to estimate your infrastructure costs.
Diffblue Cover is sold as a single contract based on the size of your codebase. You pay for coverage of up to 200,000 lines of code. Pricing is measured in units tied to lines of code, so it scales with how much of your project you need to test. There are no separate tiers or add-ons to select. You commit to one contract that covers your code up to the stated line limit.
Top-of-mind questions for buyers
How is a line of code counted toward the 200,000-line limit?
Your contract covers up to 200,000 lines of code across the project the product tests. The count reflects the size of the codebase it generates unit tests for. The product works with Java and Python projects.
What happens if my codebase grows beyond 200,000 lines of code?
Your contract covers up to 200,000 lines of code. Code beyond that limit falls outside this contract's coverage. To test a larger codebase, contact the vendor about coverage for the additional lines.
What does the product actually do with the code I license coverage for?
The product generates regression unit tests for Java and Python projects. It runs locally, breaks work into partitions, and validates results automatically. Only verified tests get committed to your branch, and failed output is rolled back.
docs.diffblue.com
Helpful?
Vendor refund policy
We do not currently support refunds, but you can cancel at any time.
How can we make this page better?
Tell us how we can improve this page, or report an issue with this product.
Give us feedbackReport a problem with this product or seller
Legal
Vendor terms and conditions
Upon subscribing to this product, you must acknowledge and agree to the terms and conditions outlined in the vendor's End User License Agreement (EULA).
Content disclaimer
Vendors are responsible for their product descriptions and other product content. AWS does not warrant that vendors' product descriptions or other product content are accurate, complete, reliable, current, or error-free.
An AMI is a virtual image that provides the information required to launch an instance. Amazon EC2 (Elastic Compute Cloud) instances are virtual servers on which you can run your applications and workloads, offering varying combinations of CPU, memory, storage, and networking resources. You can launch as many instances from as many different AMIs as you need.
Access the Diffblue Cover Reports dashboard via a browser at http://<public_ip_or_dns>:8080. To connect to the operating system, use SSH and the username ubuntu.
The data provided by the user while interacting with the software is stored on the instance only.
The software does not encrypt the data stored on the instance.
AWS Support is a one-on-one, fast-response support channel that is staffed 24x7x365 with experienced and technical support engineers. The service helps customers of all sizes and technical abilities to successfully utilize the products and features provided by Amazon Web Services.
Very efficient Test Writing - Can't code without it
Reviewed on Nov 21, 2024
Review provided by G2
What do you like best about the product?
It speeds up my test writing, saves me a lot of time, and even makes the process more enjoyable. I like seeing the tests written for my code. They are unbiased and can confirm if the behavior is what I expect. I'd recommend Diffblue Cover to anyone writing code in Java.
What do you dislike about the product?
Primarily, I wish Diffblue supported more languages so I could use it for other applications.
What problems is the product solving and how is that benefiting you?
Writing tests was not enjoyable and often time-consuming, occasionally leading to low-quality tests just to meet the coverage requirements. With Diffblue, the process is much faster, ensuring higher-quality coverage and more time to focus in more important tasks.
Financial Services
As an experienced full stack engineer I have the experience to share.
Reviewed on Nov 03, 2024
Review provided by G2
What do you like best about the product?
One of the best things about Diffblue Cover is how much time it saves! It’s honestly so useful in auto-generating unit tests, which otherwise can be super tedious to write by hand. Especially when working with older codebases that don’t have any existing tests, Diffblue just jumps in and handles it, which is a huge relief. Having these tests gives us more confidence that our code changes won’t break anything crucial – definitely helpful for speeding up our workflow too!
What do you dislike about the product?
There are a few things that could be better with Diffblue Cover. Sometimes, the tests it generates aren’t fully comprehensive, so we still have to go in and tweak them ourselves for more complex logic. It’s mostly focused on Java, which can be limiting if you’re in a mixed environment with other languages. And, depending on the project setup, getting it configured can take a bit longer than expected sometimes.
What problems is the product solving and how is that benefiting you?
Diffblue Cover is really helping us keep up with test coverage without wasting loads of time on it. Normally, writing all those tests takes ages, especially for bigger projects or older code. By automating the process, it’s letting us catch issues early on and prevents a lot of potential bugs slipping through. It’s made our development cycles a lot quicker, so we can focus on building new stuff rather than getting bogged down in test writing
Banking
Efficient Test Automation with Minor Limitations
Reviewed on Oct 29, 2024
Review provided by G2
What do you like best about the product?
What I like most about Diffblue Cover is, honestly, how much time it saves. It just - takes care of unit tests automatically, which is great because setting those up can be such a time sink. Especially with older code that’s missing tests; it’s a huge help. Plus, it ‘gets’ even the tricky parts of the code, so I don’t have to double-check everything. Basically, it lets me focus on building things instead of getting bogged down in tests.
What do you dislike about the product?
A few things about Diffblue Cover that aren’t perfect - for one, it doesn’t always catch every edge case. Like, sometimes it’ll miss those really specific scenarios you might run into with complex code. Also, the setup can feel a bit clunky at first, especially if you’re working with a big codebase; it’s not exactly plug-and-play. And sure, while it does a lot, it’s still no replacement for a full test suite crafted by someone who knows the ins and outs of the app.
What problems is the product solving and how is that benefiting you?
For me, Diffblue Cover has been huge in dealing with all the legacy code we have here. Since we’re working with such a massive codebase, setting up tests for everything manually would be a nightmare (and probably impossible). Diffblue basically automates that—like, I don’t have to dive into every corner just to get basic test coverage. It also gives me more confidence in making updates because I know there’s at least some safety net in place, which, let’s be real, helps when you’re just starting out in a big company. And since time’s tight, I can focus more on learning and actually building stuff instead of getting stuck doing repetitive testing work.
Philip R.
Generating Java Unit Tests on Autopilot
Reviewed on Jun 17, 2024
Review provided by G2
What do you like best about the product?
As an IT consultant with a fokus on Spring Boot and testing, I am always on the lookout for tools that can enhance my productivity and make automated testing more easy to tackle for team.
Recently, I had the opportunity to integrate Diffblue Cover into my workflow for one project.
Here's what I liked most about Diffblue Cover:
Automatically Generate Tests for Legacy Projects
For brownfield and legacy projects that have little to no test coverage, Diffblue Cover quickly helps to provide a base test coverage for the project. Writing hundred of tests manually for classes you've never seen before is a cumbersome and time-consuming process. With the help of Diffblue Cover, I could easily generate a test-baseline while executing a single command. This is a great benefit to avoid regressions due to untested code.
Simple Test Skeleton Generation
Another major advantage of Diffblue is its capability to generate test skeletons. As Diffblue Cover analyzes the matching production code, it will generate tests for corner cases and all exeuction paths (if-else branches). These tests come with the relevant setup and test data to verify the class under test.
Increased Productivity
Diffblue Cover comes with both an IntelliJ IDEA integration as well as a CLI tool. The IDE integration helped me during daily development to trigger Diffblue's reinforcement learning model to analyze the code and write tests. The integration in the IDE is easy to install and user-friendly. You generate tests with a click on the method you want test for.
For larger codebases and to automate the test generation process, the CLI tool helps to include Diffblue Cover into a pipeline or CI/CD workflow.
What do you dislike about the product?
While my overall experience with Diffblue Cover is positive, there are a few areas where the tool could improve its functionality.
Test Method Naming
One of the areas where Diffblue can improve is in the generation of test method names. The generated names, while functional, often lack the clarity and descriptiveness for test cases.
Clear and descriptive method names are important for maintaining readable and maintainable code. When Diffblue Cover creates mutliple tests for a single method, it uses counter in the test method name to differentiate the tests. A better approach could be to include the actual test corner case in the method name.
Going Beyond Unit Tests
As Diffblue Cover focusses on the unit testing part of Java applications, developers can't fully use the tool on auto-pilot for a covering test suite.
While Spring Boot and Spring Test offer excellent support for sliced testing and integration testing, developers have to consider when a unit test is sufficient and when to write a broader integration test.
The potential danger lies in neclacting integration tests when focussing only on the unit testing part. While this is not an issue of Diffblue Cover per se, developers might be tempted to write less integration test. This highly depends on the context of the class under test.
What problems is the product solving and how is that benefiting you?
Write Java unit tests on scale, help generate test skeletons, generate a test baseline for untested and legacy Java code