电子科技大学二零零八至二零零八学年第二学期
软件测试技术(A卷)课程考试题(120分钟) 闭卷 考试时间: 2008
一 二 三 四 总分 评卷教师 说明:本试卷共四大题,试卷满分100分。
注意:请将所有答案填写在最后一页答题卡上。 .....................
一、单项选择题:共20小题,每小题2 分,满分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.白盒测试
17、如果F实现一个程序,输入变量x1和x2的边界、区间分别为:a≤x1≤d,区间为[a,b],[b,c],[c,d];e≤x2≤g,区间为[e,f],[f,g];则下列_d__图可表示为强健壮等价类测试用例。
A. B. x2 x2 C. g D. g x2 x2 f f g g e e f f
1 x1 1 a b c d xxa b c d e e
18、对于一个含有n个变量的程序,采用基本边界值分析法测试程序会产生(c )个测试用例。
A.6n+1 B.5n C、4n+1 D.7n
19、以下关于测试用例特征的描述错误的是( b )
A.最有可能抓住错误的; B.一定会有重复的、多余的; C.一组相似测试用例中最有效的; D.既不是太简单,也不是太复杂。 20、( d )是一种关注变量定义赋值点(语句)和引用或使用这些值的点(语句)的结构性测试,主要用作路径测试的真实性检查。
A、基本路径测试 B、逻辑覆盖 C、决策表 D、数据流测试 二、判断题:共20小题,每题1分,满分20分)
1. 软件测试是有风险的行为,并非所有的软件缺陷都能够被修复。(∨ ) 2. 软件质量保证和软件测试是同一层次的概念。(x )
3. 我们有理由相信只要能够设计出尽可能好的测试方案,经过严格测试之后的软件可以没有缺
陷。( x )
4. 程序员兼任测试员可以提高工作效率。( x )
5. 在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。( ∨ ) 6. 传统测试是在开发的后期才介入,现在测试活动已经扩展到了整个生命周期。( ∨ ) 7. 传统测试以发现错误为目的,现在测试已经扩展到了错误预防的范畴。∨
8. 软件测试的生命周期包括测试计划、测试设计、测试执行、缺陷跟踪、测试评估。(∨ ) 9. 调试从一个已知的条件开始,使用预先定义的过程,有预知的结果;测试从一个未知的条件
开始,结束的过程不可预计。( x )
10. 白盒测试往往会造成测试用例之间可能存在严重的冗余和未测试的功能漏洞。( x )
n
11. 在边界值方法中,对于一个有n个变量的函数作最坏情况测试,生成的测试用例个数是7个。
( x )
12. 软件生存周期是从软件开始开发到开发结束的整个时期。 ( x )
13. 在所有的黑盒测试方法中,基于决策表的测试是最为严格、最具有逻辑性的测试方法。
( ∨ )
14. 永远有缺陷类型会在测试的一个层次上被发现,并且能够在另一个层次上逃避检测。(∨ ) 15. 测试用例的数目越多,测试的效果越好。( x )
16. 只要能够达到100%的逻辑覆盖率,就可以保证程序的正确性。( x ) 17. 单元测试属于动态测试。( ∨ ) 18. 验收测试是以最终用户为主的测试。(∨ ) 19. 没有发现错误的测试是没有价值的。( ∨ ) 20. 可以把不合格的开发人员安排做测试。( x )
三、简答题:共4小题,每题5分,满分20分。
1、简单描述一下软件测试工程师一般会承担的一些具体工作。
2、黑盒测试与白盒测试各有哪些优缺点,应该如何结合才能解决漏洞和冗余问题? 3、画图描述测试层次与传统开发V型瀑布模型的对应
4、有函数f(x,y,z),其中x∈[1900,2100],y∈[1,12],z∈[1,31]的。请写出该函数采用基本边界值分析法设计的测试用例。
四、综合题:共2小题,每题10分,满分20分。
1、使用基本路径测试方法,为以下程序段设计测试用例。 (1)画出程序的控制流图。
(2)计算程序的循环复杂度,导出程序基本路径集中的独立路径条数。 (3)导出基本路径集,确定程序的独立路径。
(4)根据(3)中的独立路径,设计测试用例(确保基本路径集中的每一条路径的执行)的输入数据和预期输出。
void Do (int X,int A,int B) {
1 if ( (A>1)&&(B=0) ) 2 X = X/A; 3 if ( (A=2)||(X>1) ) 4 X = X+1; 5 }
由于控制流图假设的是单条件,因此对于复合条件,可将其分解为多个单个条件,并映射成控制流图。
1: A>1;2: B=0 ;3: X = X/A ;4: A=2 ;5:X>1 ;6: X = X+1;7: }
2、某城市电话号码由三部分组成,分别是: 地区码—— 空白或三位数字;
前 缀—— 非‘0’或‘1’开头的三位数字; 后 缀—— 4位数字。
假定被测程序能接受一切符合上述规定的电话号码, 拒绝所有不符合规定的电话号码。要求采用弱健壮等价类方法,即同时考虑有效值和无效值,基于单缺陷假设 (1)首先进行输入条件等价类划分,并编号,写出等价类表 (2)设计测试用例,以便覆盖所有的有效等价类
(3)为每一个无效等价类设计一个测试用例,列出完整的测试用例表。
软件测试技术(A卷)答案及评分标准
一、单选题(20×2=40分)
题号 答案 题号 答案 1 C 11 B 2 A 12 C 3 D 13 A 4 A 14 C 5 A 15 C 6 B 16 B 7 A 17 D 8 B 18 C 9 D 19 B 10 A 20 D 二、判断题(20×1=20分)
题号 答案 题号 答案 1 2 3 4 5 6 7 8 9 10 √ 11 × 12 × 13 × 14 √ 15 √ 16 √ 17 √ 18 × 19 × 20 × × √ √ × × √ √ √ × 三、 简答题(4×5=20分)答:检视代码、评审开发文档(静态测试方法)
进行测试设计、写作测试文档(测试计划、测试方案、测试用例等) 执行测试,发现软件缺陷,提交缺陷报告,并确认缺陷最终得到了修正 通过测试度量软件的质量….
2.答:功能性测试具有两大优点:功能性测试与软件如何实现无关;测试用例开发可以与实现并行进行,因此可以压缩总的项目开发时间。缺点:测试用例之间可能存在严重的冗余,还会有位测试的软件漏洞。结构性测试局限于已经完成的代码行为当中,离代码太近。因此可以结构性测试指标去解决冗余和漏洞问题。如果发现同一条程序路径被多个功能性测试用例遍历,就可以怀疑这种冗余不会发生新的缺陷,如果没有达到一定的DD—路径覆盖,则可知在功能性测试用力中存在漏洞。因此路径测试可以提供作为功能性测试交叉检查的一组指标。 3.答:测试层次与传统开发V型瀑布模型的对应
自顶向下,功能分解
4.答:
{ <2000,6,1>, <2000,6,2>, <2000,6,30>, <2000,6,31>, <2000,1,15>, <2000,2,15>, <2000,11,15>, <2000,12,15>, <1900,6,15>, <1901,6,15>, <2099,6,15>, <2100,6,15>, <2000,6,15> }