首先介绍下自我,第一章博客扯多了忘记了。我姓杨,是个全栈程序员,好了介绍完毕。从实习到工作两年,改bug很多,虽然实施的系统框架语言不同,不过个人还是总结了一些小小的经验,谈不上宝贵(不想贴图,特么的高中语文书都没插图了,都成年人哪个没个yy能力啊)

1.再现

没错,就是再现,很多同行,不对,都是我大哥,特么的每次看到实施和测试人员反馈的bug,一般都在禅道上,所以特么的反应的bug也是种类繁多,关键是对bug的描述特么的很多人不截图。你特么的真当背古诗自己幻想啊。所以这种情况我的大哥们通常也就懒得去离开座位问,就直接凭空再现,然后结果多半是两种:第一种你特么的哪有bug,你操作失误吧(80%以上);第二种特么的怎么是其他错然后当作一个错改了(你特么自己做了测试人员的事,还是没解决反应的问题)。所以我做小弟的就得到处问这个实施大哥那个满脸青春痘的姐姐,不然就是问问对应项目经理了。“来来,你演示下给我看看。。。。。”

2.做针对测试

那些牲口们在你面前演示:你会说“咦,特么果然有错”要么就是他们叫“特么的错怎么没了”,好了作为一个跑腿的小弟,此时就是提醒这群大爷回忆那个风花雪夜的日子到底做了什么出格的事。好了这里一般就是两种情况:第一种花了半天时间找到问题了,第二种还是没找到。我们来分析下:第一种你很庆幸没白跑但是你和你这位同事可能要打架,浪费半天宝贵时间;第二种肯定就是你想打同事。结果就是不欢而散,你还得改bug。于是有天我发现这些矛盾是可以解决的:第一,关于bug的再现要么找个小弟去专门做实例;要么就是找个老大逼着这些发现bug的大爷麻烦提交问题详细点。

3.问题出在哪

你在那些人人身上浪费了时间,最后还得打开屏保,去实现案例,好了确实实现了。但是问题来了,在哪啊???好了这里我问过师兄师弟们,回答的多半是:经验的啦!(我去你妹的!)这本来就不是经验的事,经验只是熟练度不是方法好不好。苦逼人就有苦逼人的方法,总结了三大要点:一看操作二看报错三再来。首先操作定位哪个事件哪个监听等等触发的因素,二就是你得f12前端有没有400啊404啊500啊,norequest啊undefine啊,如果你只负责前端无后端修改能力(主要是能力)和权限,那就要确保是不是前段错了。我反正是后端console stack的忠实粉丝,我会优先确保会不会出错。啊呀怎么前两部都看不到错,请你继续,前两部直到打断点到每个数据操作看到id是否变化。犹记得有次遇到个错误是因为触发器插入数据导致hibernate的save和update产生不同id最终页面某字段未读取问题找了整整半天(宝贵啊),因为是维护,我从struts的文件上传的大小限制(的确出现小文件可以大文件不行的问题),再到前台head头问题,再到hibernate的save方法是否写错了。这里真的还是得相信前人,即使你技术比他们好,关于底层的问题应该不要过早纠结。一定要集中某个点看变化,至于这个那就是经验啦(这里没人有方法教你的,有人悟性高一点就到)

4.麻烦您提交代码做个测试

中心思想就是题目,最讨厌拆东墙补西墙搞得自己一直忙。算工作量也就一个bug好不好啊