VoiceXML Testing Made Easy
It’s an idea Jon Catlin had carried for 10 years: to construct a testing procedure for software quality improvement. While languages such as Java can only be tested by writing even more code, Catlin knew that one language, VoiceXML, was testable.
When he arrived at Syntellect, the idea sparked again. After discussing it with a colleague, Catlin, Syntellect’s vice president of product development, approached a Syntellect engineer, who said a VoiceXML testing system was not a pipe dream and could be done. That day, they initiated Syntellect Voiyager, the first process by which a machine could test every call path of VoiceXML code for errors.
"The good thing about VoiceXML is that it has boundaries in the language, so the language itself is giving you pointers about the potential set of possibilities of what can go right and what can go wrong. So that’s how we’re able to do this with Voiyager," Catlin explains. "There are still limitations; we can only test the piece of the application that exposes itself through VoiceXML."
Voiyager is a relief to programmers whose VoiceXML codes are tested only at the tail end of the development process. When it comes time for testing, errors can manifest and cause last-minute problems that waste precious company time. With no opportunity to test all call paths in a large-scale IVR system, designers must do their best to design a solid system and cross their fingers that no major errors pop up.
"[Voiyager] massively increases the capacity to test the application," says Nancy Jamison, principal of Jamison Consulting. "In some cases, for more complex applications with lots of possible data that can be given to the application, there can be thousands of possible paths, which logically, time-wise, wouldn’t be possible for a human tester to do. And even if they wanted to test a large application in that way, it would be time- and cost-prohibitive."
Voiyager, which works with all versions of VoiceXML, is capable of not only testing a massive amount of code, but can do so in record time.
Catlin remembers one Syntellect customer whose IVR had more than 300,000 call paths. The company had enough manpower to test only 3,000 of those paths. "The whole paradigm shift is that it might take eight hours to test your application—it might take 18 hours—but guess what? Your [company’s] people aren’t working on the weekend, overnight," Catlin states. "Voiyager can sit there and go through an entire test suite in a matter of hours, and by Monday give you a result of whether it changed or didn’t."
Like all testing scenarios, Voiyager can help bring problems—and potential problems—to the surface, but isn’t an all-encompassing quick fix. "The caveat on this is that it’s not magic," Jamison explains. "It’s not going to write a test plan or create its own test data. You have to provide that, but once you provide the test data, it does all the rest."