app专项测试--干扰/中断测试
1.来电,收到短信
2. 电量低
adb shell dumpsys battery set level 1 --设置电量为1%
adb shell dumpsys battery unplug --- 弹出充电提醒
adb shell dumpsys battery reset --恢复实际状态
3. 关机
4. 无信号
5. 收到通知栏信息
6. 内存不足
7. 第三方软件的提示框
app性能测试
1.查看内存是否泄漏.
1) adb shell 进入系统
2) 查看单个应用最大内存限制: getprop | grep heapgrowthlimit
3) 查看被测应用占用的内存信息: dumpsys meminfo com.netease.cloudmusic
pss total + heap size 的和,除以1024,就是该应用使用的全部内存
如果计算出来的值没有超过第二个命令返回的值,则无泄漏.
2. 性能测试工具GT
1) 启动GT--在被调试应用里选择需要测试的程序
2) 勾选 pss(内存),net(网络),cpu
3) 点击底部菜单栏的参数,进入参数页面
4) 点击编辑,把需要关注的参数拖拽到已关注的参数列表内,点击完成
5) 勾选中刚才选中的参数,
6) 设置参数,在底部的告警区设置阈值(设置好后记得回车保存), 如果超过,会出现提示
7) 启动应用,点击浮窗上的GT的开始键,即进入性能监控
8) 点击停止键,--点击保存--输入文件名--保存到手机
9) 使用adb pull命令从/storage/emulated/0/gt/gw/com.netease.cloudmusic把数 据保存到本地, cpu占用率: 20%-40% 启动的时候cpu占用率最高. 通常来说如果超过80% 就需要注意了
FPS值: 图片处理器每秒刷新的帧数. 30-60都可以接受.
app专项测试--灰度测试
灰度测试就是将自己的产品先拿出来给一部分目标人群使用,通过他们的使用反馈来修 改程序的不足,做到查漏补缺.简单的来说,就是内测. 然后逐渐扩大试用者数量,最终达到所有 用户的覆盖
灰度期: 灰度测试开始到结束的这一段时间内,称为灰度期
辅助测试工具--logcat
logcat是一个命令行工具,用来抓取程序的日志
如果在shell系统外面,使用adb shell logcat 如果在shell系统里面 直接使用logcat会抓取手机最近的所有日志.
使用ctrl+c 停止抓取日志
如果想要抓取某一个应用的日志: adb shell logcat -s 应用标签名 (不是包名)
如: adb shell logcat -s CloudMusicNativePlayer:W
:w代表打印Warn等级以下的日志.
保存日志到手机目录: adb shell logcat -f /data/0428.txt -s CloudMusicNativePlayer:W
然后使用adb pull 下载到本地,提交给开发.
如果不知道标签名: adb shell 进入系统.
logcat | grep 包名 >手机路径
adb命令
1.什么是adb? adb是安卓提供的一个通用调试工具,用来连接和调试安卓设备.是一个命 令行工具
步骤:(确保电脑有java环境)
1. 解压sdk到一个没有中文的路径.
2. 配置环境变量:
在系统变量里面,新建一个变量名: ANDROID_HOME 值: 是sdk路径下的tools和 platform-tools的路径.两个路径用英文分号隔开.
在path里面.新增一个值. %ANDROID_HOME%
验证: 打开cmd,输入adb回车,没提示"adb不是内部或外部命令",就是ok
3.安装夜神模拟器(nox-setup文件。
配置夜神:
4. 以上三步完成后,打开夜神,在cmd窗口输入adb devices,出现以下提示,代表所有配置 ok
adb常用命令:
1. adb devices ---查看连接的设备列表.
2. adb install apk包的路径 ---安装应用,适用于电脑只连接了一台设备
adb -s 设备名 install apk包路径 --- 如果电脑连接了多个设备,使用-s指定设备名
比如: adb -s 127.0.0.1:62001 install 包路径
所有的adb命令都可以使用-s指定设备,后面不再赘述
adb -s 设备名 install -r 包路径 --- 如果需要覆盖安装,使用-r参数,(保留之前的缓存数据) 3. adb uninstall 包名 -- 卸载
查看包名: adb shell pm list packages -3 查看第三方应用的包名
adb shell pm uninstall -k 包名 -- 卸载的时候保留缓存文件.
4. adb push 本地路径 模拟器路径 -- 上传 (上传和下载命令需要在shell系统外面. 模拟器的路径必须是正斜杠/)
如: adb push d:/test.txt /data/test.txt 把本地路径d:/test.txt文件上传到模拟器的 data目录下面
上传成功后,可使用adb shell 进入模拟器的shell系统查看. 使用exit 退出shell系统.
5. adb pull 模拟器路径 本地路径 -- 下载 (本地路径不要写根目录.会报错.) 如: adb pull /data/test.txt d:/TEST/test.txt
6. adb shell pm list packages -f 查看应用的安装路径和包名
adb shell pm list packages -f -3 查看第三方应用的安装路径.
7. adb kill-server 关闭adb服务
adb start-server 开启abd服务
monkey测试
模拟用户对程序乱点乱按,以此来测试程序的稳定性和健壮性
adb shell monkey -p com.netease.cloudmusic 1000 -p代表指定程序的包名, 1000代表对程序执行1000次随机操作.
monkey的参数:
1. 运行约束选项:
指定包名 -p
2. 基本配置选项:
指定随机操作的次数;
打印日志的详细程度 -v -v -v ;
保存日志文件到本地 在次数后面,写保存在本地的路径.
adb shell monkey -p com.netease.cloudmusic -v -v -v 1000>d:/TEST/0427.txt
将最详细的日志,保存到本地的d:/TEST目录下,文件名为0427.txt
3.调试选项:
--ignore-crashes : 当程序出现闪退异常时,monkey会自动停止,使用这个参 数,monkey会继续发送事件,不会停止.
--ignore-timeouts : 忽略超时异常
--ignore-security-exceptions : 忽略发送许可错误异常.
adb shell monkey -p com.netease.cloudmusic --ignore-crashes -v -v -v -- ignore-timeouts --ignore-security-exceptions 1000>d:/TEST/0427.txt
4.事件和频率:
--pct-touch 点击事件
--pct-motion 滑动事件
--pct-syskeys 系统事件
--pct-appswitch 应用启动事件
--pct-rotation 旋转事件
所有事件加起来不能超过100
--throttle 延迟时间,每一个时间中间的间隔时间,单位是毫秒
-s seed值,种子数.相当于给本次monkey事件取一个身份id,如果需要复现上一次的操 作,就直接带上这个seed值即可.
adb shell monkey -p com.netease.cloudmusic --ignore-crashes -v -v -v -- ignore-timeouts --ignore-security-exceptions --pct-touch 40 --pct-motion 40 -- pct-syskeys 5 --pct-appswitch 5 --pct-rotation 10 --throttle 300 -s 666666 1000>d:/TEST/0427.txt
如果想要中途停止monkey:
1. 先在控制台ctrl+c
2.使用adb shell进入系统
3. ps | grep monkey 查看monkey的进程号,返回的第一组数字就是进程号
4. kill 进程号 杀掉进程后,即可停止monkey
// Event percentages:各数字分别表示:
0:[--pct-touch PERCENT] 触摸事件
1:[--pct-motion PERCENT] 滑动事件
2:[--pct-pinchzoom PERCENT] 缩放事件
3:[--pct-trackball PERCENT] 轨迹事件
4:[--pct-rotation PERCENT] 旋转事件
5:[--pct-nav PERCENT] 导航事件 up/down/left/right
6:[--pct-majornav PERCENT] 主要导航事件 back key 、 menu key
7:[--pct-syskeys PERCENT] 按键事件
8:[--pct-appswitch PERCENT] Activity的百分比事件
9:[--pct-flip PERCENT] 键盘翻转
10:[--pct-anyevent percent] 任意事件
对monkey日志搜索关键字:(ctrl+f)
1.ANR : 程序未响应
2.CRASH : 程序闪退
3.Exception : 其他异常
4.Error : 出错
如果搜索结果包含以上关键字,则截取该关键字所在的两次switch中间的日志,提交给开发.
后续.开发修复后,使用上一次的seed值来复现验证.
2万+

被折叠的 条评论
为什么被折叠?



