“one tiny change, one massive issue!”
When planning a continuous integration (CI) strategy, it’s important to ensure that code is deployed and tested appropriately for every release.
Most CI suites will test unit tests for every build, however even with Test Driven Development (TDD), unit tests are usually functional, they don’t test interactions, the flow between pages. Companies aim for 100% coverage but rarely achieve it.
Small changes can easily introduce breaks in flow, but these breaks may not be picked up by normal testing. Its important that your CI strategy includes a test progress/team who can focus on front-end, user oriented end-to-end tests in addition to specific functional tests, using automated tools.
Selenium is the most widely used browser test tool today. We usually write selenium scripts, which can be initially recorded with assertions to inject and validate data during a user flow. Capturing screen shots and detecting failures returning an state (pass/fail).
Regular reviews to ensure that these flows are properly mapped out, and maintained are essential to minimising regression faults before they go into production.