一.为什么要开展压力测试?
1.提高产品的稳定性
重要指标,遇到不稳定忍受或放弃 产品发展阶段
2.提高产品的留存率
卸载 留存率不代表使用率
进而带来收益,必须要压力测试
二.什么时候开展压力测试
1.首轮功能测试通过后
2.下班后夜间进行
3.跑monkey 时一定要加上机型型号,系统版本号,安卓版本号
三.手工测试场景与自动化测试场景
四.ADB与monkey
五.monkeyscript monkeyrunner
monkeyscript可以完成
六.压力测试结果
1.crash 崩溃闪退
2.ANR 无法响应
七.准备测试环境
1.准备 安卓SDK环境
包名:搜索应用宝 点到APP详情直接查看包名,没上应用宝的话,直接问开发人员
安装:apk
卸载:app adb uninstall 包名
2.高级参数 throttle 指定事件的间隔
3.☞☞☞☞☞(很重要)seed参数 指定随机生成数的seed的值 把两次随机的结果进行复现 先定义一个seed的值 就可以进行结果复现了
monkey 生成的事件流是随机的,如果出现异常,我们把问题提交给开发,开发人员解决完以后会让我们复现,可是monkey执行的是随机操作,怎么去复现一模一样的步骤呢?借助seed参数,每一个seed值产生唯一的操作序列,seed值一样,就可以极限情况下保证执行的结果一样!&但是实际性况下,即使seed值一样,跑出来的结果也不一样,原因有网络,有历史数据没有清除这些,因此seed参数设定完以后,跑的时间久一点,保证不被人为因素干扰!有些bug 是特殊机型导致的,有些bug 是外部环境导致的,跟代码本身没有关系,复现的环境不可能100%一致,
4.触摸事件 设定触摸事件百分比
5.动作时间 设定动作时间百分比 百分比之和为100%
6.轨迹球事件 设定轨迹球事件百分比
7.基本导航事件 输入设备的上下左右
8.主要导航事件 手机软键盘上兼容中间键 返回键 菜单键
9.系统导航事件 HOME键 BACK键 拨号和音量键
10.启动activity事件
11.不常用事件
12.崩溃事件 忽略崩溃与异常 monkey再遇到这些事件时继续跑
13.超时时间 忽略超时时间
八.crash结果分析
先跑 然后把crash信息copy下来,发给开发人员让他去分析
九.ANR结果分析
必现 偶现
保存日志的方法: 1.保存到电脑 所有的命令输完以后 >路径文件名
2.保存到手机 第一步 Adb shell
第二步 Monkey +参数
第三步 >/ mnt/sdcard /文件名.txt
把手机上的monkey 日志,发送到电脑里,格式不对,所以利用sublinetxt 软件转化格式
提交bug 时,附件monkey 日志,在什么类型的手机(系统版本 安卓版本 )跑的App的版本号 以及跑monkey 时的命令,以便复现bug方便别人,也方便自己!
十.monkey scrift
网友评论