I'm new to automation and come from development(mostly). I've done some unit testing before but that's all the testing I've ever done.

I've read other questions ( such as Mocking IVR system) but ... I'm not sure that they were dealing 100% the same thing as I am.

My system requires me to dial a number. I have dealt with VoiceXML before so I'm guessing I can simulate a human caller to do that or use DMTF .wav files. Though, I was wondering if it's possible to (1) script the dial of a number through a certain program ( let's say skype or google voice) and (2) automate the response to the IVR so I can test the call flow or certain test cases.

  • Pls add little details about what will be your targeted platform? tools and environment. So can across those we can share answer – Narendra Chandratre Aug 4 '16 at 5:58
  • As I sad, first time testing with this. I'm allowed to use whatever. In the past I've only used JUnit and similar tools, nothing else. I only have to test the application by calling it, which is what I have to automate. – user19666 Aug 4 '16 at 13:47
  • Cyara or Hammer can help you do that. they both are licensed tools – mathan kumar May 21 '18 at 15:02
  • Can Anyone list out any open source IVR tools for Automation Testing – Chintu May 25 '18 at 5:19
  • 2
    Possible duplicate of Please suggest some ideas to test an IVR system? – Bharat Mane May 25 '18 at 6:43

A long time ago (when I worked in the telephony business), Hammer was the tool to use for IVR (and may be even predictive dialer) testing. Looks like it is still around here.

If you are looking for something more open source then may be try using the open source phone switch Asterisk and see if it can do some of the things that you are wanting to test (outbound dialing, DTMF input, etc).

FYI, a good source for finding testing tools - whether commercial or open source is qatestingtools.com. Here is the results from there when searching for "voice", so there may be other tools that would work for you as well.


There are automation tools that can mimic human efforts to dial a toll free number of a business (Banks, Cellular phones, DMV offices etc) and can use DTMF or .wav files. Most of the businesses that deal with lot of customers are using automation tool to dial and test their applications in the system.

  • If they are free then I'm allowed but if it is paid, then I'm not allowed. Any suggestions? – user19666 Aug 4 '16 at 13:47

I'm hoping the IVR system code is split up in several layers of code that have different responsibilities:

  1. detection of typed number by pitch of the audio, which serves as input for;
  2. the logic of all the possible call flows that decide which audio file id's must be played back
  3. the part that actually plays back an audio file with a certain audio file id

Layers 1 and 3 should be generic and able to work for any logic implementation of an IVR system. I think your primary interest in this case is testing layer 2. I would investigate if you are able to test layer 2 by itself via unit or integration tests, possibly using mocks for layers 1 and 3.

In this way, you avoid the complexity of the need to set up an actual phone call, dial numbers, etc. Also, it will be much easier to check that the correct audio file is played back by simply asserting that the mocked layer 3 got the command to play back the expected audio file. Alternatively in an end-to-end scenario you would have to compare similarities in audio files and that seems far from easy.

If it is even possible to use this approach, using a Gherkin based test framework (i.e. Cucumber, Behave) will allow you to write the tests exactly how an end user would experience them, which might help when not so technical users are also involved with these tests.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.