Canary Test

What Does Canary Test Mean?

A canary test, also known as a canary deployment or canary release, is a form of A/B testing used in Agile software development.

Advertisements

In a canary test, software releases are first deployed to a small group of end users referred to as canaries. If the canary group experiences problems after the release, the DevOps team knows the code is not ready to be deployed.

The term is believed to have been inspired by 19th century coal miners who would take canaries into the mines with them as a warning system for toxic gases. If a canary died, it was an indication that the air quality in the mine was unsafe, and the miners would know to leave the mine immediately.

Techopedia Explains Canary Test

Canary tests allow developers to test code changes under real-world conditions and gain a better understanding of how they will perform in a live environment. This type of user acceptance test (UAT) is often used to support continuous delivery because it provides a smooth deployment process.

Canary testing reduces the risk of introducing new changes that may cause unexpected issues or outages. By beta testing the changes on a small subset of users first, developers can identify and fix problems before they affect the entire user base.

Challenges of Conducting Canary Tests

Some challenges of conducting canary tests include the following:

  • Since canary tests are only performed on a small subset of users, it can be difficult to get a representative sample of users that accurately reflects the entire user population.
  • With a smaller sample of users, it can also be difficult to gather enough data to make accurate decisions about the code changes.
  • If the canary test reveals multiple issues with the code changes, rolling back the changes for a small subset of users can be time-consuming.
  • Canary testing only covers a small subset of the users, so it is possible that the issues found in a canary test may not be experienced by other users in the general population.
Advertisements

Related Terms

Latest Agile Software Development Terms

Related Reading

Margaret Rouse

Margaret Rouse is an award-winning technical writer and teacher known for her ability to explain complex technical subjects to a non-technical, business audience. Over the past twenty years her explanations have appeared on TechTarget websites and she's been cited as an authority in articles by the New York Times, Time Magazine, USA Today, ZDNet, PC Magazine and Discovery Magazine.Margaret's idea of a fun day is helping IT and business professionals learn to speak each other’s highly specialized languages. If you have a suggestion for a new definition or how to improve a technical explanation, please email Margaret or contact her…