What is IVR System and How to Perform IVR Testing

What is Interactive Voice Response IVR System and How to Perform IVR Testing:

I have divided the “IVR Testing tutorial” into two different parts. This part will cover the basic IVR details such as an Overview of the IVR system, the Architecture of IVR, and different technology used within IVR.

We will also learn the basic call flow of the IVR system which in turn will show how the actual IVR system works. We will see the different menu options which are available almost within every IVR system. 

In part 2, we will check some of the most popular IVR test tools.

Let us start with the Basics of IVR systems and testing.

IVR Testing

What is IVR System?

Interactive Voice Response (IVR) is an automated technology that allows interaction with a human being (caller) with the help of voice input and DTMF input (Dual-tone multi-frequency) using the keyboard.

IVR system is used for multiple purposes like processing of customer’s phone call, providing transaction details, taking customer’s requests, providing information on new products, transferring calls to agents based on customer request, etc.

Nowadays the IVR system is developed for almost all the industries and their respective applications such as banking, Insurance, Telecom and they can also be used for travel information, retail orders, utilities, etc. IVR system provides information to all the users or customers based on their requests.

The IVR system consists of different menus, sub-menu, and options based on the application.

The end-user then chooses the appropriate option and routes through the IVR system to complete their transaction. If an end-user is unable to find a suitable option or solution then there is a provision to transfer a call to the live agent who will actually help the customer by talking over the phone.

There is no human interaction with the customer until the user transfers his/her call to the call center agent (customer care agent). All menus, sub-menus, and options are pre-recorded messages in the IVR system, and all these messages are played as per the customer’s requests. These pre-recorded messages are called “prompts” in the IVR system.

For Example, for any banking application, if a user wants to know his latest account balance or the last 5 transactions, then IVR provides this information without talking to a customer. The customer only needs to provide DTMF inputs using the keyboard to route to the appropriate menu option.

IVR System Architecture

During the end-to-end flow of IVR testing, there are multiple components that are involved in the mobile phone, landline, DTMF inputs, voice input, etc.

The below diagram shows the architecture of the IVR system:

IVR system architecture

Technology Used in IVR System

The pointers given below explain to you the technology that is used in the IVR System.

  • Anyone can question how a phone can be connected to the computer system. And the answer is – using DTMF. Using the tone of every key on a telephone keypad, the phones are connected to a computer system. These are known as “Dual-tone multi-frequency (DTMF)” signals. DTMF tones are entered using a telephone keypad.
  • There is another way to communicate which is nothing but using “Speech Recognition”. Here, the caller provides input to the IVR system using his clear voice so that IVR can interpret the input correctly and provide accurate information.
  • IVR system provides an appropriate voice response to the caller’s DTMF input that is called as “Audio Response Unit (ARU)”. It is a device which provides information to the caller based on the input received from the caller and the information received from the database.
  • “Automatic Call Distributor (ACD)” is a technology that distributes customer calls, in the order they arrive, to the next available appropriate agent.
  • IVR application is a tree structure just like the folders and files structure in the Windows system. And this structure in the IVR is called a call flow diagram.
  • Text To Speech (TTS) is a system that converts normal language text into speech. TTS is a computer generator speech that speaks information like news, email, etc.

Testing Flow of IVR Application

The below diagram explains the basic details that are followed in the IVR call flow.

Mentioned below are the different menu options played by an IVR system based on the user or caller’s input:

Testing flow for IVR application

Points to be Considered while Performing IVR Testing

Using the IVR system one can reduce the cost and improve the quality of service by resolving the customer’s queries without interacting with the actual agent. If the caller is not able to find a suitable solution only then does his call gets transferred to the actual agent so that the agent can provide an appropriate solution.

IVR system mainly consists of complex infrastructure, different kinds of telephony equipment (like a telephone cable, USB telephone board, etc), database, network, etc.

In order to test an IVR application, the following features need to be considered:

#1) Verification Process:

Due to emerging technology, there is always a chance of fraud to happen. So it is imperative to test if the IVR application is free from any vulnerabilities. IVR application always verifies the caller by asking security questions like “Date of Birth”, 4-digit PIN code number, etc. This verification process varies based on the IVR application that is in use.

For Example, for any banking application, security is a crucial part of testing as this is the industry where most of the fraud can happen and the customers can have a major financial loss.

The verification process is completed based on the PIN set by the caller and the IVR system verifies this PIN with the PIN stored in the IVR database.

In case the caller does not remember the PIN or it got compromised then there is an alternative security check that is asked by the IVR system such as “Customer’s Date of Birth”, “Account opening date”, “Mother’s maiden name” or “registered email ID” etc.

Also in some of the IVR system, only limited menu options are provided to a customer who has compromised PIN but verified by other options (E.g. Date of Birth). For such a customer, in order to get full access to the system, they need to set a PIN using the method available in the application.

#2) Call Transfer or Call Routing:

In the IVR system, it is very important to test whether the call is transferred to the correct agent or not. There are different agents available for different areas and they are experts in their area only.

For Example, for one IVR system, there are thousands of IVR calls daily for different kind of inquiries, queries/problems, etc., and not necessarily all the problems are resolved by the IVR system. Out of those problems, unresolved problems are transferred to the live agent so that the agent can verify their data and resolve the caller’s problem.

Hence it is necessary to test that when a caller is calling regarding insurance policy problems, then the call should be transferred to the appropriate agent and not to a different department (Example: the credit card department). If this is not tested thoroughly then it will mess up the entire system.

#3) Dual-tone Multi-frequency (DTMF) Input:

It is the most significant method to provide input to the IVR system. DTMF inputs are given using the digits 0 to 9 and sometimes * and # from the phone keypad. For every menu and sub-menu, a caller has to provide different DTMF inputs and it is a tedious task to test each and every input in each menu and sub-menu.

For Example, If IVR says “Press 1 to know your account balance” and the caller also enter 1 on the keypad, but the IVR system wrongly recognizes it and provide information about the last 5 transactions then it does not solve the purpose of the call.

For testing an IVR application, it is essential to test if the IVR system recognizes all the DTMF inputs properly and according to the DTMF input the IVR system is providing information to the caller or not and if correct prompts are being played in IVR system.

#4) Retry option in the IVR System:

Many a time it happens that the caller is not able to recognize or does not follow the message or prompt played by the IVR system. Then the caller becomes silent as he is not sure about the options being given by the IVR application.

Hence there should be a facility to repeat the same prompt again if a caller is not providing his next option to go further or if the caller remains silent.

In most the IVR system, it is the case that the IVR will repeat the prompt three times i.e. if the same prompt is played three times and still if the caller remains inactive or he/she has not provided any input to the IVR system then the call will automatically get disconnected or transferred to the agent for general inquiry.

#5) Accent and Pronunciation:

As all the IVR prompts are pre-recorded in the voice, these prompts should be clear and audible to the caller. Also, the caller’s accent and language pronunciation should be accurate so that the automated IVR system can recognize the input from the caller.

For Example, if a caller requires information about a new product “Credit Card” and the IVR system played all the messages without any use of punctuation marks that too in a high speed, then the caller will not be able to understand anything related to the product. This, in turn, will lose the customer and have a huge impact on the business.

Hence testing should be performed carefully to validate if all the prompts are clear and audible and if pronunciation marks are used appropriately.

#6) Choice of Correct Language:

Once the IVR call starts the first option asked by the IVR system would be to choose a language. Based on the language chosen, the subsequent prompts are played in the selected language. In this global market, it is important for IVR to work in the local language as well.

For Example, if one of the companies is headquartered in the U.S. and there are branches in China, Russia, France, etc., and as their IVR application is quite famous in the U.S, and if it supports only the English language then it is obviously difficult to work in countries like Russia or China where the English language is secondary in their market.

Testing should perform for all the menu, sub-menu, choices, etc., and ensure that all the selected prompts are played in the selected language. Here, the above-mentioned accent, pronunciation, and clarity of the prompts also need to be tested for the chosen language.

#7) Workflow of IVR system:

After setting up all the required infrastructure, language, prompts, etc., it is now necessary to test the end-to-end flow of the IVR application.

For Example, suppose a user lost his debit card and wants to block it by calling the IVR system.

The user has selected the appropriate language and has chosen the option to block the debit card, but instead of blocking the debit card if the IVR plays the prompts regarding the “request a new checkbook” flow then imagine how critical would be the situation of the customer and as a result, it will adversely have a great impact on the business.

So in-depth testing is required for all flows in the system and we need to validate that all prompts are associated with the correct flow.


In today’s world, there are various companies that are using the IVR system to assist their customers 24/7. This assistance can be of any type, even from a single small transaction like account balance, Funds Transfer to another account, paying a utility bill, etc.

Testing such an IVR application is a tedious task as it requires deep knowledge of the application and requires detailed end-to-end testing for all the IVR call flows. There are various tools that are available in the market for IVR application testing which in turn will ease the job of a tester.

Our upcoming tutorial will give you a great insight on the automation tools used for IVR system.