案例12.1  完成缺陷记录日志示例

 
 

 

问题提出:
  设计缺陷记录日志是为帮助收集缺陷数据。尽可能性详细地描述每个缺陷,以便以后仍可理解它。完成每个程序后,分析有关数据,看一看程序哪些地方引入和排除了缺陷,是哪种缺陷导致主要的问题。请实例说明如何完成缺陷记录日志?

问题解答: 

12.4  缺陷记录日志示例
学生      学生Y                     日期        10/28/96            
教员      先生Z                      程序号        10               
 

日期

编号

类型

引入阶段

排除阶段

修复时间

修复缺陷

 10/28

1

20

编码

编译

1min

 

描述:漏掉了分号“:”

 

2

20

编码

编译

1min

 

描述:漏掉了分号“:”

 

3

40

设计

编译

1min

 

描述:二元操作变量Rhs有类型错误,必须将整型转换为浮点型

 

4

40

编码

编译

1min

 

描述:二元操作变量Rhs有类型错误,常数应为0.0,而不是0

 

5

40

编码

编译

1min

 

描述:二元操作变量Rhs有类型错误,必须将整型转换为浮点型

 

6

40

设计

编译

7min

 

描述:指数必须为整数。使用数学库计算Sqrt。整数计算不正确

 

7

80

编码

测试

14min

 

描述:答案布正确(std.dev.

 

8

80

编码

测试

28min

 

描述:对负指数的循环没有终止,忘记减小循环变量

如表12.4

  1. 当开始开发一个程序时,找几张缺陷记录日志表,在第一页的表头登入所需要的内容;登满第一张后,按同样的方式使用第二张表格

  2. 当遇到第一个缺陷时,在日志上记下它的编号,直到修复了这个缺陷时,再填写其它的数据。当学生X第一次编译程序10时,编译器显示了12个以上的出错信息。尽管最初不知道时什么问题,但知道至少有一个错误。这样记下时间,并在缺陷日志的第一行编号下登入1,这是程序10的第一个缺陷。这些编号有助于以后分析缺陷数据。

  3. 每个缺陷单独占一行。不要把几个相同的缺陷放在同一行上。

  4. 记下发现缺陷的日期。在表12.4中,学生X所有的错误都是在1028日发现的,因此不必重复登入日期。空白的日期表示和前面的缺陷是在同一天发现的。

  5. 在修复缺陷后,登入缺陷类型。在表12.4中,学生X发现的缺陷1是丢掉一个分号。当解决了这个问题,应在缺陷1类型下登入20

  6. 登入引入缺陷的过程阶段。此处,学生X确信是在程序编码时丢掉分号,所以在引入项下登上编码一词。

  7. 在排除缺陷后记录过程阶段。此例中,学生X是在编译阶段发现和修复缺陷,所以在排除项下登入编译一词
  8. 对于缺陷修复时间,从开始意识到缺陷的存在时算起,直到修复完成且检查无误的估计时间。学生X开始修复缺陷1时记下时间,当解决问题并且确认修复完成时再看一下表,这样就知道化了1分钟。

  9. 修复缺陷项说明是由于修复其它缺陷而引入的。

  10. 在描述部分对这个缺陷进行简短的描述。本题中,对于缺陷1,学生X简单记下“遗漏:”,对于表12.4中的大部分缺陷,给出更详细的说明,因为只是由自己使用,只要能提示你记起问题即可,不必过细。

总结:
  为了预防缺陷了解错误的起因是很必要的,缺陷类型只描述产品中哪里不正确。