[个体软件过程]之缺陷管理--代码复查

第四章 缺陷管理

u      什么是缺陷

u      缺陷查找技术

u      代码复查

u      缺陷预测

4.3 代码复查

代码复查就是研究源代码,并从中发现错误。代码复查更有效的原因是:在复查时看到的是问题本身而不是征兆。从头到尾复查代码时,考虑的是程序应该做什么。因此,当看到某些地方不正确时,就可以看到可能的问题是什么,并立即去验证代码。复查的缺点是:非常耗时,而且很难恰当的进行;复查时一种技能,当然可以通过学习和实践来提高。

代码复查的第一步是了解自己引入的缺陷的种类,这是收集缺陷数据的主要原因。因为在下一个程序中引入的缺陷种类一般会与前面的基本类似,只要采用同样的软件开发方法,情况会一直如此。另一方面来说,当你有了技能和经验或改变了过程,缺陷的类型和数目会随之变化。但是到了一定程度后,改进就变得非常困难了。这是,就必须研究缺陷,这可以帮助你找到更好的发现和修复缺陷的方法。

如何进行代码复查。代码复查的目标是在软件过程中尽可能早和尽可能多的发现缺陷,缺陷发现时间越少越好。采用表4.3描述的一个有序的检查方法,在编译之前进行代码复查,是完成目标最好的方法。

  4.3                                     代码复查脚本

入口条件

在复查前,检查下列产品是否已经准备好:

u        需求规格说明;

u        程序设计文档;

u        程序的源代码清单;

u        编码标准;

u        代码复查检查表;

一般性说明

使用代码复查检查表;

在复查时遵照代码复查检查表的使用说明;

在复查结束时,填写累计、累计百分比和总结栏目;

1     复查规程

首先,完成源程序编码;

然后,在进行编译和测试之前,打印一份源程序清单;

下一步,进行代码复查;

进行代码复查时,仔细检查每一行源程序,以尽可能多地发现和修复缺陷;

2     修复缺陷

修复所发现的每一个缺陷;

确保所作的修复正确无误;

将缺陷登入在缺陷记录日志。

3     覆盖率复查

验证程序设计覆盖了需求规格说明中描述的每一个功能;

验证程序代码实现了所有的设计。

4     程序逻辑复查

验证程序设计在逻辑上是正确的;

验证程序代码正确的实现了设计中的逻辑。

5     命名和类型检查

验证所有的名字和类型已经正确的声明;

检查整型、长整型和浮点型是否正确声明。

6     变量检查

确保每个变量已初始化;

检查上溢、下溢或越界问题。

7     程序语法检查

验证程序代码符合编程语言的规格说明

 出口条件

在复查结束时,应该有:

完整的、修复过的源程序清单;

填写完整的时间记录日志;

填写完成的缺陷记录日志。

 

编译之前进行复查。有几个原因说明应在编译之前进行代码复查:不论编译前或编译后,进行完整的代码复查的时间大约相同;不论编译前或编译后,对检查语法有效性的效果是一样的;先做复查将节省大量编译时间,若不做代码复查,一般要花12%~15%的开发时间进行编译,一旦使用代码复查后,编译时间可以缩短至3%或更少;编译程序后,代码一般复查很难彻底的进行; 经验证明,在编译阶段有大量的缺陷时,一般在测试阶段也有许多缺陷。

建立个人代码复查检查表。如果想发现和改正程序中的每一个缺陷,就必须遵照一个精确的规程。检查表可以确保遵循这个规程,它包括一系列程式的步骤。按照检查表去作时,就知道如何进行代码复查。

如果能够正确使用检查表,还能知道每个步骤发现了多少缺陷。这样就能测量出复查过程的效率,并进一步改进检查表。检查表包括了个人的经验。通过不断的使用和改进个人检查表,就可以帮助你用较少的时间发现这些缺陷。表4.4是一个C++程序代码复查表的范例。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值