3

我有不同的客户要求从 .Net 为 IVR 测试编写自动化测试脚本

我想用 .NET Framework 4.0 中的 C# 编写这个自动化测试脚本

我在实施方面几乎没有问题。

  • 编写自动化测试脚本。我需要从我的计算机应用程序(.NET Exe 文件)中拨打特定的 IVR 电话号码。我怎样才能做到这一点。对我来说有一个限制,我可以使用任何免费工具\框架\源代码,但不能使用付费工具。
  • 假设如果我正在拨打一个特定号码并收到一条消息,例如“Press 1 to Go and Pres to Shutdown”。我将如何将此语音消息转换为对象。基于此,我的应用程序代码流将起作用。我需要相互了解如何将输入传递给 IVR 调用流以及如何将其从 IVR 消息转换为 .NET 可读对象。

除此之外,我有信心以更简单的方式实现应用程序调用流程。

如果您有任何建议,不胜感激。

4

2 回答 2

2

这种类型的测试有几种方法,具体取决于您尝试通过测试实现的目标。我假设使用了 VoiceXML,因为我看到列出了该标签。

使用 VoiceXML,您可以使用 C# 编写一个应用程序,该应用程序向您的 VoiceXML 应用程序发出 HTTP 请求,就像 IVR 一样,并取回 VoiceXML 文档以进行解析。您可以检查 VXML 文档的正确性以及给定 HTTP 请求的预期内容。您可以解析文档以查看应用程序分支到的其他 URL,然后也发出这些请求。使用这种技术,您几乎可以遍历所有呼叫流路径。

另一种方法是让另一个 IVR 调用正在测试的应用程序。您可以使用 CCXML 对应用程序进行出站呼叫,并且一旦应答,您将让 VoiceXML 接管。您对 VoiceXML 进行编程以“收听”预期结果,然后将录制的音频用于 DTMF 或 VXML 应用程序的语音输入。Voxeo 有一个 名为 Prophecy 的免费 IVR 开发人员版本,它支持 CCXML/VoiceXML,可以用作这个测试驱动程序。免费版带有 2 个端口。我假设我们谈论的是功能回归测试而不是负载测试。负载测试可以使用相同的方法完成,但需要更多端口。

于 2012-01-10T18:26:22.563 回答
0

为什么需要将消息转换为对象?您可以将 IVR 视为黑匣子。

假设您知道通过系统的路线,测试不仅可以提供输入并断言域中已经发生了预期的效果吗?

我认为这篇文章将有助于拨号部分用另一台计算机呼叫一台计算机(拨号调制解调器)

于 2011-09-20T18:19:03.510 回答