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