What Is Regression Testing?
Regression testing is designed to check whether defects have been introduced or re-introduced into your software after a change has been made. Regression means to return to a former or less developed state. You are attempting to test that the state of customer experience (CX) remains the same and has not been changed or destabilized by the new updates to the code. Regression tests are usually made up of functional tests.
Why Is Regression Testing Important for Customer Experience?
Customer-facing features and channels (e.g., chatbot, IVR, web chat, web), are highly visible and any issues can hurt a company’s brand, customer loyalty, and revenue.
of respondents say they are unlikely to return to a website that does not provide a satisfactory customer experience.1
But companies are under tremendous pressure to increase the pace of CX innovation. Traditional software practices espouse that increasing the speed of development decreases quality.
of CIOs believe that pressure for speed in digital innovation puts the customer experience at risk.2
Regression testing for CX, along with modern software methodologies, such as Agile and DevOps, enable development speed with quality.
What Is Regression Testing for Customer Experience?
Regression testing for CX runs tests that take the customer’s perspective and determines if the customer experience has been affected.
For example, a banking feature allows a customer to get her checking account balance. A functional test of the feature might test that when the customer clicks on “Balance,” the back-end system with checking account balances is connected. If it connects then the functional test passes. But what if it takes 30 seconds for the back-end system to give the balance? What if the customer journey shows that once she sees the balance she connects to a live agent to ask why her balance is so low? The complete customer perspective is not represented in the functional test that determines if the back-end system has connected.
Regression testing for CX can include load tests, tests that cover omnichannel customer journeys, or other tests that assess the customer experience. Regression tests should be run whenever changes are made to the code or run on a frequent and regular basis.
The Agile and DevOps methodologies enable the ability to shift left, moving testing earlier in the software lifecycle. Regression testing is an important aspect of continuous testing, as the regression tests are continually run throughout the lifecycle and often included in sprints.
Benefits of Regression Testing for CX
Regression testing for CX helps companies:
- Assure that CX has not been affected by changes in the code
- Accelerate time to deployment through repeatable processes
- Reduce costs by 50-80% over manual testing
- Find CX defects earlier, saving time and money
- Build a regression suite up to 4 times faster
- Re-use test cases, which reduces testing time
- Accommodate thousands of scenarios in just one test case
- Keep documentation and tests current and accurate
- Maximize testing coverage and remove subjectivity
1 Ian Jacobs, Julie A. Ask, and Andrew Hogan with Daniel Hong, Anjali Lai, James L. McQuivey, Katie Hampton, Sarah Dawson, and Shayna Neuburg, Forrester Infographic: Customer Service Chatbots Fail Consumers Today, Forrester, January 30, 2019
2 Speed of Innovation in the Cloud: The Top 5 Challenges, Dynatrace, May 2018