选择题
1.在下面说列举的逻辑测试覆盖中,测试覆盖最强的是 。
A.条件覆盖 B.条件组合覆盖 C.语句覆盖 D.判定/条件覆盖
(B)1.在下面说列举的逻辑测试覆盖中,测试覆盖最弱的是 。 A.条件覆盖 B.条件组合覆盖 C.语句覆盖 D.判定/条件覆盖
(B)2.对下面的个人所得税程序中,满足判定覆盖测试用例的是 。
if (income < 800) tarrate = 0 ;
else if (income <= 1500) tarrate = 0.05 ; else if (income < 2000) tarrate = 0.08 ; else tarrate = 0.1 ;
A.income = (799, 1500, 1999, 2001) B.income = (799, 1501, 2000, 2001) C.income = (800, 1500, 2000, 2001) D.income = (800, 1499, 2000, 2001)
2.对下面的个人所得税程序中,满足语句覆盖测试用例的是 。
if (income < 800) tarrate = 0 ;
else if (income <= 1500) tarrate = 0.05 ; else if (income < 2000) tarrate = 0.08 ; else tarrate = 0.1 ;
A.income = (800, 1500, 2000, 2001) B.income = (800, 801, 1999, 2000) C.income = (799, 1499, 2000, 2001) D.income = (799, 1500, 1999, 2000)
(B)3.在设计测试用例时, 是用得最多的一种黑盒测试方法。 A.等价类测试 B.边界值测试 C.因果图测试 D.决策表测试
(B)4. 阅读下面流程图
图1
当使用判定覆盖法进行测试时,至少需要设计 个测试用例。 A.2 B. 4 C. 6 D. 8
(B)5. 软件测试的目的是 。
A.表明软件的正确性 B.评价软件质量 C.尽可能发现软件中的错误 D.判定软件是否合格
6. 用边界值测试法,假定X为整数,10≤X≤100,那么X在测试中应该取 边界值。
A.X=10,X=100 B. X=9,X=10,X=100,X=101 C.X=10,X=11,X=99,X=100 D. X=9,X=10,X=50,X=100
(B)7. 在某大学学籍管理信息系统中,假设学生年龄的输入范围为16~40,则根据黑盒测试中的等价类划分技术,下面划分正确的是 。 A.可划分为2个有效等价类,2个无效等价类 B.可划分为1个有效等价类,2个无效等价类 C.可划分为2个有效等价类,1个无效等价类 D.可划分为1个有效等价类,1个无效等价类
(B)8. 下面关于软件测试的说法, 是错误的。 A.软件测试是程序测试
B.软件测试贯穿于软件定义和开发的整个期间
C.需求规格说明、设计规格说明都是软件测试的对象 D.程序是软件测试的对象
9. 关于白盒测试与黑盒测试的最主要区别,正确的是 。 A.白盒测试侧重于程序结构,黑盒测试侧重于功能 B.白盒测试可以使用测试工具,黑盒测试不能使用工具 C.白盒测试需要程序员参与,黑盒测试不需要 D.黑盒测试比白盒测试应用更广泛
(B)10. 以下各项中, 属于需求说明书的评测内容。 ①系统定义的目标是否与用户的要求一致 ②设计的约束条件或条件是否符合实际 ③是否考虑过软件需求的其他方案
④软件的行为与它必须处理的信息、必须完成的功能是否一致 A.①、②、④ B. ①、③、④ C.②、③、④ D. ①、②、③、④
(B)11. 以下图2所示控制流程图(程序图)的环复杂度V(G)等于 。
A.4 B. 5 C. 6 D. 1
图2 图3
12. 以上图3所示程序控制流程图(程序图)中有 条线性无关(即相互)的基本路径。
A.1 B. 2 C. 3 D. 4
(B)13. 关于软件测试对软件质量的意义,有以下观点:
①度量与评估软件的质量; ②保证软件质量; ③改进软件开发过程; ④发现软件错误。 其中正确的是 。
A.①、②、③ B.①、②、④ C.①、③、④ D.①、②、③、④
(B)14. 软件质量的定义是 。
A.软件的功能性、可靠性、易用性、效率、可维护性、可移植性 B.满足规定用户需求的能力 C.最大限度达到用户满意
D.软件特性的总和,以及满足规定和潜在用户需求的能力
(B)15. 某软件公司在招聘软件评测师时,应聘者甲向公司做如下保证: ①经过自己测试的软件今后不会再出现问题; ②在工作中对所有程序员一视同仁,不会因为在某个程序员编写的程序中发现的问题多,就重点审查该程序,以免不利于团结;
③承诺不需要其他人员,自己就可以进行测试工作;
④发扬咬定青山不放松的精神,不把所有问题都找出来,决不罢休; 你认为应聘者甲的保证 。
A.①、④是正确的 B.②是正确的 C.都是正确的 D.都不正确
(B)16. 软件测试的对象包括 。
A.目标程序和相关文档 B.源程序、目标程序、数据及相关文档 C.目标程序、操作系统和平台软件 D.源程序和目标程序
17. 软件测试类型按开发阶段划分是 。 A.需求测试、单元测试、集成测试、验证测试
B.单元测试、集成测试、确认测试、系统测试、验收测试 C.单元测试、集成测试、验证测试、确认测试、验收测试 D.调试、单元测试、集成测试、用户测试
(B)18. 黑盒测试是通过软件的外部表现来发现软件缺陷和错误的测试方法,具体地说,黑盒测试用例设计技术包括 等。
A.等价类划分法、因果图法、边界值分析法、错误推测法、决策表法 B.等价类划分法、因果图法、路径覆盖法、正交试验法、符号法 C.等价类划分法、因果图法、边界值分析法、功能图法、基本路径法 D.等价类划分法、因果图法、边界值分析法、条件组合覆盖法、场景法
(B)19. 条件组合覆盖是一种逻辑覆盖,它的含义是设计足够的测试用例,使得每个判员
中条件的各种可能组合都至少出现一次,满足条件组合覆盖级别的测试用例也是满足 级别的。
A.语句覆盖、判定覆盖、条件覆盖、判定条件覆盖
B.判定覆盖、条件覆盖、判定条件覆盖、修正判定条件覆盖 C.语句覆盖、判定覆盖、判定条件覆盖、修正判定条件覆盖 D.路径覆盖、判定覆盖、条件覆盖、判定条件覆盖
20. 典型的软件测试过程模型有 等。 A.V模型、W模型、H模型、迭代模型 B.V模型、W模型、H模型、螺旋模型 C.X模型、W模型、H模型、V模型 D.X模型、W模型、H模型、增量模型
(B)21. 方法根据输出对输入的依赖关系设计测试用例。 A.路径测试 B.等价类 C.因果图 D.边界值
(B)22. 逻辑路径覆盖法是白盒测试用例的重要设计方法,其中语句覆盖法是较为常用的方法,针对下面的语句段,采用语句覆盖法完成测试用例设计,测试用例见下表,对表中的空缺项(True或者False),正确的选择是 。 语句段:
if(A&&(B||C)) x=1;
else x=0; 用例表: A B C 用例1 TRUE ① 用例2 FALSE TRUE FALSE FALSE ② A&&(B||C) ③ A.①TRUE ②FALSE ③TRUE B.①TRUE ②FALSE ③FALSE C.①FALSE ②FALSE ③TRUE D.①TRUE ②TRUE ③FALSE
23. 两个小组地测试同一个程序,第一组发现25个错误,第二组发现30个错误,在两个小组发现的错误中有15个是共同的,那么可以估计程序中的错误总数是 个。 A.25 B.30 C.50 D.60
24. 可以作为软件测试结束的标志。
A.使用了特定的测试用例 B.错误强度曲线下降到预定的水平
C.查出了预定数目的错误 D.按照测试计划中所规定的时间进行了测试
(B)25. 导致软件缺陷的原因有很多,①-④是可能的原因,其中最主要的原因包括 。
①软件需求说明书编写的不全面,不完整,不准确,而且经常更改 ②软件设计说明书 ③软件操作人员的水平 ④开发人员不能很好的理解需求说明书和沟通不足 A.①、②、③ B.①、③ C.②、③ D.①、④
26. 关于软件质量的描述,正确的是 。 A.软件质量是指软件满足规定用户需求的能力
B.软件质量特性是指软件的功能性、可靠性、易用性、效率、可维护性、可移植性 C.软件质量保证过程就是软件测试过程 D.以上描述都不对
27. 如果程序的功能说明中含有输入条件的组合情况,则一开始就可以选用 和决策表法。
A.等价类划分 B.因果图法 C.边界值分析 D.场景法
28. 左侧图4控制流图的环复杂度Ⅴ(g)和基本复杂度EV(g)是 。
A.V(g)=5 EV(g)=l B.V(g)=6 EV(g)=6
C.V(g)=5 EV(g)=5 D.V(g)=6 EV(g)=l
图4
(B)29. 关于黑盒测试技术,下面说法错误的是 。 A. 黑盒测试着重测试软件的功能需求,是在程序接口上进行测试。 B. 失败测试是纯粹为了破坏软件而设计和执行测试案例的。 C. 边界值测试是黑盒测试特有的技术方法,不适用于白盒测试。 D. 黑盒测试无法发现规格说明中的错误,不能进行充分的测试。
30. 对于白盒测试技术的理解,正确的是 。
A. 判断覆盖是条件覆盖的子集,满足条件覆盖指标就一定满足判断覆盖的指标。
B. 条件组合覆盖能够达到路径覆盖的要求。
C. 白盒测试工作量大,只适用于单元测试,且不易生成测试数据。
D. 进行基路径测试时,对于源程序中的循环体,测试用例组中的输入数据使其执行一次或零次就可以了。
二、操作题
1. 使用基本路径法设计出的测试用例能够保证程序的每一条可执行语句在测试过程中至少执行一次。以下代码由C语言书写,请按要求回答问题。 int GetMaxDay( int year, int month ) { 1 int maxday = 0; 2 if ( month >= 1 && month <= 12 ) 3 { 4 if ( month == 2 ) 5 { 6 if ( year % 4 == 0 ) 7 { 8 if ( year % 100 == 0 ) 9 { 10 if ( year % 400 == 0 ) 11 maxday = 29; 12 else 13 maxday = 28; 14 } 15 else 16 maxday = 29; 17 } 18 else 19 maxday = 28; 20 } 21 else if ( month == 4 || month == 6 || month == 9 || month == 11 ) 22 maxday = 30; 23 else 24 maxday = 31; 25 } 26 return maxday; } 【问题1】(15分)
请画出以上代码的控制流图.
2 4 6 21 8 10 C 11 A D B 22 14 17 20 25 26 其中, A: 13,14 B: 15,16 C: 18,19 D: 23,24
【问题2】(5分)
请计算上述控制流图的环复杂度V(G)(线性路径数)
V(G)=6+1=7, V(G)=22-17+2=7, V(G)=6+1=7
【问题3】(20分)
假设输入的取值范围是1000 < year < 2001,请使用基本路径测试法为变量year、month设计测试用例(写出year取值、month取值、maxday预期结果),使其满足基本路径覆盖要
求。
基路径组合:
p1: 2, 4, 6, 8, 10, 11, 14, 17, 20, 25, 26 p2: 2, 26
p3: 2, 4, 21, 22, 25, 26 p4: 2, 4, 21, D, 25,26 p5: 2, 4, 6, C, 20, 25, 26
p6: 2, 4, 6, 8, B, 17, 20, 25, 26 p7: 2, 4, 6, 8, 10, A, 17, 20, 25, 26 用例编号 1 2 3 4 5 6 7 2. 基本路径法设计出的测试用例能够保证在测试中程序的每一条可执行语句至少执行一次。以下代码由C+ +语言书写,请按要求回答问题。 void ReadPara(CString temp) {
1 If(temp= =">=")
2 M_oper.SetCurSel(0); 3 else 4 {
5 if(temp= =">")
6 m_oper.SetCurSel(1); 7 else 8 {
9 if(temp= ="= =")
10 m_oper.SetCurSel(2); 11 else 12 {
year取值 1001~2000之间能被400整除的任意整数,如2 1200、1600、2000 1001~2000之间任意整数 1001~2000之间任意整数 1001~2000之间任意整数 1001~2000之间不能被4整除的任意整数,如1001、1002、1003等 [1,12]之外的任意整数 4、6、9、11中的任意一个 month取值 maxday预期结果 29 0 30 执行路径 p1 p2 p3 p4 p5 p6 p7 1、3、5、7、8、31 12中任意一个 2 28 29 28 1001~2000之间能被4整除但不能被100整除2 的任意整数,如1004、1008、1012、1016等 1001~2000之间能被100整除但不能被400整2 除的任意整数,如1100、1300、1400、1500等 13 14 15 16 17 18 19 20 21 22 23 24 25 }
} return;
}
if(temp= ="<=")
m_oper.SetCurSel(3); else {
if(temp="<")
m_oper.SetCurSel(4); else
m_oper.SetCurSel(5); } }
【问题1】
请画出以上代码的控制流图。
1 5 2 9 6 13 10 17 14 19,20 18 21 22 23 24 25
【问题2】
请计算上述控制流图的环路复杂度V(G)。 V(G)=5+1=6 V(G)=20-16+2=6 V(G)=5+1=6
【问题3】
请使用基本路径测试法为变量temp设计测试用例,使之满足基本路径覆盖要求。
基路径组合:
p1: 1, 5, 9, 13, 17, (19,20), 21, 22, 23, 24, 25 p2: 1, 2, 25 p3: 1, 5, 6 24, 25
p4: 1, 5, 9, 10, 23, 24, 25
p5: 1, 5, 9, 13, 14, 22, 23, 24, 25
p6: 1, 5, 9, 13, 17, 18, 21, 22, 23, 24, 25 用例编号 1 2 3 4 5 6
简述题:
大家一起学习《软件测试》已经半个学期了,那么你对软件测试有哪些认识呢?如果现在由你来讲授《软件测试》这门课程,你希望拥有一种什么样的课堂气氛?在不影响教学目标的前提下,又该如何来营造这种氛围?(如何实现自己的教学目标呢?)
>= > == <= < temp取值 预期结果 M_oper.SetCurSel(0) m_oper.SetCurSel(1) m_oper.SetCurSel(2) m_oper.SetCurSel(3) m_oper.SetCurSel(4) 执行路径 p1 p2 p3 p4 p5 p6 除>=、>、==、<=、<之外的字符组合 m_oper.SetCurSel(5)