软件测试精进之路百人计划

软件测试52讲笔记--20 与时俱进:浅谈移动应用测试方法与思路

2018-08-21  本文已影响117人  cynthia猫

这是我购买的"极客时间"上的一套课程的笔记,总共52讲,定期对其中的内容做一笔记,巩固学习内容。

20 与时俱进:浅谈移动应用测试方法与思路

在作者看来,无论移动端和PC段测试,都属于GUI测试的范畴,所以基本的测试思路是相通的。所以之前所说的脚本分层的实现方法也同样适用于移动端的GUI测试。

移动端应用又可以进一步细分为三大类:Web App, Native App 和 Hybird App。

三类移动应用的特点

Web App本质上就是Web网页。
Native App:移动端的原生应用。
Hybird App:介于上述二者之间。

三类不同移动应用的测试方法

如果你的 Web 页面是基于自适应网页设计(即符合 Responsive Web 设计的规范),而且你的测试框架如果支持 Responsive Page,那么原则上你之前开发的运行在 PC Web 端的 GUI 自动化测试用例,不做任何修改就可以直接在移动端的浏览器上直接执行,当然运行的前提是你的移动端浏览器必须支持 Web Driver。

对 Native App 的测试,虽然不同的平台会使用不同的自动化测试方案(比如,iOS 一般采用 XCUITest Driver,而 Android 一般采用 UiAutomator2 或者 Espresso 等),但是数据驱动、页面对象以及业务流程封装的思想依旧适用,你完全可以把这些方法应用到测试用例设计中。

对 Hybrid App 的测试,情况会稍微复杂一点,对 Native Container 的测试,可能需要用到 XCUITest 或者 UiAutomator2 这样的原生测试框架,而对 Container 中 HTML5 的测试,基本和传统的网页测试没什么区别,所以原本基于 GUI 的测试思想和方法都能继续适用。

移动应用专项测试的思路和方法

第一,交叉事件测试

也叫中断测试,是指App执行过程中,有其他事件或者应用中断当前应用执行的测试。

此类测试目前基本是采用手工测试,并且在真机上进行,不会采用模拟器。

交叉事件测试,需要覆盖的场景主要包括:

第二,兼容性测试

常见的 App 兼容性测试往往需要覆盖以下的测试场景:

第三方的移动设备云测平台,国外最知名的是 SauceLab,国内主流的是 Testin。

第三,流量测试

流量测试,通常包含以下几个方面的内容:

第四,耗电量测试

耗电量测试通常从三个方面来考量:

耗电量检测既有基于硬件的方法,也有基于软件的方法。
关于软件的方法,Android 和 iOS 都有各自自己的方法:
Android 通过 adb 命令“adb shell dumpsys battery”来获取应用的耗电量信息;
iOS 通过 Apple 的官方工具 Sysdiagnose 来收集耗电量信息,然后,可以进一步通过 Instrument 工具链中的 Energy Diagnostics 进行耗电量分析。

第五,弱网络测试

移动应用的测试需要保证在复杂网络环境下的质量。具体的做法就是:在测试阶段,模拟这些网络环境,在 App 发布前尽可能多地发现并修复问题。

在这里,作者推荐一款非常棒的开源移动网络测试工具:Facebook 的 Augmented Traffic Control(ATC)。
具体可以参考官方网站。

第六,边界测试

边界测试是指,移动 App 在一些临界状态下的行为功能的验证测试,基本思路是需要找出各种潜在的临界场景,并对每一类临界场景做验证和测试。 主要的场景有:

总结

  1. 移动应用根据技术架构不同,分为三大类。所用的测试方法本质上都属于GUI测试的范畴。
  2. 从业务角度来看,移动端的测试用例设计和传统PC端的GUI自动化测试策略相似,只是测试框架不同。
  3. 各种专项测试是移动应用的测试重点,有别于传统GUI测试。包括:交叉事件测试、兼容性测试、流量测试、耗电量测试、弱网络测试和边界测试。

【心得】
关于专项测试的总结很棒,尤其是作者列出的场景,可以根据自己所测产品的具体情况,参考之后整理成一份针对自己所负责产品的专项测试点,并据此编写测试用例。

上一篇 下一篇

猜你喜欢

热点阅读