1、代码检查、走查与评审练习试卷 2及答案与解析 一、选择题(每小题 2分,共 50分) 下列各题 A、 B、 C、 D四个选项中,只有一个选项是正确的,请将此选项涂写在答题卡相应位置上,答在试卷上不得分。 1 检查是否存在 “已定义但未使用 ”的变量引用异常应属于 _。 A) 静态分析 B) 动态分析 C) 代码执行 D) 调试 2 在程序测试中,用于检查程序模块或子程序之间的调用是否正确的静态分析方法是 _。 A) 操作性分析 B) 可靠性分析 C) 引用分析 D) 接口分析 3 在代码检查过程 中发现大部分错误的人通常是 _。 A) 程序员 B) 测试员 C) 审查者 D) 架构师 4 桌上
2、检查 (Desk Checking)是一种 _的检查方法。 A) 程序员自己检查自己编写的程序 B) 由同行帮忙检查自己编写的程序 C) 几个同行自行组成小组,以小组为单位检查编写的程序 D) 程序员在桌子上检查编写程序的活动 5 下列选项中不属于桌上检查的检查项目的是 _。 A) 等价性检查 B) 检查子程序、宏、函数 C) 功能检查 D) 风格检查 6 下列选项中不属于静态 错误分析的是 _。 A) 类型和单位分析 B) 功能分析 C) 引用分析 D) 表达式分析 7 在代码检查的准备阶段和检查会议阶段都具有发现产品错误责任的是 _。 A) 检查人员 B) 开发人员 C) 协调人 D) 讲
3、解员 8 下列检查项目中不属于风格检查的是 _。 A) 编程标准 B) 变量说明 C) 结构化程序设计 D) 命名规则 9 下列叙述中,说法正确的是 _。 A) 桌上检查的文档是最后要公开的正式文档 B) 桌上检查是一个完全没有约束的过程,所以通常效 率会比较低 C) 代码检查是程序员自己检查自己编写的程序 D) 桌上检查最好由程序的编写人员来完成 10 在对程序代码进行静态分析时,要生成各种引用表,这些引用表按功能可以分为 _。 A) 为用户提供辅助信息的 B) 直接从表中查出说明 /使用错误的 C) 用来做错误预测和程序复杂性计算的 D) 以上全部 11 下列引用表是为用户提供辅助信息的是
4、 _。 A) 函数引用表 B) 变量交叉引用表 C) 循环层次表 D) 操作符统计表 12 在代码检查中,负责提供关于检查项目的资料并回 答检查人员问题的角色是_。 A) 协调人 B) 开发人员 C) 检查人员 D) 讲解员 13 走查是对软件进行静态测试的一种方法,以下不属于走查活动的是 _。 A) 计划走查会议 B) 准备测试用例 C) 执行走查以发现和改正错误 D) 在走查过程中程序员逐渐讲解自己的程序 14 走查的最主要目标有 。 发现缺陷、遗漏和矛盾的地方 改进产品 考虑可替换的实现方法 A) 和 B) 和 C) 和 D) 、 和 15 通常走查小组中,程序编写 者占几个 _。 A)
5、 0个 B) 1个 C) 2个 D) 不确定 16 走查过程中的静态分析技术用到调用图,通过调用图我们不可以做的是_。 A) 检查程序中变量的说明和引用 B) 检查程序中全局变量、参数误用的问题 C) 为动态测试用例的设计提供可靠的依据 D) 对程序进行分析和修改 17 下列关于走查说法不正确的是 _。 A) 走查的主要工作是由程序编写者本人来完成 B) 走查与代码检查一样,都是以小组为单位进行 C) 走查是一种走查小组集体扮演计算机角色检查源程序的方法 D) 走查是借助程序流程图来进行数据流和控制流的分析 18 下列问题可通过调用图来检查的是 _。 A) 变量的说明和引用 B) 全局变量 C
6、) 参数误用 D) 以上全部 19 小组成员开会,集体扮演计算机角色,把测试数据沿程序的逻辑结构走一遍是_。 A) 数据分析 B) 执行测试用例 C) 执行走查 D) 代码检查 20 同行评审,有时称为同级评审,是一种通过作者的同行来确认缺陷和需要变更区域的检查方法。它主要分为管理评审、技术评审、文档评审和 _。 A) 误差评审 B) 项目评审 C) 过程评审 D) 组织体系评审 21 关于同行评审说法正确的是 _。 A) 同行评审是对程序进行模拟,一步步地展示程序如何处理测试数据 B) 同行评审虽然可以缩减工作时间,但同时也增加了大量的成本 C) 在软件开发过程中进行同行评审会浪费时间,减缓
7、项目的进度 D) 同行评审的目的就是发现产品的缺陷,因此在评审上的投入可以减少大量的后期返工 22 在软件企业中,应用最广泛的评审方法是 _。 A) 走查 B) 结对评审 C) 正式评审 D) 小组评审 23 关于人 工测试方法,说法正确的是 _。 A) 走查以小组为单位进行,是一系列规程和错误检查技术的集合 B) 同行评审的文档是一种过渡性的文档,不是公开的正式文档 C) 桌上检查的文档是一个最终可交付的文档 D) 评审是一项很浪费时间的活动,会减缓项目的进度 24 同行评审中,整个评审过程是由 _组织和进行。 A) 协调人 B) 评审小组 C) 开发人员 D) 评审员 25 在软件生存周期
8、中要有管理评审,原因在于 _。 A) 需要回顾已经过的开发状况 B) 需要分析总结出软件存在的问 题 C) 需要分析总结出改进的措施 D) 以上全部 26 管理评审的结果是 _。 A) 提交软件分析报告 B) 提交管理评审报告 C) 提交改进措施报告 D) 提交软件问题报告 27 下列不属于技术评审对象是 _。 A) 需求文档 B) 源代码 C) 运行环境 D) 测试用例 28 技术评审的目的足 _。 A) 确保软件的一致性 B) 验证软件是否符合需求 C) 揭示软件在逻辑、执行以及功能和编码上的错误 D) 以上全部 29 下列不属于技术评审报告中的内容是 _。 A) 用户需求信息 B) 会议
9、基本信息 C) 存在的问题和建议措施 D) 评审结论和意见 30 在软件开发过程中,需要评审的文档很多,其中对文档的一致性、可测试性等方面进行检查的称为 _。 A) 内容评审 B) 格式评审 C) 一致性评审 D) 可测试评审 31 过程评审是对软件开发过程的评审,其评审对象是 _。 A) 产品性能 B) 产品质量 C) 质量保证流程 D) 其他形式工作产出 32 对需求规格的说明进行评审应选择的评审方法是 _。 A) 结对评审 B) 正式评审 C) 走查 D) 临时评审 代码检查、走查与评审练习试卷 2答案与解析 一、选择题(每小题 2分,共 50分) 下列各题 A、 B、 C、 D四个选项
10、中,只有一个选项是正确的,请将此选项涂写在答题卡相应位置上,答在试卷上不得分。 1 【正确答案】 A 【知识模块】 代码检查、走查与评审 2 【正确答案】 D 【试题解析】 静态错误分析主要用于确定在源程序中是否有某类错误或者危险结构,包括: 类型和单位分析 为了强化对源程序中数据类型的检查,在程序设计语言中扩充一些新的数据类型。 引用分析 在静态错误分析中,最广泛使用的技术就是发现引用异常。 表达式分析 对表达式进行分析,以发现和纠正在表达式中出现的错误。 接口分析 接口的一致性是程序的静态错误分析和设计分析共同研究的题目。接口一致性的设计分析主要检查模块之间接口的一致性和模块与外部数据库之
11、间接口的一致性。 【知识模块】 代码检查、走查与评审 3 【正确答案】 A 【试题解析】 在代码检查进行时,主要进行两项活动。 由程序编码人员逐条语句讲述程序的逻辑结构。在讲述中,很可能是程序编码人员本人 而不是其他小组成员发现了大部分错误,换句话说,对着大家大声朗读程序,这种简单的做法看来是一个非常有效的错误检查方法。 对照常见编码错误列表分析程序。协调人负责确保检查会议的讨论高效地进行,每个参与者都将注意力集中于查找错误而不是修正错误。 【知识模块】 代码检查、走查与评审 4 【正确答案】 A 【试题解析】 桌上检查 (Desk checking)是一种传统的检查方法,由程序员自己检查自己
12、编写的程序。程序员在程序通过编译之后,进行单元测试设计之前,对源程序代码进行分析,对照错误列表进行检查, 对程序推演测试数据,并补充相关的文档。桌上检查的目的就是发现程序中的错误。 【知识模块】 代码检查、走查与评审 5 【正确答案】 C 【试题解析】 程序员进行桌上检查的目的是进行代码检查,主要检查项目包括:检查变量的交叉引用表、检查标号的交叉引用表检查子函数、宏、函数,等价性检查,常量检查,标准检查,风格检查,比较控制流,选择、激活路径,补充文档等。由此可以看出只有选项 C不在桌上检查的检查项目之中。 【知识模块】 代码检查、走查与评审 6 【正确答案】 B 【知识模块】 代 码检查、走查
13、与评审 7 【正确答案】 A 【试题解析】 检查小组的每个成员都可认为是一个检查人员,检查人员在代码检查的准备阶段和检查会议阶段都具有发现产品错误的责任;协调人主持引导代码检查的执行过程,全面辅助代码检查的效果;开发人员是检查项目的生产者,主要负责提供检查资料和同答检查人员的问题;讲解员在代码检查会议期间讲解检查项目,引导检查小组对产品进行彻底检查。 【知识模块】 代码检查、走查与评审 8 【正确答案】 A 【试题解析】 桌上检查的主要检查项目包括:检查变量的交叉引用表 ,检查标号的交叉引用表,检查子函数、宏、函数,等价性检查,常量检查,标准检查风格检查,比较控制流,选择、激活路径,补充文档。
14、其中风格检查主要是检查在程序设计风格方面发现的问题,包括命名规则、变量说明、程序格式、注释的使用、结构化程序设计、基本控制结构的使用。选项 A中编程标准是属于标准检查的。 【知识模块】 代码检查、走查与评审 9 【正确答案】 B 【试题解析】 桌上检查是一种传统检查方法,由程序员自己检查自己编写的程序。对大多数人而言,桌上检查效率会相当低,其中一个原因是它是一个完全没有约束的过程,另一个原因是它违反了软件测试的原则,即人们一般不能有效地测试自己编写的程序。所以桌上检查最好由其他人而非程序的编写人员来完成,桌上检查的文档是一种过渡性的文档,不是公开的正式文档。代码检查是以小组为单位阅读代码,应用
15、一系列规程和错误检查技术,检查实际的产品 (包括文档和程序代码 ),发现存在错误和缺陷的过程。 【知识模块】 代码检查、走查与评审 10 【正确答案】 D 【试题解析】 对程序代码进行静态分析时,要做两件事:生成各种引用表和进行静态错误分析。其中在源代码编制完成后生成各种引用表是为了支持对源程序进行静态检查。引用表按功能可以分为: 可直接从表中查出说明 /使用错误。如循环层次表、变量交叉引用表、标号交叉引用表等。 为用户提供辅助信息。如子函数 (宏、函数 )引用表、等价 (变量 )表、常数表等。 用来做错误预测和程序复杂度计算。如操作符和操作数的统计表。 【知识模块】 代码检查、走查与评审 1
16、1 【正确答案 】 A 【试题解析】 在源代码编制完成后,为了支持对源程序进行静态检查要生成各种引用表。为用户提供辅助信息的主要有:子函数 (宏、函数 )引用表、等价 (变量 )表、常数表。选项 D的操作符统计表是用来做错误预测和程序复杂度计算的;选项 B和 C可以直接从表中查出说明 /使用错误。 【知识模块】 代码检查、走查与评审 12 【正确答案】 B 【试题解析】 代码检查小组通常规模很小,是由设计、开发、质量等不同部门中工作性质相关的人员中与产品关系密切的那些人组成,一般人数为 4 7人不等。小组人员的角色分配 通常有:协调人员、开发人员、检查人员、讲解员、记录员。其中开发人员是检查项
17、目的生产者,主要负责提供检查项目资料和回答检查人员问题;协调人员主持、引导代码检查的执行过程,全面负责代码检查的效果;讲解员负责在检查会议中讲解检查项目,引导小组对产品进行彻底检查;记录员负责会议期间在检查表上记录发现的每一个错误,同时也承担作为一般检查人员的任务。 【知识模块】 代码检查、走查与评审 13 【正确答案】 B 【知识模块】 代码检查、走查与评审 14 【正确答案】 D 【试题解析】 走查的目的 是要评价一个产品,通常是程序代码,走查一直以来都与代码检查联系在一起,其实走查也可以应用到产品的其他阶段,如结构设计、详细设计、测试计划等文档上。走查的最主要目标是要发现缺陷、遗漏和矛盾
18、的地方,改进产品,考虑可替换的实现方法。 【知识模块】 代码检查、走查与评审 15 【正确答案】 B 【试题解析】 走查 (Walkthrough)是对程序进行模拟,一步步地展示程序如何处理测试数据,其主要目标是发现缺陷、遗漏和矛盾的地方,改进产品,考虑可替换的实现方法。走查是以小组为单位进行的,是一系列规程和 错误检查技术的集合,参加走查小组的人员有限制,通常仅有一人是程序编写者。 【知识模块】 代码检查、走查与评审 16 【正确答案】 D 【试题解析】 走查着重从流程的角度考查程序,借助程序流程图或调用图对数据流和控制流进行静态分析,在调用图中,结点表示程序单元,有向边表示程序单元之间的控
19、制和调用,通过调用图我们可以检查程序中变量的说明和引用、全局变量、参数误用等问题,同时还为动态测试用例的设计提供可靠的依据,注意在调用图中是不能对程序进行修改的。 【知识模块】 代码检查、走查与评审 17 【正确答案】 A 【试题解析】 走查与代码检查都是以小组为单位进行,它是一种走查小组集体扮演计算机角色检查源程序的方法。在走查过程中,参加审查的人员中只有一人是程序编写者,因此程序的主要工作是由其他人而不是程序编写者本人来完成。走查着重于从流程的角度来考查程序借助于程序流程图来进行数据流和控制流的分析 【知识模块】 代码检查、走查与评审 18 【正确答案】 D 【试题解析】 流程图对检测不合
20、法的编码、控制和转移,不恰当的嵌套和重入,以及多入口、多出口的问题非常有用。比流程图更进 一步的是调用图,它用结点表示程序单元,有向边表示程序单元之间的控制和调用,从语义角度而不是从语法角度考查程序的控制路径。调用图可用以检查变量的说明和引用、全局变量、参数误用等问题,并为动态测试用例设计提供可靠的依据。 【知识模块】 代码检查、走查与评审 19 【正确答案】 C 【试题解析】 走查的步骤可以分为:计划走查会议、走查产品、执行走查、解决缺陷、走查记录、产品返工。其中在执行走查阶段,走查小组开会,集体扮演计算机角色,让事先准备好的测试用例沿程序的逻辑运行一遍,随时记录程序的踪迹, 供分析和讨论用
21、。每个测试用例都在人们脑中进行推演,即把测试数据沿程序的逻辑结构走一遍,把程序的状态记录下来以供监视。这样做的优点是: 能在代码中对错误进行精确定位,降低调试成本; 可以发现成批的错误,便于一同得到修正。 【知识模块】 代码检查、走查与评审 20 【正确答案】 C 【知识模块】 代码检查、走查与评审 21 【正确答案】 D 【试题解析】 同行评审是一种通过作者的同行来确定缺陷和需要变更区域的检查方法。在软件开发过程中,管理者、开发人员、客户有时都反对评审,因为他们认为 评审会浪费时间,减缓项目的进度。而实际上,真正造成项目进度缓慢的是各种各样的产品缺陷,评审的重要目的就是在评审中发现产品的缺陷
22、,因此在评审上的投入便可以减少大量的后期返工。通过评审还可将问题记下来,具有历史可追溯性,另外很多事实证明了评审在缩减工作时间的同时还可以节约大量成本。 【知识模块】 代码检查、走查与评审 22 【正确答案】 A 【试题解析】 同行评审的方法很多,基于正式化程度可以分为临时评审、桌上检查、结对评审、走查、小组评审、正式评审 6种,其中走查是一种非正式的评审,但在软件企 业中被广泛使用。走查的方法有两种:一种是使用一些样品数据作为测试用例,一步步地执行模块,几位参与评审的一起检查以确保正确的逻辑和行为;另一种走查是按照脚本执行,通过脚本描述一个具体的任务或场景,用以说明系统如何在交互中完成预定的
23、功能。 【知识模块】 代码检查、走查与评审 23 【正确答案】 A 【试题解析】 桌上检查的文档是一种过渡性的文档,不是公开的正式文档,而同行评审的 “产品 ”可以理解成最终产品的组成部分,同行评审是在软件开发过程中产生一个可交付的文档。产品的例子包括需求文档、设计文档、 软件代码和单元测试产品、用户 /操作手册、支持手册、计划文档和过程文档等。在软件开发过程中,管理者、开发人员、客户有时会反对评审,因为他们认为评审浪费时间,会减缓项目的进度,但实际上,真正造成项目进度缓慢的是各种各样的产品缺陷,同行评审不仅可以缩短工作时间,同时还可以节约大量成本。选项 A(走查以小组为单位进行,是一系列规程
24、和错误检查技术的集合 )的说法完全正确。 【知识模块】 代码检查、走查与评审 24 【正确答案】 B 【知识模块】 代码检查、走查与评审 25 【正确答案】 D 【试 题解析】 管理评审是对项目管理体系的适应性和管理活动的有效性进行评价。在软件生存周期中需要管理,目的是为了能够更好地开发和更快地进展。为此,需要回顾已经过的开发状况,分析总结出软件存在的问题以及改进的措施,这些便是要进行管理评审的原因。 【知识模块】 代码检查、走查与评审 26 【正确答案】 B 【试题解析】 管理评审是对项目管理体系的适应性和管理活动的有效性进行评价。软件管理评审的结果是提交管理评审报告,该报告在一定时间内将成
25、为组织开展各项管理活动的重要依据。这是一个组织在一定时间段内围绕 最高管理者战略性决策开展各项管理、经营活动的重要依据 【知识模块】 代码检查、走查与评审 27 【正确答案】 C 【知识模块】 代码检查、走查与评审 28 【正确答案】 D 【知识模块】 代码检查、走查与评审 29 【正确答案】 A 【试题解析】 技术评审是对产品以及各阶段的输出内容进行评估,技术评审的目的是确保需求说明、设计说明书与用户需求保持一致,并按照计划对软件进行正确地开发。技术评审后,需要以书面的形式对评审结果进行总结,即列出存在的问题、建议措施、责任人等技术 评审报告完成。技术评审报告需要提供以下内容:会议的基本信息
26、;存存的问题和建议措施;评审结论和意见;问题跟踪表格;技术评审问答记录 (通常作为附录出现在报告中 )。 【知识模块】 代码检查、走查与评审 30 【正确答案】 A 【试题解析】 在软件开发过程中,需要评审的文档很多,主要包括需求评审、没计评审、代码评审和质量验证评审。在对这些进行评审时,往往又可以分为格式评审和内容评审。所谓格式评审,是检查文档格式是否符合标准,而内容评审则是从一致性、可测试性等方面进行检查。 【知识模块】 代码 检查、走查与评审 31 【正确答案】 C 【试题解析】 过程评审是对软件开发过程的评审,其评审对象是质量保证流程,而不是针对产品质量或其他形式的工作产出。过程评审的任务是通过对流程的控制,保证 SQA组织定义的软件过程在项目中得到了遵循,同时保证质量保证方针能得到更快更好地执行。 【知识模块】 代码检查、走查与评审 32 【正确答案】 B 【知识模块】 代码检查、走查与评审
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1