第一部分
背景
1、为什么要开展压力测试
1.1提高产品的稳定性
产品的稳定性是App指标非常重要的一项,70%以上的用户在使用App产品时会遇到不稳定问题在遇到不稳定问题时有的用户会选择继续使用,而有的用户会选择放弃,据统计5%以上的用户在遇到页面延时相应时间过长的问题时 会选择放弃或者卸载App产品, 这样的结果会直接导致产品的留存率会降低
1.2提高产品的留存率
第一我们和手机厂商进行合作将产品进行预装,在用户在没有获取到root权限的情况下可以保留我们的产品不会被卸载,虽然这种会提高咱们产品的留存率,但是并不能提高产品的使用率,解决问题的关键还是要从问题的本身入手,因此实时做压力测试提过产品的稳定性
2、什么时候开展压力测试
2.1首轮功能测试通过后
因为在开发提测时 代码就存在一定的bug 如果此时就开展压力测试的话可能会短时间内暴露一些问题
2.2下班后的夜间进行
由于压力测试的时候将工具进行一些设置之后就可以进行了
第二部分
理论
1、手工测试场景
比如找一个人聊天 首先第一步是查找--添加--接收申请聊天
2、自动测试场景
自动化场景 查找的过程1.收到点击输入框的touch事件2.接收输入文字3.点击查找按钮的touch事件 4.展示列表选择人添加 对方同意申请就可以聊天了
3、Monkey工具(完成的随机操作,无法完成重复性操作)
3.1什么是Monkey
Monkey是发送伪随机用户事件的工具
3.2 Monkey在哪
在手机系统里面 是看不见的但是一直存在,为了与它进行通讯我们需要借助一个工具 adb
4、ADB命令
4.1什么是ADB(Android Debug Bridge 安卓调试桥)
调试手机的一个入口 让电脑和手机形成软连接
5、Monkey Script(帮助我们完成一些重复的操作过程,例如搜索100次)
5.1什么是Monkey script
5.1.1 Monkey Script是一组可以被Monkey识别的命令集合
5.1.2 Monkey Script可以完成重复固定的操作
6、Monkey Runner(完成一些Monkey Script无法完成的操作,比如手机截屏)、
6.1 什么是Monkey Runner
Monkey Runner 提供了一系列的API
Monkey Runner 可以完成模拟事件及截图操作
6.2 Monkey Runner 和Monkey区别
Monkey:在adb shell中 生成用户或系统的伪随机事件
Monkey Runner:通过API定义特定命令和事件控制设备(Monkey Runner将Monkey 中 的命令进行了封装实现了一些API函数)
Monkey Runner API 包括三种
6.3 Monkey Runner测试类型
7.压力测试结果的分析(主要针对异常结果进行分析)
7.1什么是CRASH?
即崩溃,应用程序在使用的工程中非正常退出
7.2什么是ANR(Application Not Responding)?
程序无响应超出响应时间(以下是造成ANR响应时间)
Activity:5秒
Service:10秒
BroadCasetReceiver:10秒
ContentProverder:15秒
第三部分
实践
1、一个App的压测实践
前提安装Android SDK 等环境
1.1在手机开发者选项中,将usb选项打开
1.2确认手机与电脑已经成功连接 通过adb devices 确认是否连接成功
1.3安装测试App
可使用命令进行安装:adb install package.Apk
1.4发送压测指令:adb shell monkey 1000 执行命令之后手机会随机执行点击1000次
1.5获取App包名:adb shell am moniter 然后打开应用即可看到当前应用的包名
1.6给指定包打压力adb shell mankey -p package 1000 以下就是给计算机打压1000次
2.Monkey高级参数的应用
2.1throttle参数 (指定事件之间的间隔)
执行100次 每次间隔0.1秒
adb shell monkey -p com.android.bbkcalculator --throttle毫秒值100
2.2 seed参数(按指定顺序执行,用于发现bug进行第二次复现)
Adb shell monkey -p com.android.bbkcalculator -s seed值 100 你会发现两次指定的效果是一样的
2.3 触摸事件
设定触摸事件百分比
Adb shell monkey -v -p com.android.bbkcalculator --pct-touch 100 100
2.4动作事件
设定动作事件百分比
Adb shell monkey -v -p com.android.bbkcalculator --pct-motion 100 100
更多Monkey命令请移步:https://blog.csdn.net/dhfaksljdfksajdnks/article/details/105231897
博主为小白如有不足请指教,其他的一些Monkey命令后期有需要我整理一下更新,如有版权问题请联系博主删除