A canary is a code release that is tested in a post-production environment by a small subset of end users. Canaries may also be referred to as canary tests or yellow deployments. Canary tests, which are usually automated, are run after testing in a sandbox environment has been completed.
Like the canary in a
coal mine, the end user who is selected to receive new code in a canary test is
unaware he or she is being used to provide an early warning.
Canary tests help
software developers uncover new, unexpected scenarios that may not have been
detected within the development environment. Because a canary is only
distributed to a small number of people, its impact is relatively small and
changes can be reversed quickly if code changes slow performance or cause an
application to crash.
In
software testing, a canary is a push of programming code changes
to a small group of end users who are unaware that they are receiving
new code. Because the canary is only distributed to a small number of users,
its impact is relatively small and changes can be reversed quickly should the
new code prove to be buggy.
For incremental code
changes, a canary approach to delivering functionality allows the development
team to quickly evaluate whether or not the code release provides the desired
outcome. Canary tests, which are often automated, are run after testing in
a sandbox environment has been completed.
The word canary was
selected to describe the code push to a subset of users because canaries were
once used in coal mining to alert miners when toxic gases reached dangerous
levels. Like the canary in a coal mine, the end user who is selected to receive
new code in a canary test is unaware he or she is being used to provide an
early warning.
Comments
Post a Comment