Google+团队如何测试移动应用程序

发表于:2014-10-27 11:14

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:大头    来源:测试窝

  现如今,许多公司都提出了“手机第一”的口号。然而,能够以一种有意义的方式来测试移动应用程序是非常具有挑战性的。在Google+团队,我们分享了通过我们反复试验得到的使我们成功的战略,能够同时运用于iOS和Android的测试移动应用程序。
  整体来说
  了解平台。 Android上的测试与iOS上测试不是一回事。适用于不同平台的测试工具和框架的都有显著的不同之处。(例如,Android使用的是Java,而iOS使用的是Objective-C,用户界面布局都建立各自不同的平台上,UI测试框架在两个平台上工作的也非常不同。)
  稳定你的测试套件和测试环境。脆弱不可靠的测试比没有测试更糟糕,因为不可靠的测试反而影响构建状况,降低您的套件的可信度。
  将你的测试分解为可管理的组成部分。目前在手机应用测试方面有太多复的组成部分(如模拟器/设备的状态,由操作系统引发的动作)。
  为您的测试提供密封测试环境。手机用户界面测试本身存在着脆弱性;不要再让外部依赖对其增加更多的脆弱性。
  单元测试是您的手机测试策略的支柱。尝试尽量将应用程序代码的逻辑部分与UI分开。这种分离将使得单元测试更精细,速度更快。
  Android的测试
  单元测试
  从代码逻辑分离UI代码是特别难的Android。例如,一个活动被设计成同时作为控制器和视图组件;确保你在编写单元测试时,记得这点。另一个有用的建议是从Android仿真器分离单元测试,这将不再需要建立一个APK并安装它,你的测试将运行得更快。 Robolectric就是这样一个完美的工具;在运行测试中,它通过存根方法来安装启动Android平台。
  密封的UI测试
  一种密封的UI测试通常是在没有网络通信或外部依赖的情况下运行测试。一旦测试可以在一个密封的环境中运行,利用白箱测试框架,例如Espresso就可以模拟和应用程序代码紧密耦合的UI用户操作。Espresso也将同步你的测试到UI线程上,以减少脆弱性。关于Espresso的详细信息将在将来的谷歌测试博客上发布。
  
图:非封闭流程 vs 封闭流程
  猴子测试
  猴子试验通过对你的Android应用程序加压进行测试以寻找崩溃和ANR。测试通过伪随机事件,例如类似猩猩所做的点击和手势来进行测试。猴子测试结果在某种程度上是可复制的;时间和延迟并不完全在你的控制之下,并可能导致测试失败。重新运行针对相同的配置的相同的猴子试验往往会重现这些失败。然而,如果你每天针对不同的SDK运行它们,它们对于在新版本的开发周期中较早的发现bug是非常有效的。
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号