Companies are under tremendous pressure to constantly deliver new and innovative customer experiences (CX). But the development is not easy as different functional capabilities are supported by different technologies which must be integrated with an ever-growing number of systems.
The development lifecycle, whether using Agile or waterfall methodologies, has come under pressure as well. A typical lifecycle requires the following phases: analysis and planning, system design, development of the systems, testing, deployment, and maintenance. If a company is using Agile software development, the iterative development process requires rapid and frequent deployments through “sprints”. System design, development, testing, and deployment phases are smaller, shorter, and faster.
Of all the phases in the development lifecycle, the software testing phase has become the most crucial and in need of change.
- The accelerated pace of development puts pressure on software testing to accelerate as well.
- The scope of testing has expanded and must include CX from the customer’s perspective in functional testing, unit testing, integration testing, regression testing, etc.
- Customer omnichannel journeys require testing of complete journeys from end-to-end including the transition from one channel to the next.
Functional Testing and the Complexity of Customer Experience
Functional testing ensures that the software being developed conforms with the requirements that were specified. Functional testing usually includes:
Testing each individual piece of the code.
Individual software modules are combined and tested as a group.
The whole system is tested including all components to ensure that each is functioning as the requirements had specified.
A product is retested around an area where a bug was fixed or a new capability was implemented. Any code directly affected by a change go through regression testing.
A subset of regression testing and is the surface level testing on the main functions of the software.
User Acceptance Testing (UAT)
The software is tested by actual users to make sure it can handle required tasks in the real world.
When it comes to functional testing of CX, companies need automated testing tools that enable practices and testing of the following:
Testing from the Customer Perspective
There are often many ways that customers approach tasks which means that many test scripts must be written.
With many test scripts, integration and regression tests become large and take a long time to run. Automation of CX testing is the only way to create tests scripts, update scripts when changes are made, and execute the running of tests on a regular basis.
Companies need a holistic view of the customer experience across all channels including voice, web, chat, chabot, email, and SMS. When customers move from self-service to assisted service channels, the transition must be tested.
With companies offering innovative personalized experiences for different customer segments, testing must be done to ensure that segments receive the correct treatment across dynamic IVRs and websites.
A Move From Manual to Automated Testing – Retailer Case Study
One of the largest retailers in the U.S. was in need of new ways to perform testing. The Quaity Assurance (QA) team relied on manual testing and put out 2-3 releases per year. During a development cycle, third party resources were used to create test cases and call center agents would manually perform the testing which included dialing numbers and going through each step of a call. A single test cycle would take 2-3 weeks and testing was never completed thoroughly which let defects into production. The call center agents were disheartened and the testing results were poor.
The retailer implemented an automated testing solution and turned the entire process around. The retailer accelerated its test case creation and automated its functional and regression testing. The testing has become more thorough, faster, and has resulted in fewer defects. The morale of the call center agents has improved as they now focus on their customers rather than manual testing.
The results of automated testing:
Increased testing coverage from 15% to 85%
Decreased test execution time by 97%
Empowered agents to focus on serving customers