[计算机类试卷]覆盖率(白盒)测试练习试卷1及答案与解析.doc

上传人:registerpick115 文档编号:504885 上传时间:2018-11-29 格式:DOC 页数:9 大小:36KB
下载 相关 举报
[计算机类试卷]覆盖率(白盒)测试练习试卷1及答案与解析.doc_第1页
第1页 / 共9页
[计算机类试卷]覆盖率(白盒)测试练习试卷1及答案与解析.doc_第2页
第2页 / 共9页
[计算机类试卷]覆盖率(白盒)测试练习试卷1及答案与解析.doc_第3页
第3页 / 共9页
[计算机类试卷]覆盖率(白盒)测试练习试卷1及答案与解析.doc_第4页
第4页 / 共9页
[计算机类试卷]覆盖率(白盒)测试练习试卷1及答案与解析.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、覆盖率(白盒)测试练习试卷 1及答案与解析 一、选择题(每小题 2分,共 50分) 下列各题 A、 B、 C、 D四个选项中,只有一个选项是正确的,请将此选项涂写在答题卡相应位置上,答在试卷上不得分。 1 如果程序通过了 100%的代码覆盖率测试,则说明程序满足了 _。 A) 语句覆盖 B) 编程规范 C) 设计规格 D) 功能需求 2 下面有关逻辑覆盖的说法中错误的是 _。 A) DDP覆盖是判定覆盖的一个变体 B) 满足条件覆盖一定也满足判定覆盖 C) 指令块覆盖属于语句覆盖 D) 若判定覆盖 率达到 100%,则语句覆盖率一定也达到 100% 3 设有一段程序如下: if(a=b) an

2、d (c=d) or (e=f) do S1 else if(p=q) or (s=t)do S2 else do S3 满足判定 /条件覆盖的要求下,最少的测试用例数目是 _。 A) 6 B) 8 C) 3 D) 4 4 如果一个判定巾的复合条件表达式为 (A 1)or(B3),则为了达到 100%的条件覆盖率,至少需要设计多少个测试用例 _。 A) 1 B) 2 C) 3 D) 4 5 下列逻辑覆盖测试中,最强的是 _。 A) 语句覆盖 B) 条件覆盖 C) 路径覆盖 D) 条件组合覆盖 6 关于逻辑覆盖,说法错误的是 _。 A) DDP覆盖是判定覆盖的一个变体 B) 满足条件覆盖一定也满

3、足判定覆盖 C) 指令块覆盖属于语句覆盖 D) 若判定覆盖率达 100%,则语句覆盖率一定也是 100% 7 如果程序中有两个判定条件,其复合条件表达式分别为 (a =3) and (b =6)和 (a 0) or (c 2),则为了达到 100%的判定覆盖率,至少需要没计的测试用例个数为_。 A) 1 B) 2 C) 3 D) 4 8 对于一个嵌套型分支结构的程序,若有 4个判定语句则要覆盖它的每一条路径至少需要的测试用例数为 _。 A) 4个 B) 3个 C) 5个 D) 6个 9 对于具有串联型分支结构的程序,若有 4个判定语句,则采用正交实验设计法,至少需要的测试用例数应为 _。 A)

4、 4个 B) 16个 C) 8个 D) 5个 10 数据流覆盖关注的是程序中某个变量从其声明、赋值到引用的变化情况,它是下列 哪一种覆盖的变种 _。 A) 语句覆盖 B) 控制覆盖 C) 分支覆盖 D) 路径覆盖 11 下列属于变量异常的是 _。 A) 变量被定义,但没有被使用 B) 所使用的变量未被定义 C) 变量在使用前被重复定义 D) 以上全部 12 关于数据流测试,说法正确的是 _。 A) 数据流测试是一种路径测试 B) 执行定义结点不会改变变量在存储单元中的内容 C) 执行使用结点会改变变量在存储单元中的内容 D) 定义 /使用路径往往不是存在潜在错误的地方 13 下列语句通常不是作

5、为定 义结点的是 _。 A) 输入语句 B) 输出语句 C) 赋值语句 D) 过程调用语句 14 下列指导选择和使用测试覆盖率的原则中错误的是 _。 A) 覆盖率不是目的,仅是一种手段 B) 不要追求绝对 100%的覆盖率 C) 不可能针对所有的覆盖率指标来选择测试用例 D) 只根据测试覆盖率指标来指导测试用例的设计 二、论述题( 3题,共 50分 ) 论述题答题必须用蓝、黑色钢笔或圆珠笔写在论述题答题纸的相应位置上,否则无效。 15 设计一组测试用例,使该程序所有函数的语句覆盖率尽量达到 100%。如果认为该程序的语句覆盖率无法达到 100%,需说明原因。 16 设计一组测试用例,使该程序所

6、有函数的语句覆盖率和分支覆盖率均能达到100%。如果认为该程序的语句覆盖率或分支率无法达到 100%,需说明为什么 覆盖率(白盒)测试练习试卷 1答案与解析 一、选择题(每小题 2分,共 50分) 下列各题 A、 B、 C、 D四个选项中,只有一个选项是正确的,请将此选项涂写在答题卡相应位置上,答在试卷上不得分。 1 【正确答案】 A 【知识模块】 覆盖率 (白盒 )测试 2 【正确答案】 B 【试题解析 】 条件覆盖是指设计若干个测试用例,运行被测程序,使得程序中每个判定的每个条件的可能取值至少评价一次。而判定覆盖是设计测试用例,使得程序中每个判定的取真分支和取假分支至少评价一次。两者没有必

7、然的联系,故满足条件覆盖的未必会满足判定覆盖,选项 B错误。而满足判定覆盖一定会满足语句覆盖是容易理解的,因为每个判定的取真分支和取假分支都至少评价一次,必然预示着每个可执行语句至少评价了一次,即满足了语句覆盖。另外指令块覆盖是语句覆盖的一个变体,而 DDP覆盖 (判定路径覆盖 )是判定覆盖的一个变体。 【知识模块】 覆盖 率 (白盒 )测试 3 【正确答案】 C 【试题解析】 判定 /条件覆盖,就是设计足够的测试用例,使得判定语句中每个条件的所有可能取值至少评价一次,同时每个判定语句本身所有可能分支也至少评价一次。 本程序一共有两个判定语句,三条路径。 若以 1代表某一个条件为真, 0代表为

8、假,则对于 (a=b)、 (c=d)、 (e=f)、(p=q)、 (s=t)这 5个条件,取不同的真值组合,即可设计出相应的测试用例,达到判定 /条件覆盖的要求。在这里,先取 (a=b)、 (c=d)、 (e=f)为 101, (p=q)、(s=t)为任意值,然后取全部 5个条件为 010 11和 010 00,即能达到判定 /条件覆盖的要求。 【知识模块】 覆盖率 (白盒 )测试 4 【正确答案】 B 【知识模块】 覆盖率 (白盒 )测试 5 【正确答案】 C 【试题解 析】 逻辑覆盖是以程序内部的逻辑结构为基础的设汁测试用例的技术,属于白盒测试。由于覆盖率的不同,又可以分为语句覆盖、判定覆

9、盖、条件覆盖、判定 /条件覆盖、条件组合覆盖和路径覆盖。其中最强的是路径覆盖,即测试用例能够执行程序中所有的路径;最弱的是语句覆盖,即设计的测试用例使得程序中每一可执行语句至少执行一次。 【知识模块】 覆盖率 (白盒 )测试 6 【正确答案】 B 【试题解析】 条件覆盖是指设计若干个测试用例,运行被测程序,使得程序中每个判定的每个条件的可能取值至少评价一次。而判定覆盖是设计测试 用例,使得程序中每个判定的取真分支和取假分支至少评价一次。二者没有必然的联系,故满足条件覆盖的未必会满足判定覆盖,选项 B错误。而满足判定覆盖一定会满足语句覆盖是容易理解的,因为每个判定的取真分支和取假分支都至少评价一

10、次必然预示着每个可执行语句至少评价了一次,即满足了语句覆盖。另外指令块覆盖是语句覆盖的一个变体而 DDP覆盖 (判定路径覆盖 )是判定覆盖的一个变体。 【知识模块】 覆盖率 (白盒 )测试 7 【正确答案】 B 【试题解析】 判定覆盖的定义:设计若干测试用例,运行被测程序,使得程序中每 个判定的取真分支和取假分支至少评价一次。针对该题取 a=3、 b=5、 c=1和 a=-1、 b=5、 c=3两组测试用例即可达到 100%的判定覆盖率,故本题选择 B。 【知识模块】 覆盖率 (白盒 )测试 8 【正确答案】 C 【试题解析】 程序中判定多于一个时,形成的分支结构可以分为两类:一类是嵌套型的分

11、支结构,另一类是串联型的分支结构。对于嵌套型的分支结构,若有 n个判定语句,则将会存在 n+1条不同的测试路径,故至少需要设计 n+1个测试用例方可覆盖每一条路径。对于本题为 n=4的情况,故至少需要设计 4+1=5个测试用例来分别覆盖 5条不同的测试路径。 【知识模块】 覆盖率 (白盒 )测试 9 【正确答案】 C 【知识模块】 覆盖率 (白盒 )测试 10 【正确答案】 D 【知识模块】 覆盖率 (白盒 )测试 11 【正确答案】 D 【试题解析】 数据流测试是路径测试的一种,它主要关注一条路径上变量在何时定义、何时使用,通过变量的定义和使用异常来检查程序错误。通常将变量异常分为三类: 第

12、一类定义与使用异常 变量被定义,但没有被使用; 第二类定义与使用异常 所使用的变量未被定 义; 第三类定义与使用异常 变量在使用前被重复定义。 【知识模块】 覆盖率 (白盒 )测试 12 【正确答案】 A 【试题解析】 数据流测试主要关注一条路径上变量在何时定义 (赋值 ),何时使用(引用 ),通过变量的定义和使用异常来检查程序错误,数据流测试可以看成是路径测试的一种,故选项 A正确。执行定义结点就会改变变量在存储单元中的内容,而执行使用结点往往不会改变变量在存储单元中的内容,故选项 B和选项 C说法颠倒。定义 /使用路径与定义 /清除路径描述了数据流,它在源程序中从定义变量值的结点流到使用

13、该变量值的结点。定义 /使用路径往往是存在潜在错误的地方。 【知识模块】 覆盖率 (白盒 )测试 13 【正确答案】 B 【知识模块】 覆盖率 (白盒 )测试 14 【正确答案】 D 【试题解析】 在选择和使用覆盖率时,应该注意以下原则: 覆盖率只是一种手段,不是测试的最终目的。 不可能针对所有的覆盖率进行测试,但如果只考虑一种覆盖率也是不妥的 不要追求绝对 100%的覆盖率 设计测试用例时,不仅要考虑到覆盖率,还应综合考虑其他方面,如成本等。 根据以上原 则, A、 B、 C三个选项的说法均正确,而 D说法不当,覆盖率不是唯一的参考指标。 【知识模块】 覆盖率 (白盒 )测试 二、论述题(

14、3题,共 50分 ) 论述题答题必须用蓝、黑色钢笔或圆珠笔写在论述题答题纸的相应位置上,否则无效。 15 【正确答案】 设计测试用例时,关键需要注意将 t的值达到 Max,即起码要输入 4个 name才行,这样当 t=Max才能为真,才可以执行相应的分支语句。 具体输入如下: 输入 4个 name: 1 小明 凤凰街 南京 210000 1 小红 南京路 上海 120000 1 王明 达成路 上海 120000 1 李明 南京路 北京 100000 打算输入第五个: 1 删除一个 name: 2 小明 列出所有: 3 退出: 4 这样,程序中每一条语句都能够被执行。 上述测试用例能够使每条语句均执行,故语句覆盖率能够达到 100%。 【知识模块】 覆盖率 (白盒 )测试 16 【正确答案】 设计测试用例: 输入 0,输出 0 输入 2,输出 2 输入 26,输出 1A 输入 27,输出 1B 输入 28,输出 1C 输入 29,输出 1D 输入 30,输出 1E 输入 31,输出 1F 输入 20P,输出错误 语句覆盖率无法达到 100%,因为 main()函数中的 return 0语句永远无法执行 【知识模块】 覆盖率 (白盒 )测试

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1