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 Aug 4, 2016 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, 2016 at 13:47
  • Cyara or Hammer can help you do that. they both are licensed tools May 21, 2018 at 15:02
  • Can Anyone list out any open source IVR tools for Automation Testing
    – Chintu
    May 25, 2018 at 5:19
  • 2
    Possible duplicate of Please suggest some ideas to test an IVR system?
    – Bharat Mane
    May 25, 2018 at 6:43

4 Answers 4


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, 2016 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.


There are tools that can make calls to IVR system and mimic actions such as dialing or passing words through text to speech and evaluate the IVR responses. For instance you can use https://testivr.com/ (disclaimer I am the developer of TestIVR) via simple API calls for making calls and testing an IVR system. Take a look at this article to learn more:


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