自动 IVR 回归测试
我对从 .Net 编写用于 IVR 测试的自动化测试脚本的客户有不同的要求,
我想从 .NET Framework 4.0 中的 C# 编写此自动化测试脚本,
我在实现时没有几个问题。
- 编写自动化测试脚本。我需要从我的计算机应用程序(.NET Exe 文件)拨打特定的 IVR 电话号码。 我该怎么办呢。对我来说有一个限制,我可以使用任何免费工具\框架\源代码,但不能使用付费工具。
- 假设如果我拨打某个特定号码并收到类似“按 1 开始并按按关机”的消息。 我如何将这个语音消息转换为一个对象。基于此,我的应用程序代码流程将起作用。 我相互需要如何将输入传递到 IVR 呼叫流程以及如何将其从 IVR 消息转换为 .NET 可读对象。
除此之外,我有信心能够以更简单的方式实现应用程序调用流程。
如果您有任何建议,我们将不胜感激。
I have different requirement from a customer to write a automated test script for IVR Testing from .Net
I want to write this automated test scripts from C# that is in .NET Framework 4.0
I have few questions in implementing.
- To write automated test script. I need to dial the particular IVR phone number from my computer application(.NET Exe file).
How can I do this. There is a constraint for me that I can use any free tool\framework\source code but not the paid one. - Suppose If I am calling a particular number and getting a message like "Press 1 to Go and Pres to Shut down".
How I will tranform this voice message to a object. Based on that my application code flow will work.
I need this mutuallly how to pass input to IVR call flow and how to transform that from IVR message to a .NET readable object.
Other than this I have a confidence like I can achieve application call flow in easier way.
If you have any suggesions that is appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
此类测试有多种方法,具体取决于您想要通过测试实现的目标。我假设使用了 VoiceXML,因为我看到列出了该标签。
使用 VoiceXML,您可以用 C# 编写一个应用程序,该应用程序向您的 VoiceXML 应用程序发出 HTTP 请求,就像 IVR 一样,并返回 VoiceXML 文档进行解析。您可以检查 VXML 文档的正确性以及您对 HTTP 请求的预期。您可以解析文档以查看应用程序分支到的其他 URL,然后也发出这些请求。使用这种技术,您几乎可以遍历所有呼叫流程路径。
另一种方法是让另一个 IVR 呼叫正在测试的应用程序。您可以使用 CCXML 向应用程序发出出站呼叫,一旦应答,您将让 VoiceXML 接管。您对 VoiceXML 进行编程以“监听”预期结果,然后将录制的音频用于 VXML 应用程序的 DTMF 或语音输入。 Voxeo 有一个免费的名为 Prophecy 的 IVR 开发者版本,支持 CCXML/ VoiceXML 可以用作此测试驱动程序。免费版本有 2 个端口。我假设我们正在谈论功能回归测试而不是负载测试。可以使用相同的方法完成负载测试,但需要更多端口。
There are a couple of approaches for this type of testing dependent upon what you are trying to achieve with your testing. I am assuming VoiceXML is used since I see that tag listed.
With VoiceXML you can write an application in C# that makes HTTP requests to your VoiceXML application just like the IVR would and get back the VoiceXML document to parse. You can check the VXML document for correctness and what you expected given the HTTP request. You can parse the document to see what other URL's the application branches to and then make those requests also. Using this technique you can pretty much go down all of the call flow paths.
Another approach is to have another IVR call the application being tested. You can use CCXML for making the outbound call to the application and you would have VoiceXML take over once it answered. You program the VoiceXML to "listen" for the expected results and then you use recorded audio for either the DTMF or speech input for the VXML application. Voxeo has a free developer version of an IVR called Prophecy that supports CCXML/VoiceXML and could be used as this test driver. The free version comes with 2 ports. I am assuming we are talking about functional regression testing and not load testing. Load testing can be done with the same approach but requires many more ports.
为什么需要将消息转换为对象?您可以将 IVR 视为黑匣子。
鉴于您知道通过系统的路由,测试是否可以不仅仅提供输入并断言域中已发生所需的效果?
我认为这篇文章将对拨号部分有所帮助 呼叫计算机使用另一台计算机(拨号调制解调器)
Why do you need to transform the message into an object? You could just treat the IVR as a black box.
Given you know the routes through the system can the test not just provide inputs and assert desired effect has happened in the domain?
I think this post will help with the dial up part Call a computer with another computer (Dial up Modem)