2010-12-22 29 views
0

我正在尝试为我的应用程序对第​​三方服务的响应写入自动测试。对第三方服务错误进行自动测试的策略

一般情况下,服务总是启动。我正在寻找一种可靠的方法来模拟它显着下降而不需要root权限。另一个折痕是:被测试的应用程序将在一个独立的过程中。我想只是改变指向服务的配置,但这不起作用。

这一切都发生在unix环境(linux,os x)中,所以我希望它能在那里工作,但我不在乎windows。有没有一种快速的方法来阻止外出端口或类似的东西?它也必须是暂时的,因为这必须在更大的测试套件中进行。

希望有一个相当标准的做法,我只是还没有找到。

澄清:这是一项功能测试,以确保gui在服务停止时正确响应。单元测试已经涵盖。

回答

1

为该服务制作代理。指向该服务的代理。拍摄服务的代理。

0

如果您的应用程序设计时考虑了单元测试,您应该可以用不同的实现替换第三方服务。

这个想法是,您可以用一个模拟对象替换服务,该模拟对象返回用于测试的虚拟数据。您也可以用引发异常或超时的对象替换服务。

随着模拟服务的到位,测试人员可以使用该应用程序并了解它如何响应服务故障。

+0

实际上它的单元测试是覆盖。这更多的是在功能测试级别。 Selenium在另一个进程中击中应用程序,但无法更改正在运行的应用程序。我试图在服务停止时测试用户在gui中看到的内容。 – William 2010-12-22 00:53:33