缺陷简述
缺陷修复示例
确认缺陷属性
输入:
根据 附录-软件缺陷定义
缺陷提交者的反馈信息
过程:
开发人员通过缺陷再现、代码调试等方法进行缺陷属性的确认。
开发人员汇总缺陷属性与缺陷提交者进行沟通确认。
保证开发人员与缺陷提交者持有统一的缺陷属性。
管理沟通任务包
输出:
开发人员列出缺陷相关属性。
缺陷类型
缺陷级别
缺陷产生可能性
缺陷的优先级
缺陷状态
缺陷再现流程
缺陷所在软件的版本号
根据缺陷属性特征与项目经理进行沟通。
非常见缺陷类型或难以判断出来缺陷类型,通知项目经理。
缺陷级别太高,通知项目经理。
缺陷产生可能性小,通知项目经理对应的处理方法。
缺陷的优先级高,通知项目经理。
定位缺陷原因
输入:
解决问题-麦肯锡方法(可选)
上一步的输出
过程:
100%确认缺陷原因:
通过观察缺陷现象、缺陷提交者的沟通,判断缺陷原因。
进行源代码调试,并定位到出现问题的代码段,判断缺陷原因。
80%确认缺陷原因:
分析应用的日志/系统日志,判断缺陷原因。
使用源代码版本工具对比代码
回滚源代码版本到上一次没有缺陷的版本。
对比回滚版本与最新代码的差异。
功能代码的差异
工程配置文件的差异
对比软件环境
对比软件开发环境
依赖环境的版本号
- 第三方依赖版本号
对比软件的安装环境
依赖环境的版本号。
第三方依赖版本号
编译软件版本号
系统版本号
等等
对比环境变化后的相关影响因素
20%确认缺陷原因
麦肯锡7步法
进行头脑风暴搜集所有的可能性因素
采用头脑风暴的方式
并记录下来所有的可能性因素
按照一定的规则,将可能性因素进行优先排序
对可能性因素进行单个排除、多个排除测试
测试缺陷消失,则定位引发缺陷的原因,并记录测试结果
测试缺陷没有消息,执行下一个或多个可能性因素的测试,并记录测试结果
直到问题解决、或测试完所有的可能性因素
汇报结果给项目经理
可替换的解决方案
从备用方案中选择最优方案,从新进行开发
创建基础的功能代码
功能逐个进行添加
确保每个功能添加时没有缺陷
放松放松
出去走一走,玩一玩
给大脑预留些时间整理思路
最终无法定位原因
向上级领导汇报,寻求协助
汇报自己的调研过程结果
无法确认缺陷原因
- 同20%确认缺陷原因方法
输出:
阶段性结果汇报
缺陷的原因
缺陷的可能性因素及测试结果
缺陷的解决方法
修复缺陷问题
过程:
- 根据上一步的输出内容,进行缺陷的修复
汇总意见
- 针对缺陷产生的原因,提出建设性的意见。