关于BUG的定位

版权声明:本文为神州灵云作者的原创文章,未经神州灵云允许不得转载。

本文作者:Jack

所谓好的产品我认为要具备这几点:1、对用户产生价值;2、操作简单;3、尽量不产生BUG。虽然说没有无BUG的产品,但BUG的多少以及严重程度也标志着一个产品是否成熟与完善。

作为开发人员最关心的还是自己写的代码质量以及所产生BUG数量,BUG也是评定一个优秀程序员的重要指标。BUG伴随着程序员的职业生涯,与其相爱相杀,生产它解决它。当你在使用一个产品功能时结果不是自己所预期或者升级产品后相同的功能不能用了,那99%可能不是设计如此,而是程序员生产了一个BUG,解决它就要先定位它,找到根本原因对症下药,下面我们就以来看看怎么定位BUG。

产品的BUG可以划分成很多种,今天我们主要分两大类来进行说明:1、前端BUG;2、后台BUG。

一、前端BUG的定位说明
此类BUG一般还是比较好定位和解决的,先来说一下如何定位问题。
如何定位:

  1. 打开Chrome的“检查”->“控制台(Console)”,如果有问题可能会看到如下图的红色提示(当然并不是所有的红色提示都是错误)。
    关于BUG的定位_第1张图片
    关于BUG的定位_第2张图片
  2. 学会Debug,此类问题一般是排除数据的正确性以及业务逻辑而使用到的,打开浏览器的Sources,左侧为源文件包括页面、js、css等,找到目前访问的需要排障的资源文件,一般数据和逻辑业务代码会使用js代码写,此时可以在相应的位置点击左键设置断点,然后重新执行一下功能,那么程序就会从当前设置的断点执行,每执行一步可以看到当前执行的逻辑以及数据值。
    关于BUG的定位_第3张图片
    产 生 原 因 : \color{red}{产生原因:}
  1. 缓存导致的BUG
    这一类BUG的出现原因一般是因为升级导致的,其表现一般是界面上样式的显示问题,比如:(1)修改了功能升级以后没有按预期的显示;(2)某个功能显示有问题。
    解决:(1)清空一下浏览器缓存;(2)清除Local Storage或Session Storage或Cookies。

  2. 程序员生产的BUG
    此类问题的产生一般是程序员的粗心或者是对业务逻辑的理解不全面导致的。
    解决:定位问题以后需要具体问题提供解决方案。

二、后台BUG的定位说明

如果BUG是后台产生的定位起来相对就比较麻烦了,一般需要看对应的日志,从日志的信息来分析定位,相关的日志文件可大致分以下几种:(1)Tomcat日志;(2)数据库日志

  1. 如何查看Tomcat日志来定位问题
    由于程序的后台所有日志基本都输出到Tomcat中,所以导致Tomcat的日志输出比较快,如果查看方法不适当可能就会错过重要信息。一般我们先用tail -f catalina.out来实时输出日志信息(此时最好打几行空行进行区分),然后从界面进行相关功能的操作,操作完成后马上查看日志的输出,一般同时出现多行缩进比如下图肯定就是后台出现了BUG,此时前面几行是比较有用的信息,提示了问题发生在哪个类中,出现的行数等重要信息。

知道问题产生的类和行数就可以看源码来具体进行问题的分析了。
关于BUG的定位_第4张图片
另外如果出现多个缩进行的时候,一般是不缩进的这行以及下面几行是关键的信息。
关于BUG的定位_第5张图片
2. 如何查看数据库日志来定位问题

查看日志的方法和Tomcat日志顺序相同,一般如果数据库出问题的表现有这几点:
(1) 程序连不上数据库,可能数据库配置改了;
(2) 界面没有数据,可能数据库插入失败;
(3) 界面操作数据查询比较慢,可能索引有问题;
关于BUG的定位_第6张图片

解决: 对于第一个和第二个问题比较好解决,数据库提示的比较明确,对于第三个问题就需要用explain命令来进行更深入的分析了,这里就不展开讨论了。

结 束 语 : \color{red}{结束语:}

以上比较浅的说明了对BUG的定位,当然最主要的还是在实际开发中尽可能的多进行完善的功能测试让BUG在初期就解决掉。
关于BUG的定位_第7张图片

你可能感兴趣的:(关于BUG的定位)