Bug解决案例2

  最近测试人员反映项目中的调课管理功能出现了并发的问题,需要我解决一下。拿到问题,我先大致看了看代码,关键页面的后台代码竟然有1000+行。看来把代码熟悉一遍都得花费一天左右的时间。这时想要又快又好的解决问题,就必须动脑筋了,这是我这次解决问题的步骤,自己以后遇到类似问题也可以借鉴。

  1、观察问题。测试人员反映的问题也许并不全面,很多情况下是不专业的。把代码和页面功能大致看了一下,直觉告诉我不大可能是并发的问题。

  2、重现问题。我觉得这是解决方案中,最最重要的一个环节,如果一个问题能够在测试环境中重现,那么这个问题基本就算解决了。我用多浏览器模仿多用户操作,哪怕是先后操作,也会出现测试人员反映的问题。这就说明问题的产生不是由于并发,而是代码层面的问题。

  3、发现问题。如果省去前两步,漫无目的地去发现问题可能会非常耗时,碰对问题的纪律很小。而如果是带着问题去找问题,就快的多。结合前面两步,我有了一些判断:代码量大,而且功能的实现集中在一个后台页面中,也就说明功能的实现已经耦合性很高了,我最好不要改动任何代码;排除了并发问题,那是什么原因造成两个用户之间的数据互相影响呢,我开始搜索关键字,如Applacation、Session这些变量,但没有发现问题;最后,关注点集中在了页面中申明的几个static变量,觉得这个可能是解决问题的关键。百度了一下后,发现在BS中所有访问的用户都共用一个static变量的

  4、前车之鉴。当一个黄页报错,或者一处关键代码的问题,如果我们对提示的语句或者需要的技术并不是十分清楚,我们可以借助百度等搜索平台,输入错误提示语句,然后看看结果,因为大多情况我们不是第一吃螃蟹的人,我们遇到的问题网上早就有人遇到过了,看他们怎么说。根据他们的意见结合自己的认识,我相信问题很快就可以解决了,效率的确高了不少。

原文地址:https://www.cnblogs.com/ccweb/p/2981964.html