最近又犯老毛病
碰到新功能没有能耐心地花时间去思考方方面面和细节
而是
直接动手开始实现单一核心功能
然而
bug连连
=======分割线==============
出现bug了......
用户发现bug,反映到运营
运营没能执行bug上报流程找到测试(目前也没有什么bug上报流程)
测试没能确定bug详情
告知我有闪退之类的bug
“你看,怎么又闪退了。。。”
“代码缺少健壮性!”
=======分割线======
于是我开始准备定位闪退原因
以下为“世界观”+“方法论”
1.bug能不能在测试机器上立即重现,必现的直接真机调试,确定崩溃的代码,修改并检查确认解决
2.bug信息不足,叫测试收集信息描述清楚bug产生的条件
手机型号
系统版本
是否越狱
app版本(可能是内测中某一时期分发的半成品),要联系到代码中配置的数据库环境版本,服务端程序版本。
bug重现步骤
是否必现
3.定位到了闪退的地方
一般闪退都是因为数据的原因
其他的异常在开发阶段Xcode就已经抛出,基本能在开发时解决
所以,关键是:
数据流
由 数据库 ---> 服务端 接口 --->http传输-->客户端 --->代码来进行数据处理--->转换为模型--->列表展示--->....
暂时没有对数据进行存储
查bug思路:
数据流经之处都是由开发者的代码进行处理的
先查接口程序:接口端的准备和查询工作相对客户端较完善,查来较快。
询问是否有报错日志,找到崩溃前后一段时间的接口请求记录是否有异常
真机调试:尽量找到接近重现环境的真机进行调试,在出现闪退的步骤附近查看代码执行过程,断点调试,查看数据,辅助ide的异常信息来定位
查看代码:断点一步一步查看程序执行时是不是如预期,思考代码执行步骤,检查代码逻辑
找不到!!!
给测试的说没有这个bug(下下策)
我的境遇是一直查查查查。。。。。
原文:http://www.cnblogs.com/lyleLH/p/4918404.html