Diffblue Cover Pipeline & GitLab — Autonmous AI unit test generation at scale

Diffblue HQ
3 min readJan 23, 2024
Diffblue Cover Pipeline delivers the first AI-powered unit testing solution for Java development teams using GitLab

Diffblue Cover Pipeline delivers the first AI-powered unit testing solution for Java development teams using GitLab Premium or Ultimate to manage their continuous integration pipelines.

Cover Pipeline integrates the power of Diffblue Cover directly into your GitLab pipeline to autonomously write Java unit tests for your projects on merge requests. Lofty claims, let’s dive right into the difference that Cover Pipeline makes to individual developers and development teams using GitLab.

Diffblue Cover creates comprehensive, human-like Java unit tests — saving developer time, increasing test coverage, and reducing regression risks. It takes care of the following, automatically:

  • Analyzes a codebase and creates a baseline unit test suite
  • Writes new unit tests for new code
  • Updates existing unit tests in your code
  • Removes existing unit tests in your code when they’re no longer required

How Diffblue Cover works in a GitLab pipeline project (diagram)

Diffblue Cover is not an AI assistant, it is fully autonomous and completely takes care of writing, updating and continuously improving test coverage. As a result of the deep understanding of how your code works, following the initial analysis, Diffblue Cover knows what tests need to be added and updated for every single code change. It implements the necessary unit testing updates automatically, ensuring that coverage does not drop as development teams move faster. The AI-written unit tests are ready to use — they compile, run, and accurately validate the current behavior of your code.

How Diffblue AI-powered unit testing enables CI

To understand exactly why this is valuable, we need to first recap some problems that can hinder continuous integration and delivery. The goals of continuous integration are to:

  • Encourage test behaviors that help reduce the number of errors and bugs
  • Find and address bugs quicker
  • Reduce the time it takes to validate and release new software updates
  • Improve overall software quality

Failures in application testing and poor test coverage cause bottlenecks in the development pipeline and increase overall development cycle time. Given that unit tests are the first line of defence against bugs and regressions, it’s critical to unit test deeply, continuously and successfully as part of a CI pipeline, alongside integration testing, in order to realise the true potential benefit of CI.

Diffblue Cover uses a method of AI machine learning called reinforcement learning, to solve the problem of poor unit test coverage and test failures by autonomously creating and updating unit test suites for Java application development. It enables developers and development teams to catch regressions and unplanned behavior changes more comprehensively than any manual process.

Take a look at our video overview of Cover Pipeline for GitLab.

Introducing Diffblue Cover Pipeline for GitLab

Diffblue Cover Pipeline Developer Docs site.

We welcome your feedback on our GitLab support and if you have ideas for improvements, new features or insights to share about your experience, we’d love to hear them.

Originally published at https://www.diffblue.com on January 23, 2024.

--

--

Diffblue HQ

Diffblue Cover autonomous AI-powered Java unit test suite generation & maintenance at scale. | We’re making developers wildly more productive with AI for Code