软件测试技术试题集42755文档格式.docx
《软件测试技术试题集42755文档格式.docx》由会员分享,可在线阅读,更多相关《软件测试技术试题集42755文档格式.docx(8页珍藏版)》请在冰豆网上搜索。
4.有人认为程序如果可以做到穷举路径测试,就可以保证程序中再也没有缺陷,请判断以上描述是否正确,并给出相应的解释。
5.你认为一个优秀的测试工程师应该具备哪些基本素质和专业素质?
1.1、用户需求和说明书没有被很好的理解 分析人员不能100%理解用户需求,写作水平不高2、软件设计的不合理 设计人员不能100%理解需求文档,设计水平不高3、代码(算法,流程)存在错误 编码人员不能100%理解设计文档,编码水平不高 2.软件未达到软件产品需求说明书指明的要求。
软件出现了软件产品需求说明书指明不会出现的错误。
软件功能超出软件产品需求说明书指明的范围。
软件未达到软件产品需求说明书虽未指明但应达到的要求。
软件测试人员认为难以理解、不易使用、运行速度缓慢、或者最终用户认为不好 的 问题。
3.测试的主要工作是找缺陷,发现软件的错误(是否满足用户需求),确定程序中可疑错误的原因和确切位置,对程序(设计或编号)进行修改,排除错误贯穿整个软件生命周期。
调试的目的是解决代码中的缺陷。
4.不正确,穷举路径测试可以使代码达到100%的覆盖,但是不能查出程序违反了设计要求或用户需求。
穷举测试不能查出遗漏路径错误和与数据相关的异常错误。
5.基本素质?
对软件感兴趣?
好奇心 ?
自信、执着、追求完美、团队合作、勾通?
叛逆精神?
追求完美?
洞察力专业素质?
业务知识 ?
产品设计知识?
软件架构知识?
UML ?
各种测试工具?
用户心理学?
文字表达能力 五.应用题 解答:
第二章软件测试概述 一.判断题 1.软件测试就是对程序进行测试。
2.当软件代码开发结束时,软件测试过程才开始。
3.对发现错误较多的程序段,应进行更深入的测试。
4.发现错误多的程序模块,残留在模块中的错误也多。
5.如果发布出去的软件有质量问题,都是软件测试人员的错。
6.测试部门负责软件质量。
7.软件测试的目的是尽可能多的找出软件的缺陷。
8.开发一个软件系统时,要考虑所有的软件质量要素。
9.测试用例越多,测试效果就会越好。
10.产品规格说明书和文档的谬误不属于软件缺陷。
11.没有质量度量,等于没有质量标准。
12.在软件编码过程中产生的缺陷数量相对软件开发的其它过程多得多。
13.软件测试能保证软件质量。
14.软件测试不用考虑软件的可扩展性。
15.软件的质量越高越好,所以我们必须保证软件零缺陷才能交付。
16.如果黑客为非法入侵花费的代价高于得到的好处,那么这样的系统可以认为是安全的。
17.软件的可靠性可以通过软件测试发现并解决。
18.好的测试用例集可以花费最小的代价做最好的测试。
解答:
1.错 2.错 3.对
2.现有控制流图如下
(1)根据节点覆盖准则,给出测试路径
(2)根据边覆盖准则,给出测试路径(3)根据边对覆盖准则,给出测试路径 3.写出下图的所有简单路径和主路径 4.根据控制流图,回答以下问题。
(1)根据边覆盖准则,找出所有的测试路径
(2)根据边对覆盖准则,找出所有的测试路径(3)根据主路径覆盖准则,找出所有的测试路径 5.简述什么是所有定义覆盖、所有使用覆盖、所有du路径覆盖,并根据下图写出变量X的所 有定义覆盖、所有使用覆盖、所有du路径覆盖 6.根据源代码,完成以下问题。
一个计算三个数中最大数的程序main() {intnum1,num2,num3,max;
printf(\scanf(\if(num1>
num2) max=num1;
else max=num2;
if(num3>
MAX) max=num3;
printf(\}
(1)给出对应的流程图
(2)计算控制流图复杂度V(G) (3)写出所有的独立路径,并设计测试用例 7.根据源代码请回答以下问题。
voidsort(intNum,intType){ intx=0;
inty=0;
while(Num>
0){ if(Type==0) x=y+2;
else{ if(Type==1) x=y+5;
else x=y+10;
} Num--;
}}
(1)请画出控制流图并计算控制流图复杂度V。
(2)找出独立路径。
(3)请使用基本路径测试法设计测试用例。
(4)根据控制流图,找出变量x和y的DUpath 8.根据控制流图,回答以下问题
(1)根据边覆盖准则,找出所有的测试路径
(2)根据边对覆盖准则,找出所有的测试路径(3)根据主路径覆盖准则,找出所有的测试路径 9.在三角形计算中,要求三角型的三个边长:
A、B和C。
当三边不可能构成三角形时提示错误,可构成三角形时计算三角形周长。
若是等腰三角形,显示“等腰三角形”,若是等边三角形,则显示“等边三角形”。
(15分)
(1)写出程序伪代码,画出控制流程图
(2)计算圈复杂度V(g)(3)找出基本测试路径 10.以下代码用于判断闰年,C语言书写。
其对应的控制流图如下图所示。
请按要求回答问题。
intisLeap(intyear){ intleap;
if(year%4==0){if(year%100==0){ if(year%400==0)leap=1;
elseleap=0;
}elseleap=1;
}else leap=0;
returnleap;
}
(1)请画出控制流图,并计算圈复杂度V。
(2)找出独立路径。
1.1、语句覆盖 满足语句覆盖的情况是:
执行路径:
ace选择用例:
[(2,0,4),(2,0,3)] 2、判定覆盖 覆盖情况:
共有两个判定,应执行路径:
ace∧abd或:
acd∧abe选择用例 [(2,0,4),(2,0,3)]ace [(1,1,1),(1,1,1)]abd 3、条件覆盖 应满足以下覆盖情况:
判定一:
A>
1,A≤1,B=0,B≠0 判定二:
A=2,A≠2,X>
1,X≤1选择用例:
[(2,0,4),(2,0,3)] [(1,1,1),(1,1,1)] 4、判定/条件覆盖 应满足以下覆盖情况:
条件:
1,A≤1,B=0,B≠0 A=2,A≠2,X>
1,X≤1应执行路径 ace∧abd或acd∧abe选择用例:
[(2,0,4),(2,0,3)](ace)[(1,1,1),(1,1,1)](abd) 2.
(1)测试路径:
[0,1,2,3,6][0,1,2,4,5,4,6]
(2)测试路径:
[0,1,2,3,6][0,2,4,5,4,6] (3)测试路径:
[0,1,2,3,6][0,1,2,4,6][0,2,3,6][0,2,4,5,4,5,4,6] 3.简单路径:
[0,1,3,0],[0,2,3,0],[1,3,0,1],[2,3,0,2],[3,0,1,3],[3,0,2,3],[1,3,0,2],[2,3,0,1],[0,1,3],[0,2,3],[1,3,0],[2,3,0],[3,0,1],[3,0,2],[0,1],[0,2],[1,3 ],[2,3],[3,0],[0],[1],[2],[3]主路径:
[0,1,3,0],[0,2,3,0],[1,3,0,1],[2,3,0,2],[3,0,1,3],[3,0,2,3],[1,3,0,2],[2,3,0,1] 4.边覆盖[0,1,2,3,6][0,2,4,5,4,6] 边对覆盖 [0,1,2,3,6][0,2,3,6][0,2,4,6][0,1,2,4,5,4,5,4,6]主路径[0,1,2,3,6][0,1,2,4,5][0,1,2,4,6][0,2,3,6] [0,2,4,5][0,2,4,6][5,4,6][4,5,4][5,4,5] 5.所有定义覆盖:
对于所有的变量,测试用例集T可以至少到达所有定义所有使用覆盖:
对于所有的变量,测试用例集T可以到达所有使用 所有du路径覆盖:
对于所有的变量,测试用例集T可以访问所有定义-使用路径所有定义覆盖:
[0,1,3,4] 所有使用覆盖:
[0,1,3,4][0,1,3,5] 所有du路径覆盖:
[0,1,3,4][0,2,3,4][0,1,3,5][0,2,3,5]
6. V=3独立路径1->
2->
3->
5->
71->
2>
6->
4->
7设计用例 7. V(G)=4
(2)找出独立路径。
1-7 1-2-3-7 1-2-4-5-7 1-2-4-6-7 (3)请使用基本路径测试法设计测试用例。
Num=1 Num=1,type=0 Num=1,type=1 Num=1,type=2 (4)根据控制流图,找出变量x和y的DUpath X无DUpath Y的DUpath 1-2-3-7 1-2-4-5-7 1-2-4-6-7 8.边覆盖[1,2,3,4,5,6,7,6,8]边对覆盖 [1,2,3,4,3,4,3,5,6,7,6,7,6,8][1,2,3,5,6,8]主路径覆盖[1,2,3,4,3,4,3,5,6,7,6,7,6,8][1,2,3,4,3,5,6,8][1,2,3,5,6,7,6,8][1,2,3,5,6,8] 9.publicStringcheck(inta,intb,intc){ Stringstr=\ if(a+b>
c&
&
a-b if((a==b&
a!
=c)||(a==c&
=b)||(b==c&
=b)){ str=\可构成等腰三角形\ } if((a==b)&
(a==c)&
(c==b)){ str=\可构成等边三角形\ } else{ str=\可构成三角形\ } } returnstr;
} V=3基本路径 1->
7 10. V=4 独立路径 1->
10->
11->
12 1->
7->
9->
12 第四章黑盒测试 1->
8->
121->
12 一.判断题 1.黑盒测试也称为功能测试。
2.在实际的软件项目测试中,穷举测试是不可能的。
3.测试用例不应该包含实际的数据。
4.测试用例中不需要明显的验证手段。
5.自底向上集成需要测试员编写驱动程序。
6.因为大量的故障往往发生在输入定义域或输出值域的边界上,而不是在其内部,所以人们使用边界值法进行测试。
7.系统测试不包括性能测试。
8.错误推测法生成的测试用例可以通过其它黑盒测试法获得,所以在有充足时间的时候,没有必要采用错误推测法。
9.白盒法设计测试用例更详细,更完全,所以在有充足时间的时候,没有必要采用黑盒测试法。
10.黑盒法设计测试用例的强度从小到大为:
边界值法、等价类法、决策表法,所以绝大部分时候只需要采用决策表法,而不需要采用边界值法和等价类法。
1.对 2.对 3.错 4.错 5.对6.对7.错8.错 9.错 10.错 二.填空题 1.依赖测试人员的经验和领域知识生成测试用例的方法,称之为____________________。
2.假设存在两个输入变量,每个变量取5个点,采用边界值分析法至少产生_____________个测试用例。
3.假设存在两个输入变量,采用边界值最坏情况分析法至少产生_____________个测试用例。
4.假设存在两个输入变量,采用边界值健壮最坏情况分析法至少产生_____________个测试用例。
5.正交表测试解决了__________________________________________________问题 6.正交表的构成元素包括__________________、_________________和_______________。
7.均匀表测试解决了_______________________________________________________问题。
8.等价类测试法将数据划分为______________________和__________________________。
9.在输入条件规定了取值范围或值的个数的情况下,则可以确立_______个有效等价类和_______个无效等价类。
10.在规定了输入数据的一组值,并且程序要对每一个输入值分别处理的情况下,可确立________个有效等价类和_________个无效等价类。
1.错误推测法2.9个3.25个4.49个 5.从大量的数据中挑选适量的、有代表性的数据 6.行数、水平数、因素数 7.从大量的数据中均匀的挑选适量的、有代表性的数据
8.有效等价类、无效等价类 9.1、2 10.N、1 三.名词解释1.黑盒测试 2.灰盒测试 3.有效等价类 4.无效等价类 5.弱一般等价类覆盖准则 6.强一般等价类覆盖准则 7.弱健壮等价类覆盖准则 8.强健壮等价类覆盖准则 9.决策表测试 10.正交表测试 解答:
1.不考虑源代码,从需求角度验证模块的正确性。
2.介于白盒测试与黑盒测试之间的测试,既关注输出对于输入的正确性,也关注内部表现,但这种关注不象白盒那样详细、完整,只是通过一些表征性的现象、事件、标志来判断内部的运行状态。
3.对于程序的规格说明,是合理的、有意义的输入数据构成的集合。
4.对于程序的规格说明,是不合理的、没有意义的输入数据构成的集合。
5.存在一个测试用例集T,其中变量的有效子集合至少出现一次 6.存在一个测试用例集T,所有变量的有效子集合的笛卡尔乘积 7.存在一个测试用例集T,对于有效输入,变量的有效子集合至少出现一次。
对于无效输入,一个变量值无效,其它值都有效 8.存在一个测试用例集T,所有变量有效子集合和无效子集合的笛卡尔乘积 9.通过描述多个输入对输出的影响而生成测试用例的方法。
10.根据正交试验设计方法,是从大量的数据中挑选适量的、有代表性的点,从而合理地安排测试方法。
四.简答题 1.简述黑盒测试的优点及缺点。
2.简述正交表测试与均匀表测试的区别。
3.简述Alpha测试与beta的区别。
4.为什么要使用决策表,决策表有什么优缺点。
5.简述性能测试指标有哪些,各有什么作用。
1.优点:
1)比较简单,不需要了解程序内部的代码及实现;
2)与软件的内部实现无关;
3)从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;
4)基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;
5)在做软件自动化测试时较为方便。
缺点:
不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%;
2.正交测试是从大量的数据中挑选适量的、有代表性的点,从而合理地安排测试的一种科学的试验设计方法,具有试验次数少、试验点分布均匀、测试结果易于分析的特点。
均匀表测试在正交表的基础上放弃正交表的整齐可比性,进一步提高试验点的“均匀分散性”。
与正交试验相比,进一步减少了试验的次数。
3.Alpha测试在系统开发接近完成时对应用系统的测试;
测试后仍然会有少量的设计变更。
这种测试一般最终用户或其它人员完成,不能程序或测试员完成。
Beta测试当开发和测试根本完成时所做的测试,最终的错误和问题需要在最终发行前找 到。
这种测试一般最终用户或其它人员完成,不能程序员或测试员完成。
4.当输入条件之间的组合对输出结果具有影响。
可以使用决策表解决。
优点:
它能把复杂的问题按各种可能的情况一一列举出来,简明而易于理解,也可避免遗漏。
不能表达重复执行的动作,例如循环结构 5.最佳并发用户数:
体现系统最佳的用户负载最大并发用户数:
体现最大的用户负载吞吐量(TPS):
单位时间内处理的客户端请求数量,体现处理的容量响应时间:
服务器对每个应用请求的处理时间,体现处理的速度 资源利用率:
体现系统资源的使用程度 五.应用题1.问题如下:
”?
?
对功率大于50马力的机器、维修记录不全或已运行10年以上的机器,应给予优先的维修处理?
”。
这里假定,“维修记录不全”和“优先维修处理”均已在别处有更严格的定义。
请用因果图或决策表进行分析,并给出测试用例。
2.某保险公司的人寿保险的保费计算方式为:
投保额×
保险费率 其中,保险费率依点数不同而有别,10点及10点以上保险费率为%,10点以下保 险费率为%;
而点数又是投保人的年龄和抚养人数来决定,具体规则如下:
针对保费,用等价类方法和边界值法设计测试用例要求:
给出弱一般等价类、强一般等价类法的测试用例 写出弱健壮和强健壮法设计的测试用例的个数 3.某公司的折扣政策:
年交易额在10万元以下,无折扣;
在10万元以上并且近三个月无欠 款,折扣率10%;
在10万元以上,虽三个月有欠款,但与公司交易10年以上,折扣率8%;
在10 万元以上,虽三个月有欠款,与公司交易10年以下,折扣率5%,否则无折扣,请用决策表(判 定表)设计测试用例。
4.某城市电话号码三部分组成,分别是:
地区码——空白或3位数字;
前缀——为三位数字,但不能“0”,“1”