引言
参考《移动App测试的22条军规》、《测试工程师全栈技术进阶与实践》以及其他资料总结了在移动App测试中需要测试的内容。
文章目录
功能测试
和网页端应用一样,首先需要保证功能正确性,通常有以下几个层次的测试。
单元测试
根据开发语言选择合适的单元测试框架,可以是Junit、Qunit、Robolectric。
集成测试/API测试
可以选择常用的api测试工具postman、rest-assured,postman可以用于辅助手工测试,rest-assured可以自动化api测试,和版本控制、持续集成完美结合。
系统测试/E2E测试
自动化测试工具很多,比如Appium、Monkey、Robotium、Monkey talk等,但通常选择Appium,它既适用于Android系统也适用于IOS系统,生态也完整。网上有很多自动化测试工具的比较,此处不再赘述。
探索性测试
敏捷测试中的一大主要测试方法,可以提前设计测试用例,也可以根据测试用例结果不断拓展,重要的是要站在用户角度,验证完整的用户旅程。
发布测试
发布测试是指测试要发布的新版本以验证其是否可以发布,策四内容可能是app的部分功能,也可能是全部功能。可以理解成是回归测试,它是一种测试类型,不是一个测试阶段,你可以在任何阶段进行全功能的回归/发布测试,如果你的自动化测试体系够完善的话。
专项测试
顾名思义,是移动app测试才会涉及的一些测试类型。
安装卸载测试
- iOS原生应用,测试从appStore下载之后是否能成功安装、运行、退出。
- Android原生应用,测试从应用商店或第三方网站下载,是否能正常安装、运行、退出。
- 测试应用是否可以正常卸载,卸载后是否有残留文件。
- 在安装卸载过程中,也需要考虑内存不足、断网、断电等一场情况。
流量测试
测试app耗流量的情况,测试场景可以有但不限于:
- 执行业务操作是耗费的流量;
- 应用在后台运行时消耗的流量;
- 安装完成后首次启动时耗费的流量;
- 应用安装包本身的大小;
- 购买或升级应用需要的流量。
耗电量测试
测试app的耗电量,测试场景有但不限于:
- 应用运行但没有执行业务操作时的耗电量;
- 应用运行且执行密集业务操作时的耗电量;
- 应用运行且执行密集业务操作时的耗电量。
弱网测试
弱网测试是指app在不同网络情况下的测试,可以从一下几种情况入手测试:
- 网络正常情况下,功能是否正常;
- 无网络情况下,功能是否可用,是否有友好提示,数据是否丢失;
- 弱网情况下,是否有请求超时处理,数据是否丢失,是否出现请求堆积的情况;
- 网络状况切换,比如断开网络,切换网络类型,弱网恢复后是否发送重复请求等。
特殊操作测试
特殊操作测试是指对一些特殊手势的测试,比如滑动、拖拽、长按等。在设计app的手势操作功能时,也需要注意尽量使用与操作系统本身一致的手势操作,避免冲突。Android系统和iOS的手势操作也存在差异,所以多了解一些常用的手势操作对测试十分有用。
交互测试
交互测试是指测试app和其他app打交道时的情况。比如使用app时访问相机、相册、通讯录,app需要使用输入法,在app中间打开第三方网站链接,app使用社交账号登陆等。
通知测试
测试app推送的消息是否可以正确展示,不同的设备展示通知的地方和形式不同。
交叉事件测试
交叉事件是指在app使用过程中被其他应用打断的情况。比如被闹钟、电话呼入打断,这里列举一些常见情况:
- 多个应用同时运行&相互切换没问题;
- 应用运行时有电话呼入;
- 应用运行时接收短信;
- 应用运行时提示系统升级;
- 应用运行时闹钟响了;
- 应用运行时进入低电量模式;
- 应用运行时第三方软件弹出警告;
- 硬件的影响:耳机、home键、锁屏键、存储卡被拔掉。
升级测试
现在app基本都会做版本更新,版本升级一般是增量升级,即升级只增加新功能,不影响原有使用。所以需要测试app升级后原有数据是否存在,是否需要用户再次重新登陆等等。
性能测试
响应时间
用户能明确感知到的业务操作的流畅度,比如页面渲染速度、请求速度等。
CPU
基本的性能测试监控指标。
内存
基本的性能测试监控指标,不同操作系统对app的内存使用空间有不同的限制。
启动时间
包大小
安装包的大小直接影响安装过程是否流畅,以及消耗的流量、电量等。
兼容性测试
移动设别类型很多,所以移动app的兼容性测试显得及其重要,也远比web应用的兼容性测试复杂。
芯片兼容
考虑不同芯片对app的影响,比如高通、三星、intel等不同厂商的芯片。
系统兼容
通常是Android和iOS这两种系统,网站https://www.netmarketshare.com/可以查询各种系统的市场占有率,可以做为参考。
品牌兼容
各个品牌的移动设备在硬件和系统上(特别是Android)都有较多的差别,可以参考网站https://www.phonearena.com/查询各个品牌的移动设备的参数差别。
屏幕大小、分辨率兼容
屏幕大小、分辨率的差别直接影响用户使用习惯和app的内容显示,所以最好选择不同屏幕大小、不同分辨率的设备进行测试。
安全测试
权限
测试app是否有访问用户各种信息的权限,如果有,是否征得用户同意。
传输内容
传输的内容是否加密,是否携带了敏感的用户信息等。
广告
一些app为了盈利会插入广告,这时就需要验证广告跳转是否安全。也需要查杀一些恶意广告软件。
防护
用户体验测试
屏幕横竖测试
关注用户使用习惯,app是否支持横竖屏,如果支持,需要测试。
遵循规范与习惯
App设计是否遵循一些基本的操作系统习惯,降低用户学习成本。
关注特殊人群
比如字体放大功能、语音阅读功能等。