architect-handbook

Software Architect Handbook

View on GitHub

Fragile Tests Problem

When tests are strongly coupled to the system, changes to common system components can cause hundreds, or even thousands, of tests to break. This is known as the Fragile Tests Problem.

See Test Boundaries for more information.

Imagine, for example, a suite of tests that use the GUI to verify business rules. Such tests may start on the login screen and then navigate through the page structure until they can check particular business rules. Any change to the login page, or the navigation structure, can cause an enormous number of tests to break.

Fragile tests often have the perverse effect of making the system rigid. When developers realize that simple changes to the system can cause massive test failures, they may resist making those changes.