解决问题的姿势很重要

2018-01-16  本文已影响102人  吧啦啦小汤圆

问题描述:

今天在跑app主流程时,有一个功能出现了bug,提示的message是:

No message available

前提: 这个功能之间都是没问题的
那现在为什么会出现问题呢?

猜想: 有可能是这个两天写测试重构代码,导致出现了问题。

解决问题:

验证猜想:

结果:

问题聚焦——排除法:

这就比较奇怪了,既然后端没有问题,难道是前端的问题吗?

思维陷阱:
当时自己的想法是,这就肯定不是后端的问题,一定是前端的代码有问题,想着是不是应该找到APP前端的人来看看这个bug。

解决过程:
而今天就只有我和Teach Lead 在项目,其他人都不在
这时候Teach Lead 来协助我解决这个问题了,他引导着我来解决这个问题,他说咱们换一个账号试试,我切换了账号依然是同样的问题。

于是他说咱们使用同一个账号,在其他环境,尤其我们的生产环境测试一下这个功能是不是好的
这时候诡异的事情产生了,结果如下:

而这段时候APP前端是没有改动代码的,后端是在不断的改代码,那就一定是后端的问题了。

现在的问题是聚焦在后端上,但是目前看来后端接口没有问题,运行log也正常,没有错误,那就更诡异了

进一步探索:

最后把删除的接口补回来,bug就解决了

这个bug终于解决了,不过过程真的是山路十八弯,在没有前端协助的情况下,找出了问题所在,其实还是解决问题的方式很重要!

不过比较郁闷的是,今天这个bug,相当于是想后端请求了一个不存在的接口,虽然后端给前端返回了错误:


但是在后端一切运行正常,在代码运行日志中并没有错误产生,所以让人很难定位问题所在,这也算是代码的漏洞.

今天这个bug之后,给项目加上了一个错误处理机制,当请求一个不存在的url 时,会有错误处理,并且记录到log中,方便以后查看。这样就不至于以后类似问题,后端没有做任何处理,并且看似运行正常,那就懵逼了。并且系统抛出的异常会很让人confuse,无法定位错误的原因。

解决方式是这样:解决方式

回想下:所以说当初的思维陷阱很可怕,后端的接口对了就一定不是后端的问题了吗?
答案一定是:不一定
所以还是得找到正确的打开方式,不早早下结论,排除问题,聚焦问题。

总结:

锻炼自己的解决问题的思路和方式,打开方式:

上一篇 下一篇

猜你喜欢

热点阅读