做手机自动化测试已经快两年了,很久没写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

最新文章

  1. 【BZOJ-2440】完全平方数 容斥原理 + 线性筛莫比乌斯反演函数 + 二分判定
  2. Mybatis 插入null值报错
  3. SQL语句汇总(二)——数据修改、数据查询
  4. 收集的55个Linux系统管理中常用的一些shell命令
  5. js控制台调试
  6. 通过数据绑定模板得到对应的Item控件
  7. MySQL 通过mysql_config_editor更安全的登录数据库
  8. iTween基础之Value(数值过度)
  9. HDU 4267 A Simple Problem with Integers
  10. scheme 模拟queue
  11. java音视频编解码问题:16/24/32位位音频byte[]转换为小端序short[],int[],以byte[]转short[]为例
  12. Argparse简易教程
  13. top命令详解不完整的地方欢迎评论
  14. 学习promise
  15. anaconda安装tensorflow
  16. mysql程序之mysqld_safe详解
  17. JNI使用方法
  18. 【bzoj3172】 Tjoi2013—单词
  19. 微信小程序 - scroll-into-view(提示)
  20. 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

热门文章

  1. Batch file Functions
  2. 对C++ Primer的10.3.9单词转换的思考
  3. 基于HTML5和JSP实现的图片Ajax上传和预览
  4. python 访问php程序,实现定时
  5. linux 信号处理
  6. 构建 struts2 spring3 mybatis 的maven项目 构建 pom.xml
  7. c 的ui
  8. Python的面向对象1
  9. 在redis中查询一个KEY的值
  10. c#中struct和class的区别 z