Skip to main content
Redhat Developers  Logo
  • Products

    Platforms

    • Red Hat Enterprise Linux
      Red Hat Enterprise Linux Icon
    • Red Hat AI
      Red Hat AI
    • Red Hat OpenShift
      Openshift icon
    • Red Hat Ansible Automation Platform
      Ansible icon
    • View All Red Hat Products

    Featured

    • Red Hat build of OpenJDK
    • Red Hat Developer Hub
    • Red Hat JBoss Enterprise Application Platform
    • Red Hat OpenShift Dev Spaces
    • Red Hat OpenShift Local
    • Red Hat Developer Sandbox

      Try Red Hat products and technologies without setup or configuration fees for 30 days with this shared Openshift and Kubernetes cluster.
    • Try at no cost
  • Technologies

    Featured

    • AI/ML
      AI/ML Icon
    • Linux
      Linux Icon
    • Kubernetes
      Cloud icon
    • Automation
      Automation Icon showing arrows moving in a circle around a gear
    • View All Technologies
    • Programming Languages & Frameworks

      • Java
      • Python
      • JavaScript
    • System Design & Architecture

      • Red Hat architecture and design patterns
      • Microservices
      • Event-Driven Architecture
      • Databases
    • Developer Productivity

      • Developer productivity
      • Developer Tools
      • GitOps
    • Automated Data Processing

      • AI/ML
      • Data Science
      • Apache Kafka on Kubernetes
    • Platform Engineering

      • DevOps
      • DevSecOps
      • Ansible automation for applications and services
    • Secure Development & Architectures

      • Security
      • Secure coding
  • Learn

    Featured

    • Kubernetes & Cloud Native
      Openshift icon
    • Linux
      Rhel icon
    • Automation
      Ansible cloud icon
    • AI/ML
      AI/ML Icon
    • View All Learning Resources

    E-Books

    • GitOps Cookbook
    • Podman in Action
    • Kubernetes Operators
    • The Path to GitOps
    • View All E-books

    Cheat Sheets

    • Linux Commands
    • Bash Commands
    • Git
    • systemd Commands
    • View All Cheat Sheets

    Documentation

    • Product Documentation
    • API Catalog
    • Legacy Documentation
  • Developer Sandbox

    Developer Sandbox

    • Access Red Hat’s products and technologies without setup or configuration, and start developing quicker than ever before with our new, no-cost sandbox environments.
    • Explore Developer Sandbox

    Featured Developer Sandbox activities

    • Get started with your Developer Sandbox
    • OpenShift virtualization and application modernization using the Developer Sandbox
    • Explore all Developer Sandbox activities

    Ready to start developing apps?

    • Try at no cost
  • Blog
  • Events
  • Videos

Bunsen: A smart test system that knows your upstream

July 21, 2025
Frank Eigler
Related topics:
Artificial intelligenceC, C#, C++CI/CDDeveloper ProductivityDeveloper ToolsOpen source
Related products:
Developer ToolsRed Hat Enterprise Linux

Share:

Automated software testing sometimes operates on the code as a black box. The tools build the software, run the test suites, and collect results. At minimum, the tools can report pass/fail numbers. Generally, the tools cannot understand the scores, such as the cause and effect relationships between upstream code changes, environmental factors, and the results. Therefore, a human is tasked with taking manual action, because the testing tools don't grok the upstream.

In this article, we'll look at how Bunsen, a lightweight test suite result repository and analysis engine, addresses this issue.

How Bunsen addresses this issue

Bunsen scales enough to track large and busy upstream projects with millions of unit tests and is still nimble enough to fit onto a single server with practically zero infrastructure. Recently, we have extended Bunsen with upstream analysis capabilities, which has resulted in neat labor-saving and automation, with more coming. 

Our public Bunsen server is fed from a variety of automated builders and testers, including a local installation of buildbot. Hundreds or thousands of builds occur every day. These build and test runs have always collected complete logs, including build and environmental metadata that also identify the processed upstream Git repo/commit. The Bunsen tools have now started processing this upstream metadata and maintaining lightweight (blob-free) clones of upstream Git repos.

Examples 

The first example sounds goofy on first blush. Left to itself, a firehose of test run archives would eventually consume all storage in the universe. We were informed that this is undesirable, so the Bunsen servers are configured to periodically age out data from its archives and index. 

This is based on factors such as age and bulk, saving storage, and the world. However, we may want to keep some data indefinitely, such as tests of those builds that correspond to releases of upstream software. Many projects treat such test suite results—or at least result summaries—as precious artifacts that are useful for quality assurance of future major releases. But automatic aging based on age would clear them out without special treatment. 

With manual input, Bunsen users could mark particular test runs for protection from aging, but now Bunsen knows upstreams. It can find out which builds correspond to tagged commits—those that the upstream community thinks are worthy of note—and protects them. No manual Bunsen side work needed!

The second example is a user convenience. In the Bunsen web interface, each bit of build/environment metadata associated with test runs is represented as plain text. Now, upstream-related metadata fields are rendered as clickable links to point at the upstream Git repo and the particular Git commit, if a gitweb or cgit like system exists for them. This makes manual test run analysis easier (Figure 1).

bunsen decorating outgoing upstream links
Figure 1: Bunsen decorating outgoing upstream links.

But what if we could reduce manual test run analysis? The holy grail of testing is identifying causes of test result effects. While Bunsen cannot know all the possible causes for an errant test, it does know some environmental metadata (like architecture, compiler versions, etc.). 

We've previously added some AI capabilities for metadata/test correlating facilities. But now, Bunsen is also aware of upstream development. Joining the data together, it can also know what environment has changed between any two test runs, and the exact sequence of upstream commits that separate the two. It can also find other test runs for the same or nearby upstream commits. All the tool needs then is some intelligent analysis of those differences. 

Enter AI/LLM. Bunsen now has a tool and a web interface (a brain icon, naturally), for comparing sets of build/test runs. Bunsen can compute the metadata differences between pairs of test runs, enumerate all the upstream commits from one to the other, and formulate an analysis request as a prompt plus context to a large language model (LLM). Given your choice standard OpenAI-style inferencing system URL and apikey, Bunsen can submit the text to the LLM and report the analysis response. Ideally, high likelihood causal factors will be accurately identified. This is shown in Figure 2.

bunsen LLM partial analysis results for testrun/upstream changes
Figure 2: Bunsen LLM partial analysis results for testrun/upstream changes.

Summary

This is just the start. Fully automated regression blaming may become a practical possibility, all because of a single system that can understand both the causes and the effects of test results.

Related Posts

  • Uncover interesting test cases with AI/ML and Bunsen

  • Quickly analyze regression testing results with Bunsen

  • Detecting nondeterministic test cases with Bunsen

  • How Testing Farm makes testing your upstream project easier

Recent Posts

  • Autoscaling vLLM with OpenShift AI

  • Filtering packets from anywhere in the networking stack

  • PostGIS: A powerful geospatial extension for PostgreSQL

  • Kafka Monthly Digest: September 2025

  • A more secure way to handle secrets in OpenShift

What’s up next?

Download the Advanced Linux Commands cheat sheet. You'll learn to manage applications and executables in a Linux operating system, define search criteria and query audit logs, set and monitor network access, and more.

Get the cheat sheet
Red Hat Developers logo LinkedIn YouTube Twitter Facebook

Platforms

  • Red Hat AI
  • Red Hat Enterprise Linux
  • Red Hat OpenShift
  • Red Hat Ansible Automation Platform
  • See all products

Build

  • Developer Sandbox
  • Developer Tools
  • Interactive Tutorials
  • API Catalog

Quicklinks

  • Learning Resources
  • E-books
  • Cheat Sheets
  • Blog
  • Events
  • Newsletter

Communicate

  • About us
  • Contact sales
  • Find a partner
  • Report a website issue
  • Site Status Dashboard
  • Report a security problem

RED HAT DEVELOPER

Build here. Go anywhere.

We serve the builders. The problem solvers who create careers with code.

Join us if you’re a developer, software engineer, web designer, front-end designer, UX designer, computer scientist, architect, tester, product manager, project manager or team lead.

Sign me up

Red Hat legal and privacy links

  • About Red Hat
  • Jobs
  • Events
  • Locations
  • Contact Red Hat
  • Red Hat Blog
  • Inclusion at Red Hat
  • Cool Stuff Store
  • Red Hat Summit
© 2025 Red Hat

Red Hat legal and privacy links

  • Privacy statement
  • Terms of use
  • All policies and guidelines
  • Digital accessibility

Report a website issue