软件调试修炼之道之——务实的零容忍策略

本章主要内容有:

什么时候修复缺陷?

调试的思维模式

自己如何解决质量问题

早期修复缺陷基于两个原则

1. 那些可能发现缺陷的过程(测试、代码审查、用户使用)要连续贯穿于整个开发过程中
2. 缺陷修复优先于其他任何事情

目的:保证软件中存在的缺陷数量尽可能少。

早期的缺陷检测和修复能帮助你估算在缺陷修复上大约需要多少时间并以此来修改测试计划。

调试时一种心理活动

爱丽丝:再试也没用,人们不可能去相信不可能发生的事。
怀特女王:我敢说你练的还很不够,我在你这么大的时候,每天做它半小时,有时在早餐前,我就相信有不可能的事情要发生。

缺陷是不可避免的,无论多么努力,总会遗漏一些问题,因此不必去担心缺陷的发生,接受总会有缺陷这个事实,只需要处理已经出现的缺陷就好,作为有责任心的软件开发人员,我们的目标是创造价值并且为此感到骄傲。

缺陷是无意识的行为,在此情况下软件不按照既定设计运行,除此之外,都是特性,如果客户抱怨的是特性,这并不意味着不需要改进软件,只是问题没那么严重。

最有成效的思维模式是务实的零容忍策略——非常接近于零容忍,但是用务实的心态去实现。 

面对一个包含很多缺陷的代码集时,首先要做的就是设法阻止事情恶化。你可能无法立即让现有的所有代码都达到标准,但是你可以确保所有的新代码都不会出现同样的错误。这意味着至少要做到以下几点:

1. 控制源代码
2. 一个完全自动化的生成系统
3. 一个完全自动化的测试工具
4. 可以连续构建或集成代码

一个好的策略是清楚的划分“干净”(书写良好、测试良好、经过调试)的代码和“不干净”的代码。

在许多团队面临越来越大的缺陷数据库时,为缺陷制定优先级是个不错的选择,但这要求了解整个缺陷数据库的整体情况,这是最花时间最伤脑筋的事情。

小结,综上所述,如果你发现自己面临的是低质量的代码库,应该按如下方式解决:

1. 认识到没有灵丹妙药

2. 确保基本要素就绪,阻止事情恶化

3. 将“干净”代码分离出来,并一直保持干净

4. 使用缺陷分类

5. 添加测试代码和进行代码重构优化它们 

posted @ 2013-02-22 17:00  Ribbon  阅读(326)  评论(0编辑  收藏  举报