测试包含同步和其他网络请求的产品

时间:2012-01-09 22:24:05

标签: iphone ios unit-testing testing

我即将发布同步和以其他方式与服务器交互的iOS应用程序。我正在努力应对可以涵盖大多数/所有可能情况的测试程序。我没有任何自动化测试的经验,所以到目前为止,我已经使用iPhone模拟器和物理设备手动完成所有操作。

我将如何开始设计自动化测试,以帮助我更好地了解可能出现的情况,并在将来进行更改并添加新功能时为我提供良好的服务?

1 个答案:

答案 0 :(得分:1)

您可能需要在问题中更加具体。即。概述您与服务器的通信方式,使用的技术等。

但作为一般方法,我要做的第一件事是寻找一种从服务器获得可重现结果的方法。例如,如果我发送一条消息,询问id为“x”的记录,那么服务器将返回具有相同数据的相同记录。有几种方法可以做到这一点,一种方法是将一组测试数据加载到您的服务器中。另一种方法是创建一个本地测试服务器并与之交谈。另一个选择是在自动测试中避免服务器一起使用并模拟应用程序中的通信类。这完全取决于你要测试的内容和方法。

一旦你的后端处理完毕,你可以考虑自动化测试。这在很大程度上取决于您如何处理服务器。例如,如果您正在执行与服务器实际通信的集成样式测试,那么测试可能采用以下形式:

  1. 重置或清除服务器数据。
  2. 使用可预测的数据加载它。
  3. 使用某些测试框架运行iOS应用程序并验证从服务器发送的任何数据。
  4. 访问服务器并验证所做的任何更改。