前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >聊一聊代码测试检查及走查

聊一聊代码测试检查及走查

原创
作者头像
漫谈测试
发布2024-10-29 10:25:02
发布2024-10-29 10:25:02
1480
举报
文章被收录于专栏:漫谈测试漫谈测试

代码检查、走查以及可用性测试是三种主要的人工测试方法。这些测试方法可以应用在软件开发的任何阶段,包括在一个应用程序编码基本结束或者每一个模块(单元)编码结束之后。

代码检查与走查都要求人们组成一个小组来阅读或直观检查特定的程序。

无论采用哪种方法,参加者都需要完成一些准备工作。准备工作的高潮是在参加者会议上进行的所谓“头脑风暴会”。

“头脑风暴会”的目标是找出错误来,但不必找出改正错误的方法,换句话说,是测试,而不是调试

代码走查

在代码走查中,一组开发人员(三到四人为最佳)对代码进行审核。其中只有一人是代码的作者。

因此,代码走查的主要工作是由其他人,而不是作者本人完成的,这和软件测试的原则即“软件编写者往往不能有效地测试自己的软件”相符合。

代码检查与走查是对过去桌面检查过程(在提交测试前由程序员阅读自己程序的过程)的改进。与原方法相比,代码检查与走查更为有效,同样是因为在实施过程中,除了软件编写者本人,还有其他人参与进来。

代码走查的另一个优点在于,一旦发现错误,通常就能在代码中对其进行精确定位,这就降低了调试(错误修正)的成本。另外,这个过程通常发现成批的错误,这样错误就可以一同得到修正。

而基于计算机的测试通常只能暴露出错误的某个表症,错误通常是逐个地被发现并得到纠正的。

在典型的程序中,这些方法通常会有效地查找出30%~70%的逻辑设计和编码错误。

但是,这些方法不能有效地查找出高层次的设计错误,例如在软件需求分析阶段的错误。

请注意,所谓30%~70%的错误发现率,并不是说所有错误中多达70%可能会被找出来,而是讲这些方法在测试过程结束时可以有效地查找出多达70%的已知错误。

代码检查

所谓代码检查,是以组为单位阅读代码,它是一系列规程和错误检查技术的集合。对代码检查的大多数讨论都集中在规程、所要填写的表格等。

这里对整个规程进行简短的概述,之后我们将重点讨论实际的错误检查技术。

一个代码检查小组通常由四人组成,其中一人发挥着协调作用,协调人员不是该程序的编写人员。

协调人员的职责

为代码检查分发材料、安排进程。

在代码检查中起主导作用。

记录发现的所有错误。

确保所有错误随后得到改正。

检查议程与注意事项

1.由程序编码人员逐条语句讲述程序的逻辑结构。

2.参考常见的编码错误列表分析程序

对事不对人,和人有关的注意事项

请注意,要使检查过程有成效,必须树立正确的态度。如果程序员将代码检查视为对其人格的攻击、采取了防范的态度,那么检查过程就不会有效果。正确的做法是,程序员必须怀着非自我本位的态度来对待检查过程,对整个过程采取积极和建设性的态度:代码检查的目标是发现程序中的错误,从而改进软件的质量。

代码检查的衍生功效

程序员通常会得到编程风格、算法选择及编程技术等方面的反馈信息。

其他参与者也可以通过接触程序员的错误和编程风格而同样受益匪浅。

代码检查是能够在早期发现程序中脆弱部位的方法之一,有助于在测试过程中将更多的注意力集中在这些脆弱地方。

代码测试走查及检查的区别

代码走查

目的:主要是教育性的,旨在让团队成员理解某段特定代码是如何工作的。它可以帮助新加入项目的开发者快速了解系统架构或具体实现细节。

参与者:通常由代码作者来引导,其他开发者参与学习或者提供反馈。

形式:比较非正式,更像是一个教学过程。代码作者会逐行解释其代码逻辑、设计决策等。

结果:除了帮助他人理解代码外,有时也能发现一些小问题,但不是主要目标。

代码检查

目的:侧重于发现并修复代码中的错误、潜在的问题或是不符合编码标准的地方。通过这个过程可以提升代码的质量与可维护性。

参与者:可能包括代码作者、其他开发者、测试人员甚至项目经理。每个人都可以基于自己的经验和视角提出意见。

形式:更加结构化和正式。一般会有预先设定好的流程,比如使用工具辅助审查、记录发现的问题点、后续跟踪修正情况等。

结果:直接目的是识别出尽可能多的问题,并计划如何解决这些问题。长期来看,则有助于建立更好的编程习惯和团队协作模式。

两者之间的关键区别在于目标导向-----走查更多地关注于分享知识与经验,而检查则聚焦于保证代码质量。实际上,在实际操作中,这两种活动可能会结合进行,既达到了交流的目的也确保了产品质量。

在现代软件开发实践中,很多团队采用的是持续集成/持续部署(CI/CD)加上自动化测试加定期的人工代码审查相结合的方式来进行质量控制。

如有收获,您的关注,点赞,分享转发,留言评论是对我的最大支持!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档