上海师范大学函授《软件工程》学习课程-代码会审

院校:四川文理学院继续 发布时间:2021-04-26 09:38:57

    代码会审

    代码会审是由若干程序员和测试员组成一个会市小组,通过阅读、讨论和争议,对程序进行静态分析的过程。

    代码会审分两步:第一步,小组负责人提前把设计规格说明书、控制流程图、程序文本及有关要求、规范等分发给小组成员,作为评审的依据.小组成员在充分阅读这些材料之后,

    进入审查的第二步:召开程序审查会。在会上,首先由程序员连句讲解程序的逻辑。在此过程中,程序员或其他小组成员可以提出问题,展开讨论,审查错误是否存在。实践表明,程序员在讲解过程中能发现许多原来自己没有发现的错误,而讨论和争议则促进了问题的暴露,

    在会前,应当给会审小组每个成员准备一份常 见错误的清单,把以往所有可能发生的常见错误罗列出来,供与会者对照检查,以提高会审的实效。这个常见错误清单也叫做检查表,它把程序中可能发生的各种错误进行分类,对每一类列举出尽可能多的典型错误, 然后把它们制成表格,供在会审时使用。这种检查表类似于本章单元测试中给出的检查表。

    审查会还有另外一种常见的进行方式,称为预排;由一个人扮演“测试者”,其他人扮演“计算机”。会前测试者准备好测试方案,会上由扮演计算机的成员模拟计算机执行被测试的程序。当然,由于人执行程序速度极慢,因此测试数据必须简单,测试方案的数目也不能过多。

    但是,测试方案本身并不十分关键,它只起一种促进思考引起讨论的作用。在大多数情况下,通过向程序员提出程序的逻辑和所做的假设的疑问可以发现的错误比由测试方案直接发现的错误还多。

    代码审查比计算机测试优越的是:一次审查会上可以发现许多错误;用计算机测试的方法发现错误之后,通常需要先改正这个错误才能继续测试,因此错误是一个一个地发现并改正的。也就是说,采用代码审查的方法可以减少系统验证的总工作量。

    实践表明,对于查找某些类型的错误来说,人工测试比计算机测试更有效:对于其他类型的错误来说则刚好相反。因此,人工测试和计算机测试是互相补充、相辅相成的,缺少其中任何一种方法都会使查找错误的效率降低。