我是新的自动化测试,并在寻找指导,我可以如何模拟或创建一个模拟器的IVR (自动呼叫系统)。
我们有一个应用程序,它向第三方软件发送一些用户数据。这个第三方代表我们给用户打了个电话,问了几个问题。然后,它在共享的sftp位置发送CSV文件中用户的响应细节。
为了测试我们的系统,我想完全绕过这个第三方,创建一个假系统,但我不知道怎么才能伪造一个电话。
目前,我们如何手动测试是我们创建一个用户,发送我们自己的电话号码,以便我们可以得到一个电话,并回答他们根据测试用例。根据我们的测试案例,我们将看到我们是否在csv中获得了预期的结果。
有没有人有更好的方法这样做,并节省时间的手工处理。
这很复杂,我可能解释得不太清楚。因此,如果你有任何问题,我会尝试更详细地解释。
发布于 2013-08-21 11:49:10
帕斯
你有几个选择。
考虑到您的系统向第三方系统发送数据,您可以知道格式,也可以从编程团队获得要发送的数据的格式。您知道返回的数据的格式。这足以构建一个简单的模拟器,它将以给定输入的适当格式生成虚拟数据。理想情况下,模拟器将读取配置文件中的问答数据(以便于操作),并根据输入的电话号码选择问题/回答数据返回。
这就是我如何处理这个问题的方法:给定用户电话号码111-111-1111,读取该电话号码的配置数据,并使用配置文件中的问题/答案构建一个预期格式的CSV文件,然后将其保存到预期的位置(这也应该由一个配置文件来管理,这样您就不会把真正的文件转储弄得乱七八糟)。您的自动化创建了一个用户并发送用户数据,然后等待直到文件存在于预期的位置(或者交替地,在开始检查结果文件之前创建大量请求),读取该文件并将数据与预定义的基线进行比较。这个方法可能是最简单的实现方法,尽管它确实需要一些编程。
你可以考虑的其他选择:
如果您无法构建或让编程团队为您构建一个简单的模拟器,您仍然可以这样测试您的应用程序处理:
我以前在自动化中使用过模拟和输出捕获,然后是输入处理。最初的实现可能是一种挑战,但它仍然胜于试图对您无法控制的第三方系统进行自动化。
发布于 2013-08-21 16:10:44
如果我是你,我会问自己的第一个问题:我是否必须测试第三方应用程序是如何工作的(例如,这组答案是否导致csv文件中的预期数据?)还是假设第三方应用程序运行良好,只需要测试应用程序与第三方之间的集成(例如,添加到共享sftp位置的新csv文件是否由应用程序处理?)
你现在测试你的应用程序的方式并不是真的相信第三方能像预期的那样工作,因为你必须等待这个应用程序的电话和回答问题。间接地,您测试第三方应用程序本身,这可能是也可能不是您的意图(是吗?)
如果您只测试集成,您可能创建一个假类,坚持您的第三方应用程序的界面。例如,这个假类将在将用户数据发送到应用程序并将其存储在适当的位置之后,创建一个带有预期数据的csv文件。之后,您将验证是否相应地处理了文件,或者作为集成的一部分所期望的任何其他操作。
请注意,当您使用假类测试集成时,您可能仍然希望像现在这样执行完整的端到端测试,但不那么频繁。因此,您获得了更多的信心,相信事情会像预期的那样对最终用户起作用。例如,这个第三方可能会更改响应文件的格式,这会破坏与应用程序的集成,但是您不会通过使用假类来发现这一点。
还有一件事要增加测试用户的关注点。你说过每次都是你创造的。您可以考虑拥有一个测试帐户池,您可以随着时间的推移重用这些帐户。
https://sqa.stackexchange.com/questions/6661
复制相似问题