`

bug的修改流程

阅读更多
上篇中我对bug做了3大分类:能重现的逻辑错误,不能重现的逻辑错误和潜在的内存错误。

这篇文章是我总结关于逻辑错误的修改流程,也算是后面文章的一个总领。

流程如图:



1 重现

再次强调这个是修改bug的前提。

2 明确事发点

就是明确导致一个bug产生最直接的一个调用或者一个判断。
明确了事发点后有两种情况,就是上图中的分支。
有些bug,在明确了事发点后就立刻知道原因了,这个大家都有体会;有些就不是这么简单了。
定位事发点的方法下篇文章有详细介绍。

3 整理代码

有些事发点逻辑错综复杂,一点注释也没有,也没有文档,或者代码风格很差。整理下代码,能减缩进就减点,太长的函数分割一下。。。就是为了提高阅读性。

因人而异,如果你觉得你的阅读能力超强,不整理也无所谓。
但是千万不要自作聪明的就开始做点“保护”,这个步骤不要让逻辑受一点影响。

4 分析原因

具体情况具体分析。这个步骤有时候是最难的,但是一定要明确原因。不明原因或者误解原因bug的修改后果是有极大风险的。
可参考《如何修改bug(一)-bug的分类和定义》。

5 确定方案

可行性、所做修改对其他模块和逻辑的影响需要周密思考、测试和验证。有些方案看上去很好,正真做进去了才发现时间白花了。在解决一些关于性能方面问题的时候往往会发生拿错方案的惨案。
有时候方案很多,都可行,难以抉择,那就具体情况具体分析了。

6 修改代码

这一步,是所有步骤中最简单的,就是码字。

7 验证

程序员保证自己工作效率和质量的关键步骤。你不想总被别人测出问题吧,或者你也不想问题最多的模块总是你在改的吧。

小结

bug千奇百怪,不是每个bug都需要经历所有流程的。每个步骤都有它的难点。
有些bug难在事发点的定位,比如多线程,异步逻辑,网络通讯中的bug;
有些bug难在原因很难分析,多数是你看不懂代码;
有些bug难在你不敢改,那是你的修改方案没有做好充分的分析。
。。。
其实会者不难,后面我会细细道来,和大家一起分享。


2009-03-18
--------------------------------------------------(未完待续,下篇:明确事发点)----------------------------------------
我的博客
http://blog.csdn.net/caihuadi/category/523597.aspx
如何修改bug(一)-bug的分类和定义
http://topic.csdn.net/u/20090314/01/3a89b321-9f4c-430c-9578-ac30f75ad2b3.html
分享到:
评论

相关推荐

    bug状态流程图+bug处理流程+角色..pdf

    - **处理意见**:开发组长或经理在分配Bug前,需提供处理意见,包括是否可修复、是否重复、是否延期、是否因设计限制无法修改、是否无法复现等情况。 综上所述,Bug管理不仅是一项技术活动,更是项目管理的重要组成...

    bug状态流程图+bug处理流程+角色

    6. **修复完成(Fixed)**:开发者完成修复后,会将Bug状态更改为修复完成。 7. **待验证(Reopened/To Verify)**:修复的Bug返回给测试人员进行验证,看是否真正解决了问题。 8. **已验证(Verified)**:如果...

    Bug管理流程

    这意味着,即使是为了解决Bug而进行的修改,也需要按照既定的流程进行审批和执行,以避免因随意更改而导致的不可预测风险。 ### 结语 一个有效的Bug管理流程,不仅能够提高软件产品的质量,还能够增强团队之间的...

    Bug处理流程规范

    Bug处理流程规范 本规范旨在提高测试以及产品缺陷修改效率,避免出现搁置和遗漏的缺陷,从而提高产品的质量,降低质量检查和缺陷修改成本。 一、引言 本规范适用于研发部门(Confernece、Flash、监控)、质量保证...

    Bug状态流程图

    一旦新版本发布,修复的Bug就正式生效,状态将更改为“已发布”。 7. **关闭与回顾**:发布后,如果用户反馈问题已解决,那么Bug就可以被关闭。关闭并不意味着结束,团队应定期回顾已关闭的Bug,从中学习,避免类似...

    mantis中的bug状态变化流程

    在Mantis中,bug的状态变化流程对于整个项目的测试和运维过程至关重要,因为它确保了问题的有效跟踪和解决。以下是对Mantis中bug状态变化流程的详细解释: ### 运维过程的bug状态变化流程 1. **问题提交**:当问题...

    Mantis Bug处理流程

    以下是对"Mantis Bug处理流程"的详细解释: 1. **已修正** (Resolved): 当开发人员修复了报告的bug后,他们会将状态设置为“已修正”。此时,测试人员需要对修复进行验证,确保问题已被正确解决。如果验证通过,...

    测试BUG流程管理规范

    ### 测试BUG流程管理规范 #### 一、概述 在软件开发过程中,BUG管理是确保产品质量的关键环节之一。本文档旨在规范测试人员提交BUG的方式,明确开发与测试团队之间的配合流程,提高BUG处理效率,从而加快产品的...

    Bug管理规范及流程

    ### Bug管理规范及流程 #### 一、概述 在软件开发过程中,Bug管理是一项至关重要的环节,它直接关系到软件产品的质量和用户体验。本篇文章旨在详细阐述Bug管理规范及流程,帮助开发人员和测试人员更好地理解如何...

    BUG处理流程

    - 不得擅自更改需求,开发人员需获得需求人员的同意并在BUG管理工具中记录。 - 延期处理的BUG需与客户沟通后决定。 - 测试人员负责验证错误修复,非测试人员不得直接关闭测试人员提交的BUG。 **BUG书写标准** 为了...

    Bug状态流程描述--简便

    本文将详细阐述"Bug状态流程描述",旨在提供一种简洁而有效的处理方式,帮助项目团队高效地跟踪和解决Bug。 首先,我们来看“Bug状态流程图”。这个流程图通常包括以下几个关键阶段: 1. **新建(New)**:当开发...

    软件测试bug流程

    - **Reopen**:若测试人员验证修复后的Bug时发现其并未真正解决,或再次出现类似问题,可将状态更改为Reopen,促使开发团队重新审视并处理。 - **Fixed**:开发人员完成Bug修复并提交至测试环境后,将状态标记为...

    软件测试BUG状态流程图

    - **处理意见**:开发组长/经理对BUG的具体处理策略,包括Fixable(可修复)、Duplicated(重复)、Postponed(延期解决)、ByDesign(因设计问题无法修改)和Can’t Reproduce(不可复现)等。 #### 六、结论 ...

    ( 软件bug管理系统(业务流程图)

    ### 软件Bug管理系统的业务流程解析 #### 一、引言 在软件开发过程中,Bug(缺陷)是不可避免的现象。为了有效地管理和追踪这些缺陷,确保软件产品的质量,建立一个完善的Bug管理系统至关重要。本文将根据给定的...

    bug-流程1

    6. **修复bug**:找到问题根源后,开发者会修改代码,修复bug。这个过程可能涉及修改单行代码,也可能需要重构整个模块。 7. **测试和验证**:修复后,需要进行回归测试,确保修改没有引入新的问题,并且原有的bug...

    bug单状态流程图.pdf

    根据提供的文件信息,我们可以详细探讨软件测试过程中bug单状态的管理流程。软件测试是保证产品质量的重要环节,而bug单状态流程图能够帮助测试团队高效地跟踪和管理软件中的缺陷。下面将详细介绍各个状态及其相关...

    《bug处理流程》.pdf

    《Bug处理流程》详解 在软件测试过程中,Bug管理是至关重要的环节,它涉及到测试人员、开发人员和项目负责人之间的紧密协作。一个完善的Bug处理流程能够确保问题得到及时解决,提高产品质量,降低修复成本。以下是...

    禅道Bug提交管理规范

    禅道Bug提交管理规范 测试流程管理。 本文档定义了bug管理流程及其bug相关信息内容。

    Bug状态流程图.doc

    而Bug库的权限管理确保了信息的安全和准确,例如测试人员可以添加Bug、添加注释,但不能删除或修改他人报告的Bug。 总之,这个Bug状态流程图提供了一个全面的框架,指导团队有效地管理缺陷,确保软件质量的不断提升...

Global site tag (gtag.js) - Google Analytics