软件工程师解决测试人员测试出的bug流程

软件工程师在工作过程中,难免要解决软件中的各种bug,但是经常由于各种问题导致一个bug反反复复修改,甚至引出更多的bug。纠其原因,更多的是处理bug过程不规范导致的。笔者总结了工作中遇到bug的处理流程,如下:

 

一、bug确认

分配到一个bug后,要根据bug单号到bug管理系统查看该bug的详细信息。

1. 查看问题现象,了解问题
2. 查看软件版本和操作流程,检查当前版本和操作流程(步骤)是否有问题

此流程是为了确认是不是伪bug, 所谓伪bug,产生情况有两种,一是由于测试人员对操作流程或测试环境配置不正确产生的,比如未联网、口令输入错误等。
二是当前软件版本问题,如尚未支持该项功能

3. 检查是否是外部bug

根据日志分析,如果是其它模块问题引起的,转到其它模块负责人

4. 根据问题现象、日志确认是不是重复(已经提过的)bug

测试开的bug有可能是重复的,单从问题现象不一定看的出来,此时需要查看日志进行分析获得真正的原因所在,并与相似的bug作对比

5. 此时可以确认bug了,并在评论中增加问题的原因

二、bug修改方案确定

1. 确认修改范围

确定是否涉及协同修改(如模块(组间)接口修改)

2. 确定修改方案 

如果需要协同修改,需要与其它模块(或组)相关人员讨论确定修改方案,讨论后,以邮件(附文档)发送给相关人员;否则自己(或与组内人员讨论)确定修改方案

3. 确定合入版本时间

确定修改方案后,需要与相关人员确定联调和进入版本时间,以免出现不同组合入版本时间不一致,产生其它功能问题,此处最好也以邮件形式通知确认

三、代码修改

根据确定的解决方案修改代码,修改过程中要时常关注以下关键点:

1. 是否影响函数接口的扩展性

2. 函数是否太大,是否需要拆分

3. 函数名称和实际功能是否有偏差,是否需要抽象成新的接口

4. 有无动态分配内存,内存使用后是否回收(包括goto和return场景)

5. 解决层面是否合适,是否有更好的修改点,比如更底层或更上层的修改

6. 是否会影响其它模块

7. 检查是否有死循环(循环条件是否正确)

8. 循环等算法是否有优化的必要

四、自测试

1. 先用修改前版本复现问题
2. 使用修改后的版本进行测试,确认解决问题
3. 对可能影响的功能进行回归测试

五、联调

如有必要,同其它组进行联调,确认正确修改问题

六、检查代码规范

根据代码规范检查生成的patch,修改使其符合制定的代码规范,参考如下:

1. 如空格/table问题
2. 未使用变量等
3. 是否有未初始化变量
4. 是否需要添加必要的注释
......... 

七、代码提交

提交代码时,要注意以下几点:

1. 不要提交多余的文件
2. 不要遗漏新增加文件
3. 写上必要的提交信息,关联bug号

八、关闭bug

关闭bug, 关联相应的修改版本号,写上必要的修改说明

你可能感兴趣的:(工作总结,bug,解决流程,软件,测试,规范)