在我们的测试工作中,对于某个 APP 的测试其实有很多东西都是类似的可以抽象出来的,这里 june 总结一下大部分 APP 测试的时候都要考虑到的方面。如果漏下了其他方面,欢迎大家补充。
是否出现欢迎界面,欢迎界面的停留时间合理,欢迎界面后是否正常进入应用;
首次启动时间是否合理;
该拉取的信息是否正确;
桌面图标是否创建成功,功能启动快捷键创建是否成功(某些安卓手机会有在桌面创建应用内某个功能的快捷键的需求)
启动时间是否符合预期;
从各个启动入口进入应用是否可以正常进入:程序启动主图标,某个功能的快捷键,widget;
启动后状态检查:如初始化信息、初始状态、启动对网络
启动进程服务检查:进程名、进程数、服务名、服务数、第三方调用的 SDK 如 GPS
带登陆的应用是否二次启动的时候正常登录
操作出现 crash 后再启动:如空指针、内存溢出等
手动停止进程:多进程的情况停止所有或者停止其中一个后重启
手动停止服务:多服务的情况,停止所有或者停止部分服务后,未重启直接使用
管家软件一键清理进程后重启
其他系统软件工具停止进程、清理软件数据
这个一般是根据需求来对应用的所有模块所以功能的触发事件逐一验证。这个最基本的要从两个方面考察,一方面是顺从需求来对模块进行操作,是否达到需求规定的预期;另一方面就是与需求背道而驰是否程序会有相应异常控制等等。廖叔提出了 Google 正在使用的测试建模的概念,这个方法可以可以帮助我们更好的结合需求分析应用的架构,设计更完善的功能模块用例。
正常输入,输入越界,特殊字符集 (\n,\r 等等),利用复制粘贴向文本输入内容,输入程序规定不让输入的字符
每一个按钮、每一个可点击项是否能够完成需求规定的功能
尝试点击页面上不可点击的区域,来验证在测试过程当中的预留测试后门是否关闭
需要用户确认的权限没有授权,权限默认关闭
联网权限被管家、系统安全类软件限制情况下的联网操作
权限敏感度,如通讯录等为系统的绝密权限谨慎获取
使用安全软件进行安全漏洞、病毒扫描,看被测 APP 是否会被这些安全软件提示有问题而影响用户的对被测 APP 的使用或者印象
APP 使用过程中产生的临时文件存储路径、命名方式等
APP 中涉及的下载操作产生的文件存储方式
存储的文件被锁、占用
有外置 SD、内置 SD 卡都要考察 APP 产生的文件是否正确
APP 被安装在 SD 卡或者手机存储空间
磁盘空间不足、磁盘无权限(如读、写)
网络信号,尤其是弱网络环境下应用的表现
不同运营商网络:电信、联通、移动,2G/3G/4G
网络中断、网络恢复场景的逻辑处理(如重试),以及网络提示
首次启动应用的流量是否符合预期
统计、异常上报对流量的影响
APP 中图片大小、尺寸是否有考虑对网络流量的影响
基于流量安全的特殊业务,如仅 wifi 联网
请求网络层错误:http response 返回非 200 的状态
请求业务层错误:接口返回内容为空、超长、字段类型不匹配
锁屏中断:停留在程序操作界面进行锁屏,恢复后检查操作是否正常
前后台切换:停留在程序操作界面,通过 Home 键,进行程序的前后台切换
加载中断:页面接口请求、界面框架加载时,通过 Home 键、返回键、快速切换操作进行中断
系统异常中断:如关机、断电、来电
UI 结构、对话框基于分辨率、屏幕大小进行适配
涉及 API 调用如获取 SIM 卡信息、外置 SD 卡设置(4.4 外置 SD 卡不具备写的权限)
X86 机型、V5、V6、V7、V8
进程管理:省电管理、后台进程驻留管理
显示管理:字体大小、字体类型
语言环境:语言环境
横竖屏配置:是否支持横竖屏自适应处理
逐步升级:用户数据、设置、状态的保留,特步注意新版本已去掉的状态或设置
跳级:即隔开版本覆盖安装
降级:覆盖安装更低版本
卸载安装 4、卸载安装,安装目录清理,SD 卡存储数据不被清理
省流量升级:有些助手提供省流量升级的方式
在没有更新或者网络时,需要给予用户正确的信息表达
如果升级有忽略本次版本升级,那么当有新的升级版本时,是否还有提示升级
强制升级 8、不升级无法使用
核心操作的性能指标:如 CPU/内存、响应时长、电量、流量
选择某些场景做持续反复操作
Monkey 稳定性操作,持续多个小时
列表滑动、返回进入、快速点击(这个肉眼不好评判,可以借助 GT,一般打分在 90 分以上是比较好的)
通用软件 输入法
安全软件
通信类
竞品软件 同类软件,是否出现冲突
功能方面:与同类竞品软件在 UI 设计,交互体验等方面进行对比
性能方面:同类竞品软件在性能、耗电、流量等方面至少与对方持平,最好不要低于对方太多
本章完~