0


代码的检查走查与评审

多年以来,软件界的大多数人都持有一个想法,即编写程序仅仅是为了提供给机器执行,并不是供人们阅读的,软件测试的惟一方法就是在计算机上执行它。20 世纪 70 年代早期,一些程序员最先意识到阅读代码对于构成完善的软件测试和调 试手段的价值,通过他们的努力,原有的观念开始发生变化。

今天,并不是所有的软件测试人员都要阅读代码,但是研读程序代码作为测试工作的一部分,这个观念已经得到了广泛认同。以下几个因素会影响到特定的测试 和调试工作需要人工实际阅读代码的可能性:软件的规模和复杂度、软件开发团队的规模、软件开发的时限(例如时间安排表是松散还是紧密)等,当然还有编程小 组的技术背景和文化。

基于这些原因,在深入研究较为传统的基于计算机的测试技术之前.我们首先讨论非基于计算机测试的过程(即“人工测试”)。人工测试技术在查找错误方面非常有效,以至于任何编程项目都应该使用其中的一种或多种技术。应该在程序开始编码之后、基于计算机的测试开始之前使用这些方法。同样,也可以在编程过程的更早阶段就开始设计和应用类似的方法(例如在每个设计阶段的末尾),但是这些内容超出了本书讨论的范围。 在开始讨论人工测试技术之前,有一条重要的注意事项:由于包含了人为因素在内,导致很多方法的正规性要差于由计算机执行的数学证明,人们可能会怀疑某些如此简单和不正规的东西是否有用。反之亦然。这些不正规的方法并没有妨碍测试取得成功;相反,它们从以下两个方面显著地提高了测试的功效和可靠性。 首先,人们普遍认识到错误发现得越早,改正错误的成本越低,正确改正错误的可能性也越大。其次,程序员在开始基于计算机的测试时似乎要经历一个心理上 的转变。从内部产生的压力似乎会急剧增长,并产生一个趋势,要“尽可能快地修正这个缺陷”。由于这些压力的存在.程序员在改正某个由基于计算机测试发现的错误时所犯的失误,要比改正早期发现的问题时所犯的失误更多一些。** **

代码检查与走查是两种主要的人工测试方法。由于这两种方法具有很多的共同之处,在这里我们将一起讨论它们的相似点,而它们的不同之处将在后续章节中进行介绍。 代码检查与走查都要求人们组成一个小组来阅读或直观检查特定的程序。无论采用哪种方法,参加者都需要完成一些准备工作。准备工作的高潮是在参加者会议 上进行的所谓“头脑风暴会”。“头脑风暴会”的目标是找出错误来,但不必找出改正错误的方法。换句话说,是测试,而不是调试。 代码检查与走查已经广泛运用了很长时间。在代码走查中,一组开发人员(三至四人为最佳)对代码进行审核。参加者当中只有一人是程序编写者。因此,软件测试的主要工作是由其他人,而不是软件编写者本人来完成.这符合“软件编写者往往不能有效地测试自己编写的软件”的测 试原则。 代码检查与走查是对过去桌面检查过程(在提交测试前由程序员阅读自己程序 的过程)的改进。与原方法相比,代码检查与走查更为有效,同样是因为在实施过程中,除了软件编写者本人,还有其他人参与进来。

代码走查的另一个优点在于,一旦发现错误,通常就能在代码中对其进行精确定位,这就降低了调试(错误修正)的成本。另外,这个过程通常发现成批的错误。 这样错误就可以一同得到修正。而基于计算机的测试通常只能暴露出错误的某个表症(程序不能停止,或打印出一个无意义的结果),错误通常是逐个地被发现并得到纠正的。 在典型的程序中,这些方法通常会有效地查找出 30%~70%的逻辑设计和编码错误。但是,这些方法不能有效地查找出高层次的设计错误,例如在软件需求分析阶段的错误。请注意,所谓 30%~70%的错误发现率,并不是说所有错误中多达 70%可能会被找出来,而是讲这些方法在测试过程结束时可以有效地查找出多达 70 %的已知错误。

当然,可能存在对这统计数字的批评,即人工方法只能发现“简单”的错误(即 与基于计算机的测试方法相比,所发现的问题显得微不足道),而困难的、不明显 的或微妙的错误只能用基于计算机的测试方法才能找到。然而,一些测试人员在使 用了人工方法之后发现,对于某些特定类型的错误,人工方法比基于计算机的方法 更有效,而对于其他错误类型,基于计算机的方法更有效。这就意味着,代码检查 /走查与基于计算机的测试是互补的。缺少其中任何一种,错误检查的效率都会降低。 最后,不但这些测试过程对于测试新开发的程序有着不可估量的作用,而且对 于测试更改后的程序,这些测试过程具有相同的作用,甚至更大。根据我们的经验, 修改一个现存的程序比编写一个新程序更容易产生错误(以每写一行代码的错误数 量计)。因此,除了回归测试方法之外,更改后的程序还要进行这些人工方法的测试。 作者:青胜软件测试 https://www.bilibili.com/read/cv16864059 出处:bilibili

标签: 单元测试

本文转载自: https://blog.csdn.net/QingShengTesting/article/details/126608048
版权归原作者 青胜test 所有, 如有侵权,请联系我们删除。

“代码的检查走查与评审”的评论:

还没有评论