第九期_专项测试实战_20190706

专项测试

卡顿

adb shell dumpsys gfxinfo tv.danmaku.bili

#运行systrace
python2.7 systrace.py
#等待开始提示
#操作app
#操作完成
#在systrace窗口内按enter
open trace.html

课间作业

  • 最热直播上划十次后分析下再次上划的用户体验,把卡顿最长的帧截图到回复里,并把前后的20帧也截图到回复里

CPU MEM的获取

2019-07-06 16:03:36

pids=$(adb shell ps -ef | grep bili | head -1 | grep -v grep | awk '{print $2}' | xargs | sed 's# #,#g')

for((i=0;i<20;i++)); do
content=$(adb shell top -d 1 -p $pids -o %CPU,%MEM,NAME  -n 1 -b | grep bili)
echo $content
cpu=$(echo "$content" | awk '{print $1}')
mem=$(echo "$content" | awk '{print $2}')
echo curl -i -XPOST 'http://47.95.238.18:8086/write?db=android' --data-binary  "cpu,user=$USER,app=bili value=$cpu"
echo curl -i -XPOST 'http://47.95.238.18:8086/write?db=android' --data-binary  "mem,user=$USER,app=bili value=$mem"
done

利用dumpsys获取app的性能数据

adb shell dumpsys procstats --hours 3
adb shell dumpsys meminfo package_name|pid [-d]
adb shell dumpsys batterystats --charged package-name
adb shell dumpsys netstats detail
adb shell dumpsys gfxinfo package-name


搭建监控系统

Profile

  • CPU profile
  • mem profile
  • systrace GPU profile

专项测试实战

需求出发点

  • 竞品对比
  • 用户投诉与反馈
  • 大版本发布
  • 线上监控反馈

Bili App的专项测试

  • 稳定性测试 monkey
  • 回归测试 maxim appcrawler
  • 启动时间
  • 关键的业务操作流程
  • 耗电量 卡顿 弱网
  • 安全测试
  • 建立基线,新老版本做对比

专项测试的趋势

  • 黑盒测试方法已经落伍
  • 白盒测试体系正成为主流
  • 结合监控是使用的最多的,apm、crash收集监控、卡顿监控

课后作业

  • 每隔一秒钟统计下bilibili的Dalvik Heap的大小
  • 加分项 上传到公司的监控系统并给出执行特定用例过程中的图表