Diffblue Cover: Autonomous Java Unit Test Writing with AI for Code

Create, update and maintain Java applications with greater speed, confidence and insight

What Is Diffblue Cover?

Diffblue Cover gives enterprises and Java developers the means to unlock more value from unit testing, the key enabler of fast delivery of high-quality code.

Its core technology uses AI to autonomously write JUnit tests that are indistinguishable from those created by a developer. A range of additional features leverage this AI for Code platform to further increase coverage, accelerate development and reduce risk.

Cover operates at high speed: it can write more tests in hours than a typical developer could create in a full year, and automatically update your entire unit test library whenever subsequent code changes are made. For new or existing code, on the desktop or embedded in a CI pipeline, Cover eliminates tedious, repetitive, error-prone work from developer workloads.

Diffblue Cover Key Features

Diffblue Cover’s key features are built on the foundation of the product’s central AI for Code technology.

  • Diffblue Cover Core automatically writes and maintains Java unit tests. Cover Core is available in all versions of Diffblue Cover;
  • Diffblue Cover Reports visualizes the state of unit testing and pinpoints actionable insights that improve quality and efficiency;
  • Diffblue Cover Optimize cuts unit test execution test, for faster feedback, quicker deployment and lower costs;
  • Diffblue Cover Refactor improves existing code by making it more testable, automatically increasing test coverage;
  • Diffblue Cover Replay shifts more testing left, transforming slow functional tests into fast unit tests to accelerate development.

Learn More About What Diffblue Cover Can Do

Ready to try Diffblue Cover?

Try free for 14 days

How Your Dev Teams Benefit from Diffblue

Less manual effort and a lower risk of regressions generally mean faster deployment of code, greater productivity and fewer expensive production issues, but Diffblue Cover also helps Java teams achieve some specific goals.

Speeding up software delivery

Diffblue Cover writes unit tests at the click of a button so developers can spend their time on more creative work

Testing legacy code

Diffblue Cover quickly writes tests for large legacy codebases, and identifies untestable code that should be refactored

Adopting DevOps

Diffblue Cover's automatically written unit tests can help pinpoint regressions early and achieve continuous integration

Meeting coverage targets

Diffblue Cover creates unit tests in bulk to help your team quickly increase coverage

Migrating an app to the cloud

Diffblue Cover can support the transition by ensuring the code to be migrated is tested

Translating code into Java

Diffblue Cover's unit tests can help with successful code compilation

What Makes Diffblue Cover Different?

Cover is the only fully-automated, AI-powered solution that can automatically write new Java code, improve existing code, accelerate CI pipelines and provide deep insights into the risk of change.

Crucially, Cover’s code-writing technology - based on reinforcement learning rather than generative ‘transformer’ models - operates completely autonomously, without the manual intervention required by some other AI-assisted coding tools. Cover doesn’t just suggest code that might work for you - it writes new code completely automatically. The unit tests it produces accurately reflect the current behavior of your code and are ready to compile and run without developer intervention.

Keeping Your Code Secure

Recognizing the importance of security to every business - and particularly those in highly competitive or regulated industries - Cover runs entirely within your local user environment.

Diffblue Cover only relies on code your developers have written for your Java applications. It never uses code from other sources, like open source repositories. This fact, combined with a deterministic reinforcement learning approach to unit test writing, means that no connections to external servers are required.

With Diffblue Cover no data needs to leave your network.

How does it work?

Diffblue Cover analyzes your existing Java program and writes unit regression tests that reflect the current behavior of the code. Then when your code's behavior changes, Diffblue Cover's tests alert you.

Diffblue Cover can be installed on Linux, Windows and MacOS and runs 100% locally within your user environment. IntelliJ plugin and CLI options are available.

You can run Cover on your entire Java project, just one class, or anything in between (it gets your project structure and dependencies from Maven or Gradle). Cover supports Spring Java apps and writes tests that use standard Spring idioms and mocking.

How do I use it?

Cover is available as a CLI tool and as a plugin for IntelliJ IDEA

CLI Tool

Advanced Cover users prefer the CLI tool. It's more powerful, scriptable, and can generate tests for entire projects with a single command. The CLI tool works 100% autonomously, configuring itself from your Maven or Gradle environment.

The power of Cover’s CLI is what allows it to be added to a CI pipeline. Each time a pull request is opened Cover can automatically create, execute and update your unit test library at appropriate points in the process.

CI integration is the most scalable, reliable, repeatable option: unit testing becomes an effortless part of your workflow.

IntelliJ Plugin

The IntelliJ IDEA plugin generates tests per method or per class within the IDE.

The plugin can be used for interactive test writing on the developer desktop, and supports test-driven development (TDD) by quickly generating unit regression tests for utility code in bulk — so you can focus on unit tests that cover the complex, critical business logic, and spend more time writing testable code.

Ready to try Diffblue Cover?

Try free for 14 days

FAQs

What is Diffblue Cover?

Diffblue Cover creates suites of unit tests that run in your continuous integration pipeline between versions and protect against regressions, so you can catch errors faster and earlier in the software development lifecycle. To learn more, see our our product page.

What are the benefits of using Diffblue Cover?

Diffblue Cover helps your team increase automation of your CI pipeline.

For development teams, this:

  • improves velocity and quality of the software you deliver
  • frees up time to focus on creating new features

For DevOps teams, this:

  • helps catch errors and issues earlier (shift left!)
  • improves deployment frequency, lead time, and mean time to repair (MTTR)

Will the tests find regressions in my code?

Yes. Diffblue Cover quickly generates tests that will allow you to adopt CI. The generated tests will help developers quickly identify regressions in subsequent commits before committing new versions.

What are the requirements for running Diffblue Cover?

See the product datasheet for more information.

How can I learn more about customers using Diffblue Cover?

See our case study on how Goldman Sachs has benefited from using Diffblue Cover to increase coverage and create a safety net against regressions.

For example of other ways our customers use Diffblue Cover, click here.

How do we maintain Diffblue unit tests in the future?

Diffblue regression suites are maintained automatically and updated with each new code version to capture the current behavior of the code.

How does Diffblue Cover help me adopt Continuous Integration?

Diffblue Cover AI analyzes your code and writes Java unit tests that run in a CI pipeline after each commit. Cover’s tests:

  • Always compile
  • Run quickly
  • Detect regressions from previous versions
  • Improve coverage
  • Are easy to understand

Should our team stop writing unit tests after adopting Diffblue Cover?

No. Diffblue Cover is meant to complement your own unit tests and help you catch regressions.

How is a unit test different from a Diffblue regression suite?

Developers write individual unit tests to test specific functionality. Diffblue regression suites are generated automatically to help find regressions early in the development cycle. Find out more in our Unit Regression Tests eBook.