App测试
1. 安装、卸载与升级更新测试
这是我们在传统的 WEB 测试中所不具备的场景,也是移动测试的特殊所在。测试一个 APP 它的安装卸载和更新过程,最基本就要考虑不同的操作系统、不同的系统版本、不同的厂商 UI 的修改以及不同的应用商店带来的影响。
先来说说安装过程,由于移动应用的属性,我们要考虑安装过程中是否能取消;如果过程中出现意外,比如死机了、没电了、自动重启了或者断网了怎么办;再有安装空间不足了会怎样等等。
同样的,升级过程也是一样要考虑到,是否强制升级;新老版本是否兼容;升级过程中意外情况是否正常回滚;升级过程用户的数据、状态的保留;跨版本更新处理等。
相对而言,卸载还是更简单一些的,只是包含卸载结果和工程的意外处理。当然,作为一个手机重度用户我们知道,APP 删除仍然会有部分数据留存,这也是我们要测试的一部分。
2. 耗电量和发热测试
我们在使用电脑的时候往往不 care 电量的问题,但是对于移动 APP 来说,耗电量也是决定性的因素。我自己使用的华为手机一旦出现某应用耗电量过大的情况,就会自动给予一个提醒,那么只要不是我自己的重度应用或者有可以替代的应用,我一定会考虑把它卸载。发热也是一样,很多时候这是跟耗电同时发生的。
所以,我们在测试的过程中要额外考虑到 APP 正常运行频繁操作、APP 运行无操作和 APP 后台运行三种情况下耗电量情况。
3. 流量测试
其实曾经的我们对于流量的关注更甚于耗电量之上,随着流量费用的降低和无限流量套餐的普及,流量的耗费已经不再是决定性的因素。但是作为 APP 测试而言,我们仍然需要考虑,不应让自己的 APP 产生过多的流量,增加用户有可能存在的流量费用。
通常情况下测试的工具可以 Android 系统的 adb 和 IOS 系统的 Xcode 轻松分析监控,但是监控数据不是目的,我们的目的在于怎样减少流量。
4. 兼容性测试
WEB 端测试的时候也需要进行兼容性测试,但是关注的细节不太一样,对于 WEB 来说,最重要的兼容性就是浏览器的兼容,而 APP,要综合考虑到不同操作系统、不同屏幕大小、不同语言设置、不同网络连接、不同主流机型上的兼容性,甚至还要考虑在同一个设备上与其他主流 APP 的兼容性。比如我们开发一款游戏 APP,如果它跟微信、支付宝不兼容,那么想来用户一定是卸载你的 APP。
5. 弱网测试
与 WEB 应用更大不同的地方在于移动应用的用户使用 app 产品的过程中,不可能永远都处在 WIFI 满格的情况下。在地铁里、公交上,甚至是电梯、车库、隧道等等的场景里,我们的 APP 会如何表现,这同样是我们的关注的重点。所以,对于移动应用测试来说,要保证能够在网络环境不良的复杂网络环境下的质量。
目前来说主流的弱网测试工具主要有三种:
- Fiddler
- NEWT(Network Emulator for Windows Toolkit)
- ATC(Augmented Traffic Control)
Fiddler 使用简单,但是归根结底还是以抓包为主,不是专业弱网工具;所以我们在专业进行弱网测试的时候还是选择微软的 NEWT 或者 Facebook 的 ATC 更多一点,如果考虑到 ATC 开源的属性,可以把 ATC 当做首选