软件测试技术试题及答案A卷
单项选择题(每小题2分,满分30分)1.软件测试的目的:()
A.避免软件开发中出现的错误
B.发现软件开发中出现的错误
C.尽可能发现并排除软件中潜藏的错误,提高软件的可靠性
D.修改软件中出现的错误
2、软件测试是采用()执行软件的活动。
A.测试用例B.输入数据C.测试环境D.输入条件
3、导致软件缺陷的最大原因是:()
A.软件需求说明书B.设计方案C.编码D.维护
4、在下列描述中,关于一个软件缺陷状态完整变化的错误描述是()
A、打开——修复——关闭B、打开——关闭
C、打开——保留D、激活——修复——重新打开
5、在下列描述中,关于测试与调试的说法错误的是()
A、测试是显示错误的行为;而调试是推理的过程;
B、测试显示开发人员的错误。调试是开发人员为自己辩护;
C、测试能预期和可控。调试需要想象、经验和思考;
D、测试必须在详细设计已经完成的情况下才能开始;没有详细设计的信息调试不可能进行。
6、某次程序调试没有出现预计的结果,下列()不可能是导致出错的原因。A.变量没有初始化B.编写的语句书写格式不规范C.循环控制出错D.代码输入有误
7、软件缺陷修复的代价最高的阶段为()
A、发布阶段B、需求阶段C、设计阶段D、编码阶段
8、不属于逻辑覆盖方法的是()。
A.组合覆盖B.判定覆盖C.条件覆盖D.接口覆盖
9、()是选择若干个测试用例,运行被测程序,使得程序中的每个可执行语句至少执行一次。
A、条件覆盖B、组合覆盖C、判定覆盖D、语句覆盖
10、()是设计足够多的测试用例,使得程序中每个判定包含的每个条件的所有情况(真/假)至少出现一次,并且每个判定本身的判定结果(真/假)也至少出现一次。
A、判定-条件覆盖B、组合覆盖C、判定覆盖D、条件覆盖
11.软件测试是软件质量保证的重要手段,下述哪种测试是软件测试的最基础环节?()
A.功能测试B.单元测试C.结构测试D.验收测试
12、单元测试的主要任务不包括()。
A.出错处理B.全局数据结构C.独立路径D.模块接口
13、自底向上增量式集成测试中,下面()描述是正确的。
A.测试由桩模块控制B.最上面的模块最先测试
C.父单元用测试过的子单元测试D.包含树的深度优先或广度优先遍历过程
14、单元测试中用来模拟实现被测模块需调用的其他功能模块的是()。
A.驱动模块B.桩模块C.主控模块D.真实的被调用模块
15、集成测试计划应该在()阶段末提交。
A、需求分析B、概要设计C、详细设计D、单元测试完成
二、判断题(每题2分,满分20分)
1、一个程序中所含有的路径数与程序的复杂程度有着直接的关系。()
2、结构性测试是根据软件的规格说明来设计测试用例。()
3、错误推测法是根据输出对输入的依赖关系来设计测试用例的。()
4、软件缺陷属性包括缺陷标识、缺陷类型、缺陷严重程度、缺陷产生可能性、缺陷优先级、缺陷状态、缺陷起源、缺陷来源、缺陷原因。()
5、对于一个含有n个变量的程序,采用边界值健壮性测试方法来测试程序会产生6n+1个测试用例。)
6、数据流测试是主要用作路径测试的真实性检查。两种形式分别为定义/使用测试、基于程序片的测试。)
7、软件只要经过严格严谨的内部测试之后,可以做到没有缺陷。()
8、测试用例应由测试输入数据和对应的实际输出结果这两部分组成。()
9、测试是可以穷尽的。()
10、测试自动化是万能的。()
三、简答题:(1、2小题每题5分,3、4小题每题10分满分30分。)
1、优秀的软件测试工程师应具备哪些素质?
2、有二元函数f(x,y),其中x∈[1,12],y∈[1,31];请写出该函数采用基本边界值分析法设计的测试用例。
3、黑盒测试与白盒测试各有哪些优缺点,应该如何结合
4、有一段程序如下,请设计测试用例以满足语句覆盖要求。
voidDoWork(intx,inty,intz)
{
intk=0,j=0;
if((x3)(z10))
{k=x*y-1;
j=sqrt(k);
}//语句块1
if((x==4)
(y5))
{j=x*y+10;}//语句块2
j=j%3;//语句块3
}
四、综合题(满分20分。)
1、使用基本路径测试方法,为以下程序段设计测试用例。
(1)画出程序的控制流图,编号已经给出。
(2)计算程序的循环复杂度,导出程序基本路径集中的独立路径条数。
(3)导出基本路径集,确定程序的独立路径。
(4)根据(3)中的独立路径,设计测试用例(确保基本路径集中的每一条路径的执行)的输入数据和预期输出。
voidDo(intX,intA,intB)
{
1if((A1)(B=0))
2X=X/A;
3if((A=2)
(X1))
4X=X+1;
5}
由于控制流图假设的是单条件,因此对于复合条件,可将其分解为多个单个条件,并映射成控制流图。
1:A1;2:B=0;3:X=X/A;4:A=2;5:X1;6:X=X+1;7:}
软件测试技术试题A答案
单选题(15×2=30分)
判断题(2×10=20分)
简答题(30分)1.答:具有探索精神、具有良好的计算机编程基础、故障排除能手、坚持不懈的精神、具有创新精神和超前意识、追求完美、判断准确、具有整体观念,对细节敏感、团队合作精神,沟通能力。
具有良好的计算机编程基础,有一定的软件开发经验;有逆向思维的能力善于同软件开发人员沟通;善于同领导沟通掌握一些自动化测试工具;善于学习的能力提高自己的表达能力;了解业务知识具有探索精神;故障排除能手坚持不懈的精神;具有创新精神和超前意识追求完美;判断准确;具有整体观念,对细节敏感;团队合作精神2.答:{1,15,2,15,11,15,12,15,6,15,
6,1,6,2,6,30,6,31}
3.答:功能性测试具有两大优点:功能性测试与软件如何实现无关;测试用例开发可以与实现并行进行,因此可以压缩总的项目开发时间。缺点:测试用例之间可能存在严重的冗余,还会有位测试的软件漏洞。结构性测试局限于已经完成的代码行为当中,离代码太近。因此可以结构性测试指标去解决冗余和漏洞问题。如果发现同一条程序路径被多个功能性测试用例遍历,就可以怀疑这种冗余不会发生新的缺陷,如果没有达到一定的DD—路径覆盖,则可知在功能性测试用力中存在漏洞。因此路径测试可以提供作为功能性测试交叉检查的一组指标。
4.答:要实现DoWork函数的语句覆盖,只需设计一个测试用例就可以覆盖程序中的所有可执行语句。
测试用例输入为:{x=4、y=5、z=5}综合题(20分)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
测试用例