软件测试课程复习题.docx
《软件测试课程复习题.docx》由会员分享,可在线阅读,更多相关《软件测试课程复习题.docx(15页珍藏版)》请在冰豆网上搜索。
![软件测试课程复习题.docx](https://file1.bdocx.com/fileroot1/2023-1/2/c1fd726b-7bfe-4a09-b244-06c3f631be1c/c1fd726b-7bfe-4a09-b244-06c3f631be1c1.gif)
软件测试课程复习题
软件测试课程复习题
判断题
1.软件测试是有风险的行为,并非所有的软件缺陷都能够被修复。
(∨)
2.软件质量保证和软件测试是同一层次的概念。
(x)
3.我们有理由相信只要能够设计出尽可能好的测试方案,经过严格测试之后的软件可以没有缺陷。
(x)
4.程序员兼任测试员可以提高工作效率。
(x)
5.在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。
(∨)
6.传统测试是在开发的后期才介入,现在测试活动已经扩展到了整个生命周期。
(∨)
7.传统测试以发现错误为目的,现在测试已经扩展到了错误预防的范畴。
∨
8.软件测试的生命周期包括测试计划、测试设计、测试执行、缺陷跟踪、测试评估。
(∨)
9.调试从一个已知的条件开始,使用预先定义的过程,有预知的结果;测试从一个未知的条件开始,结束的过程不可预计。
(x)
10.白盒测试往往会造成测试用例之间可能存在严重的冗余和未测试的功能漏洞。
(x)
11.在边界值方法中,对于一个有n个变量的函数作最坏情况测试,生成的测试用例个数是7n个。
(x)
12.软件生存周期是从软件开始开发到开发结束的整个时期。
(x)
13.在所有的黑盒测试方法中,基于决策表的测试是最为严格、最具有逻辑性的测试方法。
(∨)
14.永远有缺陷类型会在测试的一个层次上被发现,并且能够在另一个层次上逃避检测。
(∨)
15.测试用例的数目越多,测试的效果越好。
(x)
16.只要能够达到100%的逻辑覆盖率,就可以保证程序的正确性。
(x)
17.单元测试属于动态测试。
(∨)
18.验收测试是以最终用户为主的测试。
(∨)
19.没有发现错误的测试是没有价值的。
(∨)
20.可以把不合格的开发人员安排做测试。
(x)
21.一个程序中所含有的路径数与程序的复杂程度有着直接的关系。
(∨)
22.结构性测试是根据软件的规格说明来设计测试用例。
(x)
23.错误推测法是根据输出对输入的依赖关系来设计测试用例的。
(x)
24.软件缺陷属性包括缺陷标识、缺陷类型、缺陷严重程度、缺陷产生可能性、缺陷优先级、缺陷状态、缺陷起源、缺陷来源、缺陷原因。
(∨)
25.对于一个含有n个变量的程序,采用边界值健壮性测试方法来测试程序会产生6n+1个测试用例。
(∨)
26.数据流测试是主要用作路径测试的真实性检查。
两种形式分别为定义/使用测试、基于程序片的测试。
(∨)
27.软件只要经过严格严谨的内部测试之后,可以做到没有缺陷。
(x)
28.测试用例应由测试输入数据和对应的实际输出结果这两部分组成。
(x)
29.测试是可以穷尽的。
(x)
30.测试自动化是万能的。
(x)
31.软件缺陷可能会被修复,可能会被保留或者标识出来。
(∨)
32.每一个软件项目都有一个最优的测试量。
(∨)
33.黑盒测试往往会造成测试用例之间可能存在严重的冗余和未测试的功能漏洞。
(∨)
34.代码审查工作属于静态测试。
(∨)
35.软件测试是一个过程,包含若干活动,运行软件进行测试只是活动之一。
(∨)
36.回归测试是在软件修改后再次运行以前为查找错误而执行程序曾用过的测试用例.∨
37.集成测试是为确定软件系统是否满足验收标准以及使客户决定是否接受而进行的正式测试. (x)
38.测试按照测试层次可以划分成为单元测试、集成测试和系统测试。
(∨)
39.只要能够达到100%的逻辑覆盖率,就可以保证程序的正确性。
(x)
40.永远有缺陷类型会在测试的一个层次上被发现,并且能够在另一个层次上逃避检测。
(∨)
选择题
1.软件测试按照测试层次可以分为(c)
A.黑盒测试、白盒测试
B.功能性测试和结构性测试
C.单元测试、集成测试和系统测试
D、动态测试和静态测试
2、软件测试是采用(a)执行软件的活动。
A.测试用例
B.输入数据
C.测试环境
D.输入条件
3.软件测试是软件开发过程的重要阶段,是软件质量保证的重要手段,下列哪个(些)是软件测试的任务?
答案:
(d)
1预防软件发生错误2发现程序错误3提供诊断错误信息
A.只有1
B.只有2
C.只有3
D.都是
4、导致软件缺陷的最大原因是:
(a)
A.软件需求说明书B.设计方案
C.编码D.维护
5、测试用例是为达到最佳的测试效果或高效的揭露隐藏的错误而精心设计的少量测试数据,至少应该包括(a)
A、测试输入、执行条件和预期的结果。
B、测试目标、测试工具
C、测试环境D、测试配置
6、对已经发现的错误进行错误定位和确定出错性质,并改正这些错误,同时修改相关的文档,这种行为属于(b)
A.测试B.调试
C.回归测试D.单元测试
7、软件缺陷修复的代价最高的阶段为(a)
A、发布阶段B、需求阶段
C、设计阶段D、编码阶段
8、下列(b)是关于软件缺陷的描述。
A.导致软件包含故障的人的行为
B.产品的异常情况
C.引起一个功能部件不能完成所要求的功能的一种意外情况
D.功能部件执行其规定功能的能力丧失
9、可作为测试停止的标准是(d)
A.当时间用光时
B.执行了所有的测试用例,但没有发现故障
C.当所有缺陷都已经清除时
D.当达到所要求的覆盖时
10、下列描述错误的是(a)
A.软件发布后如果发现质量问题,那是软件测试人员的错
B.穷尽测试实际上在一般情况下是不可行的
C.软件测试自动化不是万能的
D.测试能由非开发人员进行,调试必须由开发人员进行。
11、如下图所示的N-S图,至少需要(b)个测试用例完成逻辑覆盖。
A.15
B.16
C.17
D.18
12、下列(c)方法设计出的测试用例发现程序错误的能力最强。
A.等价类划分法
B.场景法
C.边界值分析法
D.决策表法
13、功能性测试是根据(a)来设计测试用例。
A、软件的规格说明
B、设计文档
C、程序的内部逻辑
D、维护手册
14、在软件修改之后,再次运行以前为发现错误而执行程序曾用过的测试用例,这种测试称之为(c)
A.单元测试
B.集成测试
C.回归测试
D.验收测试
15、(c)方法是根据输出对输入的依赖关系来设计测试用例的。
A.边界值分析B.等价类
C.因果图法D.错误推测法
16、测试工程师的工作范围会包括检视代码、评审开发文档,这属于(b)
A.动态测试B.静态测试
C.黑盒测试D.白盒测试
171811、如果F实现一个程序,输入变量x1和x2的边界、区间分别为:
a≤x1≤d,区间为[a,b],[b,c],[c,d];e≤x2≤g,区间为[e,f],[f,g];则下列_d__图可表示为强健壮等价类测试用例。
A.B.
x2
abcd
g
f
e
x1
abcd
g
f
e
x2
x1
C.D.
abcd
g
f
e
abcd
g
f
e
x1
x2
x2
x1
18、对于一个含有n个变量的程序,采用基本边界值分析法测试程序会产生(c)个测试用例。
A.6n+1B.5n
C、4n+1D.7n
19、以下关于测试用例特征的描述错误的是(b)
A.最有可能抓住错误的;
B.一定会有重复的、多余的;
C.一组相似测试用例中最有效的;
D.既不是太简单,也不是太复杂。
20、(d)是一种关注变量定义赋值点(语句)和引用或使用这些值的点(语句)的结构性测试,主要用作路径测试的真实性检查。
A、基本路径测试B、逻辑覆盖
C、决策表D、数据流测试
21、软件测试的目的:
(c)
A.避免软件开发中出现的错误
B.发现软件开发中出现的错误
C.尽可能发现并排除软件中潜藏的错误,提高软件的可靠性
D.修改软件中出现的错误
22、软件测试是采用(a)执行软件的活动。
A.测试用例
B.输入数据
C.测试环境
D.输入条件
23、导致软件缺陷的最大原因是:
(a)
A.软件需求说明书
B.设计方案
C.编码
D.维护
24、在下列描述中,关于一个软件缺陷状态完整变化的错误描述是(d)
A、打开——修复——关闭
B、打开——关闭
C、打开——保留
D、激活——修复——重新打开
25、在下列描述中,关于测试与调试的说法错误的是(d)
A、测试是显示错误的行为;而调试是推理的过程;
B、测试显示开发人员的错误。
调试是开发人员为自己辩护;
C、测试能预期和可控。
调试需要想象、经验和思考;
D、测试必须在详细设计已经完成的情况下才能开始;没有详细设计的信息调试不可能进行。
26、某次程序调试没有出现预计的结果,下列(b)不可能是导致出错的原因。
A.变量没有初始化B.编写的语句书写格式不规范
C.循环控制出错D.代码输入有误
27、软件缺陷修复的代价最高的阶段为(a)
A、发布阶段B、需求阶段
C、设计阶段D、编码阶段
28、不属于逻辑覆盖方法的是(d)。
A.组合覆盖B.判定覆盖
C.条件覆盖D.接口覆盖
29、(d)是选择若干个测试用例,运行被测程序,使得程序中的每个可执行语句至少执行一次。
A、条件覆盖B、组合覆盖
C、判定覆盖D、语句覆盖
30、(a)是设计足够多的测试用例,使得程序中每个判定包含的每个条件的所有情况(真/假)至少出现一次,并且每个判定本身的判定结果(真/假)也至少出现一次。
A、判定-条件覆盖B、组合覆盖
C、判定覆盖D、条件覆盖
31.软件测试是软件质量保证的重要手段,下述哪种测试是软件测试的最基础环节?
(b)
A.功能测试
B.单元测试
C.结构测试
D.验收测试
32、单元测试的主要任务不包括(b)。
A.出错处理B.全局数据结构
C.独立路径D.模块接口
33、如下图所示的N-S图,至少需要(b)个测试用例完成逻辑覆盖。
A.12B.48
C.27D.18
34、单元测试中用来模拟实现被测模块需调用的其他功能模块的是(b)。
A.驱动模块B.桩模块
C.主控模块D.真实的被调用模块
35、集成测试计划应该在(b)阶段末提交。
A、需求分析B、概要设计
C、详细设计D、单元测试完成
36、下列关于程序效率的描述错误的是(c)。
A.提高程序的执行速度可以提高程序的效率
B.降低程序占用的存储空间可以提高程序的效率
C.源程序的效率与详细设计阶段确定的算法的效率无关
D.好的程序设计可以提高效率
37、下列(b)是对程序流程图进行简化后得到的,它可以更加突出的表示程序控制流的结构,且不包含复合条件。
A.DD-路径图B.控制流图
C.MM-路径图D.模块调用图
38、自底向上增量式集成测试中,下面(c)描述是正确的。
A.测试由桩模块控制
B.最上面的模块最先测试
C.父单元用测试过的子单元测试
D.包含树的深度优先或广度优先遍历过程
39、测试后程序中残存的错误数目与该程序中已发现的错误数目成(d)。
A.未知B.反比
C.相等D.正比
40、针对是否对无效数据进行测试,可以将等价类测试分为(b)
1)标准(一般)等价类测试
2)健壮等价类测试
3)弱等价类测试
4)强等价类测试
A.3)4)B.1)2)
C.1)3)D.2)4)
简答题
1、什么是路径覆盖和逻辑覆盖
2、黑盒测试与白盒测试各有哪些优缺点,应该如何结合才能解决漏洞和冗余问题?
3、画图描述测试层次与传统开发V型瀑布模型的对应
4、请描述环形复杂度的计算方式
设计题
1、场景要求:
”……对功率大于50马力的机器、维修记录不全或已运行10年以上的机器,应给予优先的维修处理……”。
这里假定,“维修记录不全”和“优先维修处理”均已在别处有更严格的定义。
请建立决策表。
(1)确定规则的个数。
(2)列出所有的条件桩和动作桩。
(3)填入条件项。
(4)填入动作项,得到初始决策表。
(5)简化决策表,合并相似规则。
2、根据图中给出的程序流程图,完成以下要求:
(1)画出相应的控制流图。
(2)计算环形复杂度。
(3)给出相应的图矩阵。
(4)找出程序的独立路径集合。
3、用因果图法测试以下程序。
程序的规格说明要求:
输入的第一个字符必须是#或*,第二个字符必须是一个数字,此情况下进行文件的修改;如果第一个字符不是#或*,则给出信息N,如果第二个字符不是数字,则给出信息M。
解题步骤参照如下内容进行:
(1)分析程序的规格说明,列出原因和结果。
(2)找出原因与结果之间的因果关系、原因与原因之间的约束关系,画出因果图。
(3)将因果图转换成决策表。
(4)根据(3)中的决策表,设计测试用例的输入数据和预期输出。
4、某城市电话号码由三部分组成,分别是:
地区码——空白或三位数字;
前缀——非‘0’或‘1’开头的三位数字;
后缀——4位数字。
假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。
要求采用弱健壮等价类方法,即同时考虑有效值和无效值,基于单缺陷假设
(1)首先进行输入条件等价类划分,并编号,写出等价类表
(2)设计测试用例,以便覆盖所有的有效等价类
(3)为每一个无效等价类设计一个测试用例,列出完整的测试用例表。
综合题
1、使用基本路径测试方法,为以下程序段设计测试用例。
(1)画出程序的控制流图。
(2)计算程序的循环复杂度,导出程序基本路径集中的独立路径条数。
(3)导出基本路径集,确定程序的独立路径。
(4)根据(3)中的独立路径,设计测试用例(确保基本路径集中的每一条路径的执行)的输入数据和预期输出。
voidDo(intX,intA,intB)
{
1if((A>1)&&(B=0))
2X=X/A;
3if((A=2)||(X>1))
4X=X+1;
5}
由于控制流图假设的是单条件,因此对于复合条件,可将其分解为多个单个条件,并映射成控制流图。
1:
A>1;2:
B=0;3:
X=X/A;4:
A=2;5:
X>1;6:
X=X+1;7:
}
1.画出控制流图:
如右图所示
计算环形复杂度:
10(条边)-7(个节点)+2=5
导出独立路径(用语句编号表示)
路径1:
1→2→3→4→5→6→7
路径2:
1→4→5→6→7
路径3:
1→2→4→6→7
路径4:
1→2→4→5→7
路径5:
1→2→3→4→5→7
测试用例
用例号
路径
输入数据
ABX
预期输出
X
TC1
1→2→3→4→5→6→7
306
3
TC2
1→4→5→6→7
013
4
TC3
1→2→4→6→7
211
2
TC4
1→2→4→5→7
310
0
TC5
1→2→3→4→5→7
303
1
2、假设现有以下的三角形分类程序。
该程序的功能是,读入代表三角形边长的3个整数,判定它们能否组成三角形。
如果能够,则输出三角形是等边、等腰或任意三角形的分类信息。
图9.11显示了该程序的流程图和程序图。
为以上的三角形分类程序设计一组测试用例。
第一步:
确定测试策略。
在本例中,对被测程序的功能有明确的要求,即:
(1)判断能否组成三角形;
(2)识别等边三角形;
(3)识别等腰三角形;
(4)识别任意三角形。
因此可首先用黑盒法设计测试用例,然后用白盒法验证其完整性,必要时再进行补充。
第二步:
根据本例的实际情况,在黑盒法中首先可用等价分类法划分输入的等价类,然后用边界值分析法和猜错法作补充。
等价分类法:
有效等价类
输入3个正整数:
(1)3数相等
(2)3数中有2个数相等,比如AB相等
(3)3数中有2个数相等,比如BC相等
(4)3数中有2个数相等,比如AC相等
(5)3数均不相等
(6)2数之和不大于第3数,比如最大数是A
(7)2数之和不大于第3数,比如最大数是B
(8)2数之和不大于第3数,比如最大数是C
无效等价类:
(9)含有零数据
(10)含有负整数
(11)少于3个整数
(12)含有非整数
(13)含有非数字符
边界值法:
(14)2数之和等于第3数
猜错法:
(15)输入3个零
(16)输入3个负数
第三步:
提出一组初步的测试用例,如下表所示:
第四步:
用白盒法验证第三步产生的测试用例的充分性。
结果表明,上表中的前8个测试用例,已能满足对被测程序图的完全覆盖,不需要再补充其他的测试用例。