首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
代码走查(code walkthrough)和代码审查(code inspection)是两种不同的代码评审方法,这两种方法的主要区别是______。
代码走查(code walkthrough)和代码审查(code inspection)是两种不同的代码评审方法,这两种方法的主要区别是______。
admin
2009-09-04
50
问题
代码走查(code walkthrough)和代码审查(code inspection)是两种不同的代码评审方法,这两种方法的主要区别是______。
选项
A、在代码审查中由编写代码的程序员来组织讨论,而在代码走查中由高级管理人员来领导评审小组的活动
B、在代码审查中只检查代码中是否有错误,而在代码走查中还要检查程序与设计文档的一致性
C、在代码走查中只检查程序的正确性,而在代码审查中还要评审程序员的编程能力和工作业绩
D、代码审查是一种正式的评审活动,而代码走查的讨论过程是非正式的
答案
D
解析
静态分析中进行人工测试的主要方法有桌前检查、代码审查(会审)和走查。经验表明,使用这种方法能够有效地发现30%到70%的逻辑设计和编码错误。
①桌前检查(Desk Checking):由程序员自己检查自己编写的程序。程序员在程序通过编译之后,进行单元测试设计之前,对源程序代码进行分析、检验,并补充相关的文档,目的是发现程序中的错误。检查项目有:
.检查变量的交叉引用表:重点是检查未说明的变量和违反了类型规定的变量;还要对照源程序,逐个检查变量的引用、变量的使用序列;临时变量在某条路径上的重写情况;局部变量、全局变量与特权变量的使用;
.检查标号的交叉引用表:验证所有标号的正确性:检查所有标号的命名是否正确;检查转向指定位置的标号是否正确。
.检查子程序、宏、函数:验证每次调用与被调用位置是否正确;确认每次被调用的子程序、宏、函数是否存在;检验调用序列中调用方式与参数顺序、个数、类型上的一致性。
.等值性检查:检查全部等价变量的类型的一致性,解释所包含的类型差异。
.常量检查:确认每个常量的取值和数制、数据类型;检查常量每次引用同它的取值、数制和类型的一致性;
.标准检查:用标准检查程序或手工检查程序中违反标准的问题。
.风格检查:检查在程序设计风格方面发现的问题。
.比较控制流:比较由程序员设计的控制流图和由实际程序生成的控制流图,寻找和解释每个差异,修改文档和校正错误。
.选择、激活路径:在程序员设计的控制流图上选择路径,再到实际的控制流图上激活这条路径。如果选择的路径在实际控制流图上不能激活,则源程序可能有错。用这种方法激活的路径集合应保证源程序模块的每行代码都被检查,即桌前检查应至少是语句覆盖。
.对照程序的规格说明,详细阅读源代码:程序员对照程序的规格说明书、规定的算法和程序设计语言的语法规则,仔细地阅读源代码,逐字逐句进行分析和思考,比较实际的代码和期望的代码,从它们的差异中发现程序的问题和错误。
.补充文档:桌前检查的文档是一种过渡性的文档,不是公开的正式文档,通过编写文档,也是对程序的一种下意识的检查和测试,可以帮助程序员发现和抓住更多的错误。
这种桌前检查,由于程序员熟悉自己的程序和自身的程序设计风格,可以节省很多的检查时间,但应避免主观片面性。
②代码会审(Code Reading Review):是由若干高级管理人员、程序员和测试员组成一个会审小组,通过阅读、讨论和争议,对程序进行静态分析的过程。高级管理人员领导整个会审小组。
代码会审分两步。第一步,小组负责人提前把设计规格说明书、控制流程图、程序文本及有关要求、规范等分发给小组成员,作为评审的依据。小组成员在充分阅读这些材料之后,进入审查的第二步:召开程序审查会。在会上,首先由程序员逐句讲解程序的逻辑。在此过程中,程序员或其他小组成员可以提出问题,展开讨论,审查错误是否存在。实践表明,程序员在讲解过程中能发现许多原来自己没有发现的错误,而讨论和争议则促进了问题的暴露。
在会前,应当给会审小组每个成员准备一份常见错误的清单,把以往所有可能发生的常见错误罗列出来,供与会者对照检查,以提高会审的实效。这个常见错误清单也叫做检查表,它把程序中可能发生的各种错误进行分类,对每一类列举出尽可能多的典型错误,然后把它们制成表格,供会审时使用。这种检查表类似于本章单元测试中给出的检查表。
③走查(Walkthroughs):与代码会审基本相同,一般由编写代码的程序员来组织讨论,其过程分为两步。第一步也把材料先发给走查小组每个成员,让他们认真研究程序,然后再开会。开会的程序与代码会审不同,不是简单地读程序和对照错误检查表进行检查,而是让与会者“充当”计算机。即首先由测试组成员为被测程序准备一批有代表性的测试用例,提交给走查小组。走查小组开会,集体扮演计算机角色,让测试用例沿程序的逻辑运行一遍,随时记录程序的踪迹,供分析和讨论用。
代码审查是一种正式的评审活动,而代码走查的讨论过程是非正式的。
人们借助于测试用例的媒介作用,对程序的逻辑和功能提出各种疑问,结合问题开展热烈的讨论和争议,能够发现更多的问题。
转载请注明原文地址:https://kaotiyun.com/show/QrxZ777K
本试题收录于:
软件设计师上午基础知识考试题库软考中级分类
0
软件设计师上午基础知识考试
软考中级
相关试题推荐
在互连的网络设备中,交换机的工作与网桥相比,区别在于(27),网桥是根据(28)知道是应该转发还是应该过滤数据包。交换机与Hub相比,优点是(29),网桥中为了防止产生循环路径,需要运行(30);算法。具有自学习功能的网桥是(31)。
假设一个有3个盘片的硬盘,共有4个记录面,转速为7200r/min,盘面有效记录区域的外直径为30cm,内直径为10cm,记录位密度为250bit/mm,磁道密度为8道/mm,每磁道分为16个扇区,每扇区512字节,则该硬盘的非格式化容量和格式化容量约为(
FTP是基于(39)实现的文件传输协议,使用此协议进行文件传输时,FTP客户和服务器之间建立的连接是(40)。
RS-232-C是目前常见的一种接口标准,它是由(32)提供制定的。该标准在OSI模型中属于(33)层协议标准,通过RS-232-C来连接两个设备最少要连接(34)条线。这个标准的设计数据速率是处理(35)bit/s。(35)bit/s条件下,采用RS-4
为了进行差错控制,必须对传送的数据帧进行校验。在局域网中广泛使用的校验方法是(7)校验。CRC-16标准规定的生成多项式为G(x)=X16+X15+X2+1,它产生的校验码是(8)位,接收端发现错误后采取的措施是(9)。如果CRC的生成多项式为G(X)=X
CMM(软件能力成熟度模型)描述和分析了软件过程能力的发展与改进的程度,确立了一个软件过程成熟程度的分级标准。在初始级,软件过程定义几乎处于无章可循的状态,软件产品的成功往往依赖于个人的努力和机遇;在(44),已建立了基本的项目管理过程,可对成本、进度和功
在OSI参考模型中,物理层的功能是(133)。
发展容错技术可提高计算机系统的可靠性。利用元件冗余可保证在局部有故障的情况下系统正常工作。带有热备份的系统称为(61)系统。它是(62),因此只要有一个子系统能正常工作,整个系统仍能正常工作。当子系统只能处于正常工作和不工作两种状态时,可以采用如图
随机试题
甲涉嫌利用木马程序盗取Q币并转卖他人,公安机关搜查其住处时,发现一个U盘内存储了用于盗取账号密码的木马程序。关于该U盘的处理,下列哪些选项是正确的?()
建设项目需要征收农用地的,应当先行办理()。
施工承包企业根据( )分别划分若干资质类别。
商业银行员工由于知识技能匮乏而给商业银行造成风险的主要行为模式包括()。
上市公司甲公司是ABC会计师事务所的常年审计客户,A注册会计师负责审计甲公司2017年度财务报表。审计工作底稿中与确定重要性和评估错报相关的部分内容摘录如下:(1)A注册会计师确定的甲公司2016年度财务报表整体的重要性为利润总额的5%.即100万元。
下列各项中属于公安机关基本任务的有()。
随着网络、手机等新媒体的迅猛发展,文化市场需要大量的精短影像,反映瞬间的历史和正在发生的事件。微纪录片拍摄节省时间,制作费用低廉,而且时间短,正适合了这种快餐文化欣赏要求和心理。过去几年,人人都是麦克风、个个都是通讯社,如今,又增加为“人人都是演员,个个
《人民警察法》第6条对人民警察的职责作了详细的规定,但是考虑到随着社会的不断发展,还会出现许多新的问题,所以又加了一个概括性规定,即“法律、法规规定的其他职责”,此中的“法律”是指()。
语言在人类的交流中起重要的作用。如果一种语言是完全有效的,那么,其基本语音的每一种可能的组合都能够表达有独立意义和可以理解的词。但是,如果人类的听觉系统接收声音信号的功能有问题,那么,并非基本语音每一种可能的组合都能够成为有独立意义和可以理解的词。
Wheredidthecustomergetthesweater?
最新回复
(
0
)