Reputation: 121
I have been assigned the task to automate regression testing for a VXML based IVR hosted in cloud.
This is a DTMF based IVR where IVR plays a audio prompt and then waits for caller input. I am not sure how to automate this part. How do I automate DTMF digits collection? I have seen a few suggestion where it was mentioned that I need to playback audio files that represent the telephone keypad input (DTMF). But that doesn't seem optimal. Is there a way I can specify the input in a text file and have IVR read it.
I have found few suggestions online but that would require.
I have to find a solution which is Free. Meaning I am allowed to use only tools that are freely available on Internet.
I will be grateful if I can get suggestions on how to get this done.
Upvotes: 1
Views: 1404
Reputation: 11
The DTMF tone wave files can be made dynamic by using script. Say you want to enter DOB 22111984, write a OE/ECMA script which will input those wave file. It's same like playing dynamic audio file. Assuming your are using another IVR(outbound) which will play back to inbound IVR. i.e :
<script> <![CDATA[
function sayDTMF(n)
{
//generate VXML page which will play audio file
// depending upon the input
//2.wav 2.wav 1.wav 1.wav 1.wav 9.wav 8.wav 4.wav
}
]]> </script>
<goto expr="sayDTMF(DOB)"/>
Upvotes: 0
Reputation: 4163
There are a couple of commercial solutions, but since you indicate you need free, I'll skip those.
You can blindly treat it as a web application and test the navigation between pages. This won't allow you to test the call flow, but you can test some of the back end logic that drives page generation.
You can write another IVR application to call your current application. Without speech recognition, it is hard to confirm that the call flow is correct, but an call that ends unexpectedly would fail. If you can change the existing application, you may be able to swap out recordings of voice with tones and use those to keep the test case and call flow in sync.
You could use one of the open source voicexml engines and modify them to drive the call flow. You might have dependencies in your infrastructure that require a real call flow versus a simulation. I have been able to get JVoiceXML to process a voice application in a simulation/test case manner.
In summary, you're going to need to be creative if the requirement is no external cost, just your time.
Upvotes: 0