Bug 要这样处理才专业!

上周末被一个小伙伴的问题难住了:

小伙伴在做 vhr 的时候,遇到一个问题,就是一个接口时而正常时而 403,并且表示正常和 403 之间似乎是随机的,毫无规律可言。

老实说,这样的问题在我看来不够专业,为什么说不够专业呢?稳定重现才是解决问题的基础。

我讲一个我刚工作时候遇到的问题:

当时我还是一名 Android 工程师,有一天我们的测试找到我,说我开发的一个页面有问题,具体什么问题他也说不清楚,反正就是页面点着点着就崩溃了。我说你把手机拿过来点一下我看看,他把手机拿过来,在我面前点了很久,都没有崩溃,我自己也点了一会,也没问题啊。

测试跟我一样也是刚毕业的,听我这么一说又悻悻的回到工位,刚坐下,他又说崩溃了。。。对于这种他们无法稳定重现的问题,他们也会在任务管理系统上提出来,他们提出来的问题就和前面这位小伙伴的说法如出一辙,时而崩溃时而不崩溃,有时候点一两下就崩溃,有时候点很久也不崩溃,好像是随机崩溃的一样。

我肯定不认可他们的说法,而且稳定重现 Bug 本身就是测试的职责,于是问题就一直放着。直到有一天测试经理找上门来,当着我的面粗暴的点着页面,突然就崩了。这下我无话可说,但是他们测试经理也无法稳定重现 Bug。这让我不得不吐槽,在移动互联网火的那几年,很多从业者真的很水。

没办法,我就自己解决问题,首先要找到崩溃的原因,我在页面上划着,有时候会崩溃有时候则不会崩溃,在划了很久之后,我终于找到了规律,在页面顶部有一个高度为两三个像素的一条线,如果下拉刷新时手指点到那里了,就必然崩溃,如果没点到那里,就不会崩溃。

现在,我能稳定的重现 Bug 了,那么问题解决就很容易了。

这个页面是我开发的,自定义了用户手势。但是我记得开发的时候专门计算了,确保顶部不留空隙,怎么会多出来一个空隙呢?翻了 Svn 上的提交日志看到我的关键类被另外一个同事改过。我真的是要气炸了,算了,刚毕业还是夹着尾巴做人吧。

讲这个事情就是想告诉大家,计算机逻辑严谨,所谓时好时坏的问题,其中一定隐藏着规律。能稳定的重现 Bug,你的问题就解决掉 99% 了,如果不能稳定重现问题,解决这个 Bug,那你还没跨进大门。

类似的问题,在我做 Java 之后也遇到过很多,解决起来就一条:先稳定重现。

小伙伴们在实际开发中有没有遇到过类似问题呢?欢迎留言讨论。

# Bug

喜欢这篇文章吗?扫码关注公众号【江南一点雨】【江南一点雨】专注于 SPRING BOOT+微服务以及前后端分离技术,每天推送原创技术干货,关注后回复 JAVA,领取松哥为你精心准备的 JAVA 干货!

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×