关于那些难改的bug

多年的测试经验中,经常发现有这么一种现象:总有些提了的bug不能顺利的被修复。这些bug往往有4个走向:

1.在被发现的版本中最终被解决,但中途花费较多周折。

2.有计划的在后续的版本中被解决。

3.决定永远不修复,却变成潜在的炸弹,在后续版本中被迫修复。

4.决定永远不修复,至今为止也一直没有被修复。

近期对我们做过的项目做过一次较大的统计,统计严重程度中等及以上的缺陷,这四种走向第一种占到了50%左右,第二、三种各占20%,最后一种约占了10%。

这些没有被修改的bug带来的负面影响有:

1.大部分时候最终还得改了,是被迫改,项目组疲惫,在领导和客户那里都落不了好。

2.这些bug积累到一定数量,发现系统快不能要了,得大规模重构,重构的过程不要太痛苦,最后没准就推倒重来了(见过n个这样这样的案例了)。

3.拖得越久改起来越难,最近的一个案例是:某项目为了赶进度,使用了一个较低版本的底层组件,当时识别出低版本的底层组件特性有缺失,测试人员提出了功能bug,项目组决定忍了。一拖就是2年。结果项目很成功,越来越重要,与之交互的其它系统越来越多,但这个底层组件缺失特性的短板就越来越痛。最后不得不进行修复工作(高版本组件替换),但发现由于代码耦合太紧,已经不是一个月两个月能搞定的事情了。大规模重构还是推到重来现在成了一个难题。

4.每天跟带着太多毛病的系统朝夕相对,是杀死所有干系人士气的慢性毒药。当你的潜意识认为你在做的东西是一团shit,还有毛激情?想一想破窗效应马上能够反应过来。

怎样降低大量bug长期遗留的现象呢?我有如下的一些建议:

1.提升内建质量。这句话高大上,内涵也很丰富,从软件架构,开发过程,各种技术应用等各方面都能够找到无数的提升点避免系统存在太多遗留bug,展开说真的要一本书了。从里边抽取出最重要的一条精神:bug被发现的越早,修改遇到的阻力越小。

2.定期bug扫除,这其实是测试应该主动提出来的事情,并且应该让这件事儿变成项目组的例行活动。其实如果做好了,乐趣还是很多的,效果也非常好。

3.如果是大型系统,或者项目群,很多bug是跨项目组的,这时候组织级的机制就要建立起来了,必要的时候需要跟考核制度挂钩。这样有一些三不管的重要bug才能被最终解决。

4.有些bug还真得睁一只眼闭一只眼了,约有10%的顽疾会这样。难改,影响范围有限。对这类bug最有效的办法是:挖雷难,我给它上边插个旗子让使用者离他远点儿好不好?有时候处理这些bug挺艺术的,运维,客服,售前,售后,都得长点儿心眼。

关于那些难改的bug,布布扣,bubuko.com

时间: 2024-11-06 19:23:10

关于那些难改的bug的相关文章

我调过的最难调的Bug

每个程序员都有些不畏死亡决战猛兽的英雄事迹.以下这些是我的. 内存冲突 毕业不到半年,拿着刚到手的文凭,我在Lexmark公司的一个嵌入式Linux固件开发团队中负责追踪一个内存冲突的问题.因为内存冲突的原因和问题表象总是相差非常大,所以这类问题很难调.有可能是因为缓存溢出,也有可能是指针未初始化,或是指针被多次free,亦或是某处的DMA错误,但是你所见的却是一堆神秘的问题:挂起.指令未定义.打印错误,以及未处理的内核错误.这些都非常频繁,内存冲突看上去似乎是随机出现又很难重现. 要调试这种问

评论:首套房贷放宽短期难改楼市格局

松绑限购之后,首套房贷放宽的消息也开始满天飞.上海传出首套房认定放松的消息,青岛.福州则以文件的形式明确了首套房认定的松绑,首套房认定松绑其实就是放宽首套房贷,因为原先的二套房.三套房贷现在有可能变成首套房贷. 对于首套房认定的放松.首套房贷放宽的消息,有人信之,因为松绑限购也是从传言开始;有人不信,因为地方政府能松绑限购但不能松绑房贷,房贷的事还是央行说了算,在央行没有表态之前,地方政府的文件就是一纸空文. 首套房贷到底放不放宽我们不能判断,我们能判断的是,就算首套房贷放宽,短期内也改变不了楼

新手程序员 工作日志 2017.7.25.18:02 关于改bug网页的使用

责人这里看哪个是自己名下的bug  点进去 点bug对应的ID号进入 综合部-赵鑫 2017/7/25 17:40:47 改完bug修改下bug的状态  附加意见那里可以增加自己的意见 可写也可不写  完成后 点击储存变更

[13年迁移]firefox获取隐藏表单元素的parent节点的bug

getXY : function(element){        var y = element.offsetTop;        var x = element.offsetLeft;        while(element = element.offsetParent){            y += element.offsetTop;            x += element.offsetLeft;        }        return (new Array(x,y

项目bug的修正

这几个月来,大部分业余时间,都花在阅读软件工程和编译原理方面的书籍上了.软件工程方面的书,包括软件需求.风险管理.敏捷建模,系统设计,软件项目管理,还有一些类似于的沉思录书籍等. 在这些书中,都只是讲了如何让项目健康发展,最后成功的提交一个产品.尽管它们都是从不同的角度,用不同的方法去完成同样的事.但它们几乎都支持这样的观点:计划+修正计划(不但设计是迭代的,计划也是迭代的).用其中一个作者的话说,伤害你的,不是那些你没有考虑完整的,而是你根本没去考虑的事情. 然而,几乎没有一本书里,讲到关于消

13 年的 Bug 调试经验总结

在<Learning From Your Bugs>一文中,我写了关于我是如何追踪我所遇到的一些最有趣的bug.最近,我回顾了我所有的194个条目(从13岁开始),看看有什么经验教训是我可以学习的.下面是我总结的最重要的经验教训,包括编码,测试和调试三个方面.编码下面这些都是我经历过的会导致难点bug的问题:1.事件顺序.在处理事件时,提出下列问题会很有成效:事件可以以不同的顺序到达吗?如果我们没有接收到此事件会怎么样?如果此事件接连发生两次会怎么样?哪怕通常不会发生,但系统(或交互系统)其他

BUG调试经验

转自脚本之家 下面这些都是我经历过的会导致难点bug的问题: 1.事件顺序 在处理事件时,提出下列问题会很有成效:事件可以以不同的顺序到达吗?如果我们没有接收到此事件会怎么样?如果此事件接连发生两次会怎么样?哪怕通常不会发生,但系统(或交互系统)其他部分的bug可能会导致事件发生呢. 2.过早 这是第一点"事件顺序"的一个特例,但它确实会引起一些棘手的bug,因此我把它单独拎出来说明.例如,如果信令消息在配置和启动程序完成之前就被过早接收,那么可能就会有很多奇怪的行为发生.另一个例子:

程序员如何高效率更改BUG

我们组里有着俩程序猿,老猿和小猿,当然,老猿就是leader.有一天,老猿对小猿说:"你来我们组已经有段时间了,能帮leader做点事吗?"小猿连蹦带跳地说:"怎么不能?我很愿意帮您做事."老猿高兴地说:"那好啊,最近我要出差,你把这个项目跑一下看看吧!回来我瞅瞅." 小猿接过项目,用编译器进行着调试.程序跑着跑着,一条BUG使得程序止步不前,看着时间一分一秒的流逝.小猿为难了,心想:我能不能改掉这个BUG呢?如果leader在身边,问问他该怎么

修改BUG心得

修改BUG心得 分类: 项目管理/CMMI2013-01-14 22:06 845人阅读 评论(0) 收藏 举报 目录(?)[-] 一 二 三 一. 1.写第一版时就杜绝这些的发生. 2.思维要开阔, 3.修改BUG,写代码的人都很厉害,不管是写界面还是底层.不要以人做的模块的难易来断定人. 二. 今天让项目经理找到些bug,但都是无关紧要的,最主要是因为在作页面的时候,业务逻辑不是很清晰,需求描述的不好,所以我自己做起来也有麻烦,当然,不是我没错,只是以后我做项目经理,对以后自己下属的要求,就