Android稳定性测试之Log分析
做手机自动化测试已经快两年了,很久没写Blog了。今天抽空总结一下。
用自动化做稳定性测试,主要是为了发现系统或者应用出现FC/ ANR/ Reboot/ Freeze等问题。
先详细说下各种问题对应Log的关键字:
一. FC: 所有FC在EventLog中对应的关键字是“am_crash”。
1. 常规FC,在Main/Sys.log 关键字 "FATAL EXCEPTION"
2. Native Crash,在Main/Sys.log 关键字 "backtrace"
二.ANR:在EventLog中对应的关键字是“am_anr”。
在Main/Sys.log 中关键字“ANR IN”,并且会生成相应的trace文件。
ANR 主要原因有以下三种:
1. KeyDispatchTimeout(5 seconds) --主要类型按键或触摸事件在特定时间内无响应;
2. BroadcastTimeout(10 seconds)BroadcastReceiver在特定时间内无法处理完成;
3. ServiceTimeout(20 seconds) --小概率类型Service在特定的时间内无法处理完成。
三.Reboot:主要分Framwork层重启和底层重启。所有重启在Main/Sys.log 中关键字"Entered the Android system server!"。
1.Framework 层重启(快速重启,系统开机时间不变):在Main/Sys.log 对应关键字“Watchdog killing system proces”/"system_server_crash";
2.底层重启(系统开机时间重置);在Main/Sys.log 对应关键字“Kernel panic”
四. Freeze: 待分析
拿到一份Log,我一般的分析流程是> Event.log> Main/Sys.log> Tarce.log。
注:常见抓Log 方法
1. 停止MTKlog
am broadcast -a com.mediatek.mtklogger.ADB_CMD -e cmd_name stop --ei cmd_target 1
2.打开MTKlog
am broadcast -a com.mediatek.mtklogger.ADB_CMD -e cmd_name start --ei cmd_target 1
3. adb logcat -v time > logcat.txt
4. adb shell cat /proc/kmsg > kernel.txt
5. adb pull data/aee_exp
最新文章
- 【BZOJ-2440】完全平方数 容斥原理 + 线性筛莫比乌斯反演函数 + 二分判定
- Mybatis 插入null值报错
- SQL语句汇总(二)——数据修改、数据查询
- 收集的55个Linux系统管理中常用的一些shell命令
- js控制台调试
- 通过数据绑定模板得到对应的Item控件
- MySQL 通过mysql_config_editor更安全的登录数据库
- iTween基础之Value(数值过度)
- HDU 4267 A Simple Problem with Integers
- scheme 模拟queue
- java音视频编解码问题:16/24/32位位音频byte[]转换为小端序short[],int[],以byte[]转short[]为例
- Argparse简易教程
- top命令详解不完整的地方欢迎评论
- 学习promise
- anaconda安装tensorflow
- mysql程序之mysqld_safe详解
- JNI使用方法
- 【bzoj3172】 Tjoi2013—单词
- 微信小程序 - scroll-into-view(提示)
- Maven报错 解决方案。ERROR: No goals have been specified for this build. You must specify a valid lifecycle phase or a goal in the format <;plugin-prefix>;:<;goal>; or <;plugin-group-id>;:<;plugin-artifact-id