APP测试方向
功能测试
功能性测试目的是帮助我们验证该功能是否被实现以及该功能是否符合产品需求文档,主要包括:
- 业务逻辑测试:主要验证App业务是否符合预期,一般测试流程为:
阅读需求文档→了解开发实现→画出开发实现流程图→编写测试用例
- UI测试:由于手机的某些局限性,如手机的显示区域小,不能有太丰富的展示效果;手机的操作主要依赖于拇指,交互过程不能设计得太复杂等,所以需要关注界面元素的布局和自适应性 (横屏和竖屏)、界面的美观和简洁度以及用户体验。
注:功能测试方法可以有手动测试和自动化测试。
性能测试
衡量一个APP做的好不好标准,除了功能还有性能。由于手机内存限制,很容易出现内存泄漏、越界问题,需要保证一款合格的App在高、中、低端手机上都可以流畅运行。针对性能,我们关注的参数有
- 内存
- CPU测试
- 流量测试
- 耗电量测试
- 稳定性测试
- APP安装和启动耗时
通常的评判方法是与业内竞品做对比。
兼容性测试
不同型号的手机支持的图片格式、声音格式、动画格式不一样,需要选择尽可能通用的格式,或 者针对不同的型号进行配置选择,所以需要注意:
- 手机分辨率,如主流分辨率
1080*1920
、720*1080
、480*720
及非主流分辨率,尤其注意pad - 手机系统版本,如
Android10
、Android12
、Android N
等; - 不同手机厂商,如MIUI、魅族等,注意Google的Android原生系统;
- 不同屏幕尺寸,小(2~3英寸),普通(4英寸左右),大(5~7英寸),超大(7英寸以上)
冲突测试
冲突测试,就是把软件在各种安全软件环境下进行使用,检查是否会有报病毒木马、威胁等任何对被测软件不利的情况,这里的冲突测试专指与安全软件的冲突
因为安全软件可能会让我们的软件出现很多问题,比如app运行出错、阻止App获取一些权限、阻止app读取已经从系统获取了的权限、弹出窗口认为程序有威胁并直接删除等。在以下情况下需要做冲突测试:
- 有手机用户本地程序信息的操作
- 安装及使用时有通讯录、短信、通话记录、摄像头等权限的申请
- 频繁访问网络
- 新增插件
- 有更改开机启动项
异常情况测试
- 弱网环境:App在使用过程中会遇到弱网环境,如在地铁里,导致出现丢包。测试时需要注意
- 2G网络
- 3G网络
- 请求超时
- 响应超时
- 网络抖动场景模拟
- 手机应用在操作过程中断网、断电、重启
- 手机锁屏、解锁
- 手机其他应用对App的影响,如推送通知、来电、收发短信、文件下载、听音乐等
其他测试点
- App安装(从渠道商下载安装、通过apk安装)
- App卸载
- App升级(注意跨版本升级)
- 覆盖安装(同版本覆盖、高版本覆盖低版本)
抓包测试目的
- 查看隐藏字段 - 如收集用户的数据,预防 CRSF 攻击,防网络爬虫
- 查看网络信息开展 接口 和 性能 测试
- 检查数据加密 - 检查敏感数据在传输过程中是否加密
- 确定是数据传递问题还是前端显示的问题
- 了解整个系统 - 各个子系统,数据流向
弱网测试(进入地铁,公交,火车站,乘电梯)
弱网测试类型
- 弱网络测试:就是在各种非WIFI的网络环境下进行功能测试,同时模拟高延时和高丢包的异常网络环境进行健壮性测试。
- 2G/3G/4G/5G网络可以使用电话卡模拟
- 其他网络情况(高延时、高丢包)需要借助工具进行模拟
- 无网络测试:断网测试 - 有无本地存储
- 网络切换测试:这部分主要是进行几个不同网络场景的切换,包括
- WIFI-->2G/3G/4G/5G-->无网络
- 2G/3G/4G/5G-->WIFI
- 无网络-->WIFI等
charles 模拟弱网
通过抓包工具,设置延迟,来模拟不同的网络情况,比如使用Fidder,Charles,Facebook开源的atc工具等
以charles为例,使用步骤如下:
- 打开charles
- 手机连接代理
- 通过charles顶部的
Help->Local ip Address
,可以快速查看本机ip - 通过顶部栏
Proxy->Proxy Stting
,在port一栏中可以查看端口号 - 将手机连接的WIFI代理改为手动,然后填入电脑端链接的网络IP和电脑中的端口号
- 在Charles看到连接提示,点击allor(确定)即可连接上
- 通过charles顶部的
- 选择网络类型
- 打开顶部栏
Proxy->Throttle settings
页面 - 勾选
Enable Throttling
,即可在Throttle preset
复选框中,也可以手动配置上行,下行带宽。 - 还可以点击软件上放的🐢按钮。自动设置弱网环境
- 打开顶部栏