Expanded version of Diffblue Cover gives enterprises running Java new ways to leverage the business value of unit testing, and deliver software with more speed, confidence and insight.
Just a few years ago, if someone had told you software code could be written automatically you’d have been justifiably skeptical. There was simply no practical alternative to human developers, no matter how formulaic, tedious, error-prone and repetitive the code in question.
How times have changed.
Today millions of individual Java unit tests have been automatically written by Diffblue Cover, while over 1.2 million users trialled GitHub Copilot, Microsoft’s code completion tool, during its public beta. AI-augmented development is well and truly here, and helping developers every day.
Reflecting this growing interest in the potential AI has to helps enterprises deliver business-critical code with greater speed, confidence and insight, we’re pleased to share the news that Diffblue has raised an additional $8m in funding to help us enhance our unique technology.
But we’re equally excited to announce the release of a significant expansion to the Diffblue Cover platform. We’ve introduced new features – Reports, Optimize and Refactor – which build on the AI for Code engine at the heart of the product. These new features give enterprises running Java more ways to leverage the power of unit testing for faster delivery of high-quality software. With the latest version of Cover you can:
- Autonomously write entire unit test suites, without developer intervention
- Automatically refactor Java code to improve testability
- Slash the time and cost to run tests in Continuous Integration
- Understand test coverage and code risk across your organization
What’s new in Diffblue Cover?
Cover’s new features combine to extend the power of AI-augmented coding and solve the challenge of Java unit testing more comprehensively. Diffblue Cover now gives you the means to get more coverage, with better tests, which run faster – all completely automatically.
(If you haven’t come across Diffblue Cover before it might be helpful to learn more about the core autonomous code-writing capability of the tool before reading on. It’s this central AI for Code technology that lets Cover be the only fully-automated, AI-powered solution that can automatically write new code, improve existing code, accelerate CI pipelines and provide deep insights into the risk of change.)
Let’s take a closer look at the 4 new features.
Diffblue Cover Reports
Diffblue Cover Reports addresses a challenge faced by many Java teams, large or small: how to get a clear, accurate view of the unit test coverage you have, and what the associated risk of change may be. Cover Reports lets you realize more value from unit testing by better understanding what you’re testing today, where risk remains, and what to do about it.
Cover Reports visualizes the current state of your unit test library and pinpoints unique, actionable insights that are useful for all team members, from managers to developers. Granular unit test coverage reports – extending down to method level – are available in a variety of customizable views and dashboards, supplemented by information on variables like code quality, testability and complexity.
With Diffblue Cover Reports, you can highlight risks that might otherwise go unnoticed, allowing you to precisely target your available development resources and improve the quality of your codebase. You can also track progress across time, teams, applications and projects to benchmark performance.
Diffblue Cover Refactor
It’s all very well having a tool that can automatically write unit tests for you, but what if code isn’t testable in the first place – by man or machine (perhaps a method isn’t fully observable, not completely deterministic, or relies on behavior that can’t be defined until runtime)? That’s where Diffblue Cover Refactor comes in: it automatically makes Java source code more testable to decrease the risk of errors when changes are made.
Untestable code is surprisingly common, especially in older ‘legacy’ applications which weren’t written with unit testing in mind. It’s obviously not a good thing – fewer tests means more chance of regressions – but it’s also not always an easy problem to quantify.
Cover Refactor uses the insight provided by Cover Core’s analysis to identify what code is untestable, then suggests and applies code refactorings. It can make these changes automatically, without any input from your team. The initial version of Refactor improves the observability of Java code to increase testability. More testable code means your unit test coverage automatically increases when Cover Core next updates your unit test suite.
Diffblue Cover Optimize
Thanks to the combination of Cover Core and Cover Refactor you can expand your unit test suite without any manual effort. More coverage = less risk = great. But your developers have to wait for all those unit tests to run every time they need to validate a change. That’s less great for the fast feedback loops you need in an agile development environment (or when you’re trying to move more quickly in general).
Diffblue Cover Optimize slashes the time and cost needed to execute Java unit tests – either on the developer desktop or in CI pipelines.
Optimize leverages Cover Core’s AI for Code engine to identify the set of unit tests needed to fully validate that a Pull Request won’t introduce regressions. Only those relevant tests are executed, instead of hundreds or thousands that might have no connection to the change in question. That means faster feedback and more productive developers.
Cover Optimize can also directly reduce the infrastructure cost of testing, notably in cloud-based environments where lower consumption literally means smaller invoices.
Why use Diffblue Cover?
Hopefully that has whetted your appetite for what the Diffblue Cover platform can do. But why are Java teams around the world – including leading global financial services, healthcare and technology companies – adopting AI-augmented development tools like Cover?
Less manual development effort and lower risk are big positives, of course, and compelling in their own right: they equate to faster deployment of code, greater productivity and fewer expensive production issues. But some specific drivers of automation are regularly raised by Diffblue Cover users.
Application modernization
Most enterprises running Java applications have modernization projects either planned or underway. Diffblue Cover provides invaluable acceleration and risk mitigation in projects where code refactoring is required, like re-architecting for the cloud or the breakdown of legacy monoliths. Cover automatically delivers the unit tests that are critically important to operational continuity, without the usual time, effort and cost. The unit tests generated by Cover can also act as effective documentation of how both legacy and new code behaves, making initial refactoring faster and future maintenance easier. This Diffblue white paper looks in more detail at the role AI-augmented coding can play in application modernization.
Transforming software development
Diffblue Cover helps to transform software development. Eliminating the burden of writing and maintaining unit tests allows Java teams to shift left, adopt modern approaches like DevOps and innovate with confidence. With up to 50% more developer time available, they can focus on building new features, increasing revenues and getting better products to market faster, instead of spending time on unit testing and risk management. Coverage gates no longer block rapid delivery of change, agile planning is easier and more effective thanks to a clearer view of risk, and unit testing becomes a scalable, reliable, automatic part of CI pipelines.
Improving developer experience
Most developers spend a significant chunk of their time on unit testing but not many would tell you they enjoy it. AI-powered coding tools like Diffblue Cover make it easier for enterprises to create an environment where software developers can do their best work, by eliminating repetitive, tedious, unproductive work like writing and maintaining unit tests. That means developers can spend more on work they’re really interested in: building new software and solving difficult coding problems.
See what Cover can do
The new Diffblue Cover Platform is available now, and you can try Cover Core’s automatic unit test-writing capability today with a free trial of Cover Developer Edition.
To learn more about the new features of Diffblue Cover – all of which are available in the Cover’s Enterprise version – see what it can do, and ask your own questions, sign up for our deep-dive webinar.
Or if you’re excited by how Diffblue Cover could help your enterprise Java team and would like to talk about how to get started, why not get in touch?