Disclaimer: I am the Voiyager development manager ( www.voiyager.com ), VoiceXML testing tool. This does not meet your criteria, and I do not think that this is the type of tool that you need, but I thought it was worth mentioning it.
As far as I know, there is no such tool for VoiceXML. Actually, there are very few VoiceXML tools on the market, and hardly any of them are testing or analyzing. The manufacturers who created the development tools were all acquired by other companies. Some of them offered various forms of debugging that were specific to their toolbox or remained at the dialogue level (input signal). From your question, I assume that you need lower-level debugging capabilities.
I think the alternative paths are minimal and somewhat complicated. I believe that your main goal is to debug or rewrite an existing application, but you have not set any specific tasks besides JavaScript. Some thoughts or approaches that may help:
- Isolate JavaScript and put the code in a unit test harness. This will go a long way in understanding the application logic. Any JavaScript encapsulation that you execute is likely to go a long way toward improving code maintenance.
- Trying to run VoiceXML with an HTML translation layer so you can use FireBug. The biggest problem is with call input (i.e. processing SRGS grammars). Perhaps you could fool it only if the form accepts a JSON string, fills in the field values. There are grammar testing tools on the market. Depending on the nature of your problems, you can use a simple and easy approach and try to deal with this problem only in problem areas.
- Mark the application with a lot of logging. You can do this using the VoiceXML LOG element or push the variable space back to the server. By adding intermediate forms, you can provide a dump from each VoiceXML Data element.
- See if your application will work in one of the open source VoiceXML browsers (not sure about the state of the open source browsers that we created and bought for our various products). If you can make it work mostly, you can use a development debugger to provide some ability to go through the logic. Nevertheless, this is probably one of the most difficult ways, since you really need to understand the browser, to know when and where to follow the control points, and to figure out how to set the necessary data.
Good luck with that. If you find a different approach, I would be interested to see it published.
source share