How-to

How to test and monitor an IVR before and after launch

A step-by-step IVR testing process and checklist: validate flows, test speech and integrations, load test, then monitor errors and hang-ups after launch.

By the Plum Voice teamUpdated 6 min read

An IVR that worked in the demo can still fail real callers: a prompt that speech recognition mishears, a back-end lookup that times out, or a menu option that dead-ends after a business change. Testing before launch catches the errors you can predict. Monitoring after launch catches the ones you cannot. This guide gives you a step-by-step process and a checklist you can reuse for every release.

What is IVR testing?

IVR testing is the process of checking that every path in a phone self-service application works as designed before callers use it, and keeps working after each change. It covers the code or flow itself, the prompts and speech recognition, the integrations behind each step, and how the system behaves under real call volume.

Good IVR testing answers four questions:

  • Does each path go where it should, including error and transfer paths?
  • Can callers be understood, by keypad and by voice?
  • Do the systems behind the IVR return the right data, fast enough?
  • Does the application stay healthy once real traffic arrives?

How do you test an IVR before launch?

Test in layers, from the cheapest checks to the most realistic. Follow these steps for each release.

1. Validate the code or flow

Catch syntax and structure errors before anyone dials in. For VoiceXML applications, run a validator against every document. In a visual builder, check that every module has a connected exit, including the no-input and no-match exits.

2. Map and walk every path

List every path through the flow: each menu option, each error branch, each transfer and each hang-up point. Then call the test number and walk each one. Use a simple sheet with the expected prompt, the input you gave and what actually happened.

3. Test error handling on purpose

Stay silent, press invalid keys and say off-script phrases at every input. Confirm the IVR reprompts helpfully, offers a way to an agent, and never drops the caller without a clear message. Error paths are where most frustrating IVR experiences come from.

4. Test speech recognition with real voices

Speech accuracy depends on the grammar and on audio quality. A 2017 Plum post on speech recognition limits points out that phone audio crosses the public network at reduced quality, which makes recognition harder than in a quiet room. Test with different accents, background noise, speakerphones and mobile connections. Add common phrasings you hear, such as "nope" or "yeah," to your grammars.

5. Test integrations and data

Run test calls with accounts that cover each case: valid, invalid, locked, zero balance and missing data. Confirm the IVR reads back the right values and handles a slow or failed back-end response with a sensible message and a route to an agent.

6. Load test at expected peak

Simulate the call volume you expect on your busiest day, plus a margin. Watch response times from your application server and integrations, because a page that loads slowly under load can mean dead air for callers.

7. Run user acceptance testing

Have people outside the build team, ideally front-line agents, call in and complete real tasks. They know how customers actually phrase requests and will spot jargon and confusing menus quickly.

8. Release a staged revision

Deploy the tested version to a staging or test number first, then promote that exact revision to production. Keep the previous production revision ready so you can roll back fast if something goes wrong.

IVR test checklist

Use this table to plan coverage for each release.

Test type What it catches When to run
Syntax and flow validation Malformed markup, missing tags, unconnected modules On every change, before any test call
Path walkthrough Wrong routing, dead ends, outdated prompts Before each release and after business changes
Error handling (no-input, no-match) Callers stuck in loops or dropped without help Before each release
Speech recognition Misrecognized phrases, missing grammar entries, accent issues Before launch, then when you add or change prompts
Integration and data Wrong data read back, timeouts, failed lookups Before each release and when back-end systems change
Load and performance Slow page loads, dead air, dropped calls at peak Before launch and before seasonal peaks
User acceptance Jargon, confusing menus, tasks callers cannot finish Before launch and major redesigns
Regression Old paths broken by a new change Before every release
Production monitoring Rising errors, hang-ups and transfers at specific steps Continuously after launch

How do you monitor an IVR after launch?

Monitor an IVR by tracking where callers succeed, where they hit errors, and where they hang up or ask for an agent, then fixing the steps with the most trouble. Monitoring turns real calls into a list of improvements.

Watch these signals:

  • Error rates per step. A spike in no-match or no-input events at one prompt usually means the wording or grammar needs work.
  • Hang-ups and transfers by step. Where callers leave shows where self-service breaks down.
  • Technical errors. Script errors and failed fetches point to code or integration problems.
  • Page load time. Slow responses from your application server create silence on the line.
  • Containment and completion. Track how many callers finish their task in the IVR. Our guide to IVR containment and first call resolution covers how to measure it.

Review these at a regular cadence and after every release. A 2020 Plum post on IVR upkeep made a point that still holds: scripts drift out of date when they reference old business hours, retired products or teams that no longer handle a task. Schedule a periodic walkthrough of every path, even when the metrics look fine.

How Plum Voice handles this

Plum's documentation describes testing and monitoring tools for each product. Here is what each one offers, with links to the docs.

Plum DEV (VoiceXML):

  • Scratchpads let you write and test VXML prototypes and assign them to a phone number. Plum notes that scratchpads are for testing only, have a 64KB size limit, and are not PCI-compliant, so they should not run production applications.
  • The script validator checks a scratchpad or a hosted remote application for syntax errors before you call it. Plum's docs note it finds syntax errors only, not logic errors.
  • Call logs show every event in a call, with errors marked in red. Detailed recent-call logs are kept for five days and session logs for one year, on a rolling basis. Logging is not available on demo accounts.

Plum Fuse (low-code):

  • Deployments connect an application revision to a phone number. Plum recommends a test deployment set to the "latest" revision during development, plus separate deployments for QA staging and for the production revision. Every Fuse account receives one test phone number.
  • Fuse logs include detailed call logs, kept for five days, which show prompts, caller input, branching and web service calls, and session logs kept for one year.

VoiceTrends (monitoring):

  • Performance tracks JavaScript errors, fetch errors and average VXML page load time.
  • Diagnostic Flow diagrams the most common paths through your application, and its debugging tools show where disconnects, no-matches, no-inputs and transfers happen.
  • Event Tracker counts log events and loops per call, where callers re-enter the same step.

Building the flow first? Start with IVR call flow design best practices, or compare coding in VoiceXML with low-code. Product details are on the Plum DEV and Plum Fuse pages.

Frequently asked questions

What is IVR testing?

IVR testing checks that every path in a phone self-service application works as designed. It covers the flow or code, prompts and speech recognition, back-end integrations and performance under load. It runs before launch and again after every change, so updates do not break paths that already worked.

What are the main types of IVR testing?

The main types are syntax and flow validation, path walkthroughs, error-handling tests, speech recognition tests, integration and data tests, load tests, user acceptance testing and regression testing. After launch, production monitoring tracks errors, hang-ups and transfers on real calls.

How do you test speech recognition in an IVR?

Call in with different voices, accents, background noise, speakerphones and mobile connections, and try the many ways people phrase each answer. Note every misrecognition, add missing phrases to your grammars or adjust prompt wording, and retest. Phone audio is lower quality than a quiet room, so real calls matter.

How often should you test an IVR?

Run validation and regression tests before every release, load tests before launch and seasonal peaks, and a full path walkthrough whenever business details change, such as hours, products or teams. Many teams also schedule a periodic review of every path, even when metrics look normal.

What metrics should you monitor after an IVR goes live?

Track no-match and no-input events per step, hang-ups and transfers by step, script and fetch errors, page load time, and how many callers complete their task in the IVR. Spikes at one step usually point to a prompt, grammar or integration that needs fixing.

Talk to a Plum Voice expert

Tell us what you are trying to automate, improve or replace. We will show you the right path across Fuse, DEV or both.