Android专项测试之崩溃测试(CPU)

本文探讨Android应用的崩溃类型,如ANR、JavaCrash和NativeCrash,以及如何使用腾讯Bugly进行异常追踪。重点讲解了CPU性能剖析工具的使用方法,包括监控线程、分析Java和C/C++性能,以及在不同场景下的测试和发布前后的检测手段。

Android专项测试之崩溃测试(CPU)

崩溃问题类型

❖ ANR:
	❖ 主线程5s内没响应
❖ Java Crash: 
	❖ 未捕获的android vm异常
❖ Native Crash: 
	❖ 未处理的native异常

应对方案:

可以使用腾讯的bugly
adb logcat *:S

只看Android异常信息

adb logcat *:E

查看当前页是那个应用

adb logcat | grep display

11-24 16:33:46.839  1927  4078 E DollieAdapterService: notifyActivityState pkg:com.bilibili/com.bilibili.ui.main.MainActivity state:2 fg:true mUid:10623
11-24 16:33:46.839  1249  1755 E HiDATA_HiNetwork: onAppStart packageName is com.bilibili

只查看com.bilibili包的日志

adb shell ps | grep com.bilibili

根据进程id跟踪日志信息

adb logcat | grep 4534

查询包名

adb shell dumpsys activity top | less

发布前检测办法

❖ 健壮性测试:monkey、maxim
	adb shell monkey -p com.bilibili -v 200
❖ 深度功能覆盖:appcrawler⾃动遍历
❖ 异常场景覆盖

常见场景用例

❖ 后端接⼜问题:
	❖ 弱⽹:完全超时、2G、3G
	❖ 接⼜返回异常:null返回
	❖ 接⼜变更问题:字段类型变更
❖ 逻辑问题
	❖ 异步线程问题:打开新页⾯再快速返回
	❖ 逻辑处理不当:横竖屏切换、前后台切换
❖ 内存消耗:低内存、循环翻页、执⾏可累计内存的操作

弱网测试方案

❖ 模拟器⽅案:
	❖ $(which emulator) -avd [your-avd-image] -netdelay 20000 -netspeed gsm
	❖ $(which emulator) 不直接使⽤emulator是因为有个bug
❖ 真机代理⽅案:charles模拟弱⽹
❖ ⽹关⽅案:Facebook的ATC

发布后建立监控体系

❖ 捕获异常进⾏处理
❖ 接⼊外部sdk,⽐如bugly

使用monitor

Android的monitor⼯具
❖ ddms
❖ profile
❖ debug
❖ trace

C:\Users\shenyf>monitor

实时查看线程的使用情况
在这里插入图片描述
开启性能剖析
在这里插入图片描述

在App中打开要查看的页面
在这里插入图片描述
在这里插入图片描述
就可以查

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值