一、稳定性测试概述
问题:什么是稳定性测试?
长时间的去运行软件,确定软件能够有好的为用户提供服务
7*24 – 测试软件 - 一个测试人员做不到事情 ,可以借助工具
使用工具去代替人工操作行为
Monkey : 随机的向应用发送对应的操作,人工去模拟用户操作,确定APP 的稳定性。
二、Monkey稳定性测试实操
adb shell monkey – 显示对应的指令
分为:必填(count)、可选
长时间 == count (次数)
1、基础参数
-p:指定对应的包名,多个:-p 包名 -p 包名
adb shell monkey -p com.tencent.wework 500
adb shell monkey -p com.tencent.wework 500
–throttle :设置每个动作的间隔时间,比如6000ms
adb shell monkey ‐p com.tencent.wework ‐‐throttle 6000 5000
显示日志的级别:三个级别
-v
-v-v
-v-v-v 最为详细
-s:指定对应的种子:Seed ,进行回归测试
问题:进行稳定性测试之后,发现问题,开发进行解决,解决完了,测试怎么进行回归?
如果需要回归测试可以直接指定对应的种子即可。
adb shell monkey ‐s 1676758881596 ‐p com.hcedu.hcdeom ‐v‐v‐v 5000 >d:\test\log.log
adb shell monkey ‐s 1676758881596 ‐p com.hcedu.hcdeom ‐v‐v‐v 5000 >d:\test\log.log
2、调试选项
在Monkey运行过程中,一般拔掉数据线,也会在持续运行。其中有如下几种原因造成Monkey停止:
- 当命令运行完毕
- 结束进程的方式来终止Monkey的执行
adb shell ps | find “monkey”
adb shell kill 进程号 - 运行过程中遇到异常、奔溃等情况Monkey也会停止
1 调试选项‐‐都带上
2 ‐‐ignore‐crashes 忽略在应用程序出现crash时导致的monkey停止
3 ‐‐ignore‐timeouts 忽略在应用程序出现ANR问题时导致monkey停止
4 ‐‐ignore‐security‐exceptions 忽略应用程序发生许可错误时导致monkey停止
5 ‐‐kill‐process‐after‐error 当应用程序发生错误时,应用程序停止运行并保持在当前状态
a、例:对企业微信进行稳定性测试,执行50次事件,忽略过程中遇到的异常,直到50次事件完成
adb shell monkey -p com.tencent.wework --throttle 500 --ignore-crashes --ignore-timeouts --ignore-security-exceptions -v-v-v 50
3. 事件类型选择
问题:事件的百分比可以随意的组合,不要超过100%即可
adb shell monkey ‐p com.tencent.wework ‐‐pct‐touch 80
‐‐ignore‐crashes ‐‐ignore‐timeouts ‐‐ignore‐security‐exceptions
‐‐kill‐process‐after‐error ‐v‐v‐v 500 >d:\test\log.log
4、常见的案例问题
1、问题: 为什么日志在我们cmd中显示?没有在我们文档中显示?
可以选择标准流 和 异常流在不同的文件中
adb shell monkey ‐p com.tencent.wework
‐‐ignore‐crashes
‐‐ignore‐timeouts
‐‐ignore‐security‐exceptions
‐‐kill‐process‐after‐error
‐v‐v‐v 500 1>C:\Users\Lenovo\Desktop\adbfile\log.log
2>C:\Users\Lenovo\Desktop\adbfile\error.log
2、问题: 稳定性测试可以测试真机,那么真机要连接usb ,我们可不可以无线连接?
5. 日志分析与bug定位
a、日志分析步骤
一般的操作步骤为以下几步:
1、在日志中找有哪些错误
2、找到错误后再定位是哪些APP或者哪些事件出错(定位错误)
3、提交bug,并附上日志信息
4、开发修复bug后,进行回归验证。使用之前的monkey命令再执行一遍,注意seed值要一样
b、怎么去定位错误?
一般测试结果分析通过搜索关键字:
1、程序无响应,ANR问题:在日志中搜索“ANR”
2、崩溃问题:在日志中搜索“CRASH”
3、其他问题:在日志中搜索“Exception、FATAL” 搜索到这段log
c、错误定位案例
(1)ANR(Application Not Responding) :程序无响应
只要搜索ANR就可以搜索到这段log,如下图中标注的APK应用名称。这个ANR发生在com.android.music(音乐)模块。
(2)CRASH:程序崩溃或异常
只要搜索Crash就可以找到这段log,如下图中标注的APK应用名称。这个crash发生在com.hcedu.hcdeom模块。
d、异常情况:
问题:当测试一晚上,却发现没有问题。——》压根测试没有测试完
进行确认,本次测试是否完毕?
6点——》执行命令——7点停止——》第二天早上
体现:
1、进行稳定性测试要保持手机是常亮的状态(长时间操作)
2、保证手机是有电的状态
3、测试完成之后,去看手机的后台运行程序;如果没有对应的应用证明重启过
4、看手机对应的开机时间:设置——关于手机——状态信息——已开机时间
6、在做monkey 你测试出来什么问题?
答案 (c、错误定位案例)