前言
做app测试两年多了,最开始进行app测试时并没有了解过app测试的特性,只是和web测试一样进行着测试。一个个app版本发布后,发现app测试有他自己的特性,他很普通又很独特,在此总结下app测试的基础知识。
app不可逆性
由于app代码都是打包好发布的,app具有不可逆性。一旦app版本发布成功,用户下载成功这个版本,只要不更新,这个版本上的代码都是固定的。当app本身出现问题时,只能发布新的版本,用户下载新的版本后问题才会解决,故app测试中回归测试至关重要。
app测试基础知识
1,功能测试&版本回归测试
功能测试
在app测试过程时,当接到一个需求后主要流程为:分析需求 ->编写测试用例 ->测试用例评审&完善用例 ->冒烟测试 ->功能测试 ->回归测试。其中功能测试主要是对测试用例的执行和bug验证。测试并不是在功能测试阶段才介入的,早期需求确定后,测试便已经介入,测试和开发的工作的并行的,在开发阶段测试会先分析需求、编写测试用例,并进行测试用例评审。
版本回归测试
在当前迭代需求中会有多个需求,当客户端迭代即将结束时会有一个版本回归,在版本回归过程中,各个业务线会将这个迭代中的所有需求合到一起,然后由测试进行集成测试、回归测试,以保证客户端的质量。
备注:
- 客户端具有不可逆行-需注重回归测试
- 新需求-需考虑版本控制
2,中断测试
指 App 执行过程中,有其他事件或者应用中断当前应用的执行。主要覆盖场景包括:
- app运行时-接听电话
- app运行时-接收短信、通知提醒
- app运行时-系统发生闹铃事件
- app运行时-提示系统升级
- app运行时-开启低电量模式
- app运行时-锁屏、前后台切换
- app运行时-第三方app切换&切回app
3,网络异常测试
app测试中常进行的网络异常测试如下:
- 断网-恢复测试
- 使用弱网进行测试
- 网络切换测试:WiFi-切换4G、4G-切换WiFi
4,兼容性测试
兼容性测试时,设备选择上常考虑三个因素:手机型号、分辨率、操作系统。
手机型号一般从用户使用app活跃度top100中获取,这个数据可以从部门运营或者产品伙伴那里拉取数据获取。然后结合实际需求抽取部分Android、ios设备进行兼容性测试,例:从用户活跃表中挑选5款Android手机、5款ios手机进行兼容性测试。
Android目前常见机型为:华为、小米、oppo、vivo;系统主要是:Android5、Android6、Android7、Android8、Android9、Android10、Android11。
ios目前机型主要为:iPhone6、6P、7、7P、8、8P、X、XR、Xs、XS MAX、12、12 pro max;系统主要是:ios10、ios11、ios12、ios13、ios14。
备注:兼容性测试还可以使用云平台进行兼容性测试,例:使用云测平台进行兼容性测试,云测官网地址:https://www.testin.cn/
5,稳定性测试-monkey
Android设备常使用monkey进行稳定性测试,monkey是Android系统自带的命令行工具,通过对系统发送伪随机的用户事件流,对系统进行压力测试。
monkey测试基础指令:
adb shell monkey -p com.tencent.xxx -v -s 20 100
参数含义:
-p:指定测试的应用程序(后跟包名)
6,性能测试-perfdog
客户端性能测试可使用工具perfdog。perfdog是一款移动端性能测试平台,支持Android、ios平台。可以在软件运行过程中监测性能指标、并生成测试报告。
使用详情可参考:https://www.cnblogs.com/wetest/p/12745910.html
7,UI自动化测试-appium
随着需求的增多,客户端版本回归的测试工作会逐渐加重,可以使用UI自动化对稳定的功能进行自动化测试,提高工作效率。
使用appium+python进行UI自动化测试可参考以下文章:
- 环境配置:https://www.cnblogs.com/mini-monkey/p/11589833.html
- 启动app:https://www.cnblogs.com/mini-monkey/p/11691862.html
- 叮咚app搜索加车实例:https://www.cnblogs.com/mini-monkey/p/11854012.html