匿名吐槽 App crash 真多,monkey 成鸡肋

匿名 · 2015年04月10日 · 最后由 pighero001 回复于 2015年04月17日 · 3605 次阅读

公司的 APP 闪退真多,多得我们这些测试都不好意思了。用 monkey 跑出结果,找到出错的地方,但是开发说,没办法,不知道过程,很难再现.so,很难定位;so, 不修。
闪退太多,上面很是光火。我们干着急也没办法,尝试自己去分析,完全跟看天书一样的。
请问大家这方面是怎么做的?

共收到 22 条回复 时间 点赞

只要 crash 基本上都可以复现~.so 出问题就把堆栈日志截全了、给出复现步骤,报到 bug 库,指派给项目负责人、写.so 的人,让上层去决定去交涉~
跟进了但依然解决不了的问题,跟上层提出来就是了,这已经算尽力了。

为啥这个要匿名。。。。。

嗯,一楼正解

@monkey @anonymous
弱弱的问一句, 是通过动作:
:Sending Touch (ACTION_POINTER_DOWN 1): 0:(195.919,62.672226) 1:(273.0,376.0)

:Sending Touch (ACTION_MOVE): 0:(189.82956,61.47987) 1:(295.32416,374.42276)

:Sending Touch (ACTION_MOVE): 0:(186.04103,60.608547) 1:(303.31027,373.28278)
来描述复现步骤吗?
这都是坐标点,都不知道点了啥。而且有的时候,好多个动作才出一个 error,这个怎么描述呢?手动来重复却不出现 crash 了。

建议你们直接使用崩溃分析产品, 让研发和老大们看看有多少用户会出现崩溃, 这是涉及到钱的问题, 知道数据后他们就不敢拖了. 可以试试我们公司的产品 mobile.oneapm.com.

建议你们直接使用崩溃分析产品, 让研发和老大们看看有多少用户会出现崩溃, 这是涉及到钱的问题, 知道数据后他们就不敢拖了. 可以试试我们公司的产品 mobile.oneapm.com.

#6 楼 @seveniruby 思寒大哥,听云的那个白皮书,oneapm 有木有出过类似的版本?我想参考下~

@seveniruby @monkey 我后面又思考了一下,是不是看出错的位置的前一个 activity 的最后一个动作,然后根据 keycode 来看他做了什么动作,然后去复现,我这么理解对吗?

可以稍作修改,把 monkey 的随机无序动作,轨迹记录下来,方便问题定位哦

可以稍作修改,把 monkey 的随机无序动作,轨迹记录下来,方便问题定位哦

#4 楼 @anonymous 这个是 mokey log,你需要的是 android logcat

楼上是我

#7 楼 @mingway_hu 我看过听云那个白皮书, 只是个噱头.里面泛泛而谈. 里面的数据很多都不是来自于他们. 我们公司也是只顾着做产品, 技术的一些宣传和数据分析一直为对外正式的宣传. 我不知道移动端他们的什么时候会对外发布.

#8 楼 @anonymous 有些操作不一定非是特殊操作引起的. 特殊的环境也可能会触发. 首先你得收集这些崩溃分析, 看看是什么地方的代码崩溃了, 然后基本就可以猜测出是什么操作或者什么场景出了问题. 一般的崩溃分析产品都已经提供了对应的 crash 收集和分析功能了. 可以直接拿来分析. 最简单的方式, 你可以自己嵌入进去 sdk 然后利用云端的分析直接报 bug.

#13 楼 @seveniruby 嗯,是个噱头~我就想看看各家出的数据,看看自己做到什么水平了~

主要还是看 BI 统计的崩溃率为主吧。

这帖子干嘛匿名……看到几条重复回复就是为了显示身份的了……
就像前面的人所说,崩溃的话可以做崩溃分析,有很多现成工具的。你用 monkey 的话把 logcat 中对应这个应用的 Log 截下来给开发,基本开发就知道是什么回事了(logcat 一般会包含启动了什么 activity,执行了什么函数,闪退是由于什么 error 等,开发一看基本就知道你到底做过什么操作了)。monkey 自己的操作 log 用处相对来说不是太大。
而且按照你们这样的闪退率,崩溃后自动发送崩溃报告这种功能应该是必须的。

#17 楼 @chenhengjie123 弱弱的问下 导出 log 到本地 一般是先导出来再进行过滤吗 之前试了下 adb logcat 指定导出到本地几百 K 都好久好久

logcat 命令有过滤器参数的:
http://www.miui.com/article-272-1.html

ios 平台下的闪退怎么去抓日志 ?

你需要了解下什么叫闪退
通俗的:android App 因为不可预知的因素导致奔溃。
是非常影响用户体验的。
研发能否捕获 crash 当时的程序日志?
这个是可以的,通过 UncaughtExceptionHandler 接口 即可,网上资料一搜一大把
理论上,monkey 只需要运行即可,你不需要重复 monkey 当时的步骤,也很难复现,但只要基于捕获当时 crash 的日志,即可分析定位出,到底哪个模块代码出现问题。
摆正自己的位置,放宽自己的心态,目的是测试,保证产品质量,问题升级,寻求解决方案,不要像刚毕业的一样进行吐槽。

#20 楼 @anonymous ios 也有自己的一套闪退解决方案,不过线上版的都反馈到 apple 那里了,他们有统计。如果调试的话,用 instruments 即可抓取当前的日志。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册