Google+团队如何测试移动应用程序
作者:网络转载 发布时间:[ 2014/10/27 14:57:36 ] 推荐标签:软件测试 移动测试
现如今,许多公司都提出了“手机第一”的口号。然而,能够以一种有意义的方式来测试移动应用程序是非常具有挑战性的。在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是非常有效的。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11