iPhone应用程序UI自动化测试设计

时间:2012-07-23 14:43:26

标签: ios automation ui-automation ios-ui-automation

Hi Automation / iOS Experts,

我们最近推出了一个新的iPhone应用程序项目,并希望使用Apple的UIAutomation Instruments自动进行一些基本的验收测试。现在我们有一个非常基本的框架来完成这项任务。这个框架简单地封装了Apple在Java中提供的底层JS函数(提供一些调试功能)并通过Junit驱动测试。测试在iPhone模拟器中运行。

所以背景是Instruments + Eclipse + Java + Junit + iPhone模拟器。

在编写测试时,我发现测试受到应用程序“状态”的极大影响。例如, 该应用程序在首次运行时显示某种“使用条款”页面,但在重置iPhone模拟器之前不再显示。在用户接受“使用条款”后,她将被带到“主页”页面,在那里她可以输入一些搜索条件并点击“搜索”并进入搜索结果页面。然后她可以进入“查看详细信息”页面。

TOU - >首页 - >搜索结果 - >查看详细信息。

请记住,这只是我真实应用的简化版本。

现在问题是: 为了自动测试视图细节功能,我的测试是否应该完成前面的所有步骤(假设应用程序总是在没有任何状态保存的情况下重新启动)? 或者我的测试是否应该假设某些前提条件(例如“视图详细信息”测试,假设我的应用程序位于“搜索结果”)?

请说明你的理由。对不起,如果我的英语很难理解,因为这不是我的母语。

谢谢!

文斯

1 个答案:

答案 0 :(得分:0)

“前置条件”/“已知基线”/“已知状态”对于自动化来说是很好的。对于UI测试更是如此,因为它们有更多的变化,可能导致与测试无关的问题导致测试失败。

因此,从自动化角度来看,直接进入“查看详细信息”测试。大多数自动化测试脚本都属于这些类型的功能区域。 TOU等每次重置/安装一次。所以有两个选择:

  1. 首先运行一个自动脚本来清除TOU并退出,然后是所有其他处理主页,搜索等的测试。或者......
  2. 手动清除TOU ,然后进行所有其他测试。
  3. 奖励选项:您还可以测试每次重置时TOU 不会出现多次,因为它不应该。这可能是您每次都要进行的第一次和第二次测试。然后运行剩余的测试。
  4. 如果你的自动化总是依赖于TOU出现,那么在第一次测试之后,其他人将会失败,因为在下一个重置/测试周期之前TOU不会出现。您可以在所有自动化测试开始时设置“处理程序”,以有条件地管理TOU页面。在这种情况下,我会选择上面的选项#1。