
Functional Testing
Accelerate Your Development Lifecycle with Automated Functional Testing and Regression Testing
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
Unit testing
Tests each individual piece of the code.
Integration testing
This is where individual software modules are combined and tested as a group.
User interface testing
For IVR software and conversational interfaces, usability testing is needed to ensure that all the components (e.g., IVR voice portal, VoiceXML applications, and speech recognition), work together. Voice quality is crucial for CX and has its own ways to test.
System testing
This is where the whole system is tested including all components to ensure that each is functioning as the requirements had specified.
Regression testing
This is retesting a product 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.
Sanity testing
This is a subset of regression testing and is the surface level testing on the main functions of the software.
User Acceptance Testing (UAT)
This testing is where the software is tested by actual users to make sure it can handle required tasks in the real-world.
Testing from the customer perspective
There are often many ways that customers approach tasks which means that many test scripts must be written.
Continuous testing
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.
Omnichannel journeys
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.
Personalized experiences
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
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 their core responsibilities of serving customers rather than burdening them with manual testing
Learn about the CX Assurance Platform and the Velocity products. Read Best Practices for IVR Testing.