软件测试的艺术第三章总结
代码检查
代码检查要做的事
所谓代码检查是以组为单位阅读代码,它是一系列规程和错误检查技术的集合。对代码检查的大多数讨论都集中在规程、所要填写的表格等。代码检查小组成员
- 协调人,协调人应该是个称职的程序员,但不是该程序的编码人员,不需要对程序的细节了解得很清楚
- 程序的编码人员
- 程序设计人员
- 测试专家
检查会议进行的活动
- 由程序编码人员逐条语句讲述程序的逻辑结构。在讲述的过程当中,小组的其他成员应提问题、判断是否存在错误。在讲述中,很可能是程序编码人员本人而不是其他小组成员发现了大部分错误。换句话说,对着大家大声朗读程序,这种简单的做法看来是一个非常有效的错误检查方法
- 对着历来常见的编码错误列表分析程序
小结
- 这个代码检查过程通常将注意力集中在发现错误上,而不是纠正错误
- 会议结束之后,程序员会得到一份已发现错误的清单
- 要使检查过程有成效,必须树立正确的态度。如果程序员将代码检查视为对其人格的攻击、采取了防范的态度,那么检查过程就不会有效果。正确的做法是,程序员必须怀着非自我本位的态度来对待检查过程,对整个过程采取积极和建设性的态度:代码检查的目标是发现程序中的错误,从而改进软件的质量
用于代码检查的错误列表
- 数据引用错误(下标越界,变量未赋值等)
- 数据声明错误(变量类型等)
- 运算错误(除以0,不同类型间的加减运算等)
- 比较错误(有不同数据类型的变量之间的比较运算等)
- 控制流程错误(逻辑上的错误)
- 接口错误(接收参数数量,类型)
- 输入/输出错误
代码走查
走查概述
代码走查的过程与代码检查大体相同,但是规程稍微有所不同,采用的错误检查技术也不一样代码走查小组成员
- 协调人
- 记录人员
- 测试人员
- 程序编写人员
- 程序设计人员
走查和检查的区别
不同于仅阅读程序或使用错误检查列表,代码走查的参与者“使用了计算机”。被指定为测试人员的那个人会带着一些书面的测试用例(程序或模块具有代表性的输入集及预期的输出集)来参加会议。在会议期间,每个测试用例都在人们脑中进行推演。也就是说,把测试数据沿程序的逻辑结构走一遍。程序的状态(如变量的值)记录在纸张或白板上以供监视。桌面检查
概述
桌面检查可视为由单人进行的代码检查或代码走查:由一个人阅读程序,对照错误列表检查程序,对程序推演测试数据。桌面检查的效率是相当低的。其中的一个原因是,它是一个完全没有约束的过程。另一个重要的原因是它违反了本书第 2 章提出的测试原则,
即人们一般不能有效地测试自己编写的程序。因此桌面检查最好由其他人而非该程序的编写人员来完成(例如,两个程序员可以相互交换各自的程序,而不是桌面检查自己的程序)。