太原理工大学 软件测试技术
适用专业:软件工程2011级 考试日期: 时间: 120 分钟
一、 判断题
1. 测试是调试的一个部分 ( ╳ )
2. 软件测试的目的是尽可能多的找出软件的缺陷。( √ ) 3. 程序中隐藏错误的概率与其已发现的错误数成正比( √ ) 4. Beta 测试是验收测试的一种。 ( √ )
5. 测试人员要坚持原则,缺陷未修复完坚决不予通过。( √ ) 6. 项目立项前测试人员不需要提交任何工件。( ╳ ) 7. 单元测试能发现约80%的软件缺陷。( √ ) 8. 测试的目的是发现软件中的错误。( √ )
9. 代码评审是检查源代码是否达到模块设计的要求。( √ ) 10. 自底向上集成需要测试员编写驱动程序。( √ ) 11. 测试是证明软件正确的方法。( ╳ )
12. 负载测试是验证要检验的系统的能力最高能达到什么程度。( √ ) 13. 测试中应该对有效和无效、期望和不期望的输入都要测试。( √ ) 验收测试是由最终用户来实施的。( √ )
14. 测试人员要坚持原则,缺陷未修复完坚决不予通过。( √ )黑盒测试也称为结构测试。( ╳ )集成测试计划在需求分析阶段末提交。( ╳ ) 15. 软件测试的目的是尽可能多的找出软件的缺陷。(√ )
16. 自底向上集成需要测试员编写驱动程序。(√ )
17. 负载测试是验证要检验的系统的能力最高能达到什么程度。(╳) 18. 测试程序仅仅按预期方式运行就行了。(╳) 19. 不存在质量很高但可靠性很差的产品。(╳) 20. 软件测试员可以对产品说明书进行白盒测试。(╳) 21. 静态白盒测试可以找出遗漏之处和问题。(√) 22. 总是首先设计白盒测试用例。(╳ ) 23. 可以发布具有配置缺陷的软件产品。(√) 24. 所有软件必须进行某种程度的兼容性测试。(√ ) 25. 所有软件都有一个用户界面,因此必须测试易用性。(╳) 26. 测试组负责软件质量。(╳ )
27. 按照测试实施组织划分,可将软件测试分为开发方测试、用户测试和第三方测试。(√)
28. 好的测试员不懈追求完美。(× )
29. 测试程序仅仅按预期方式运行就行了。( × )
30. 在没有产品说明书和需求文档的条件下可以进行动态黑盒测试。( √ ) 31. 静态白盒测试可以找出遗漏之处和问题。( √ ) 32. 测试错误提示信息不属于文档测试范围。( × ) 33. 代码评审是检查源代码是否达到模块设计的要求。(√ ) 34. 总是首先设计黑盒测试用例。( √ )
35. 软件测试是有风险的行为,并非所有的软件缺陷都能够被修复。(∨ ) 36. 软件质量保证和软件测试是同一层次的概念。(x ) 37. 程序员兼任测试员可以提高工作效率。( x )
38. 在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。( ∨ ) 39. 传统测试是在开发的后期才介入,现在测试活动已经扩展到了整个生命周期。( ∨ )
40. 传统测试以发现错误为目的,现在测试已经扩展到了错误预防的范畴。∨ 41. 软件测试的生命周期包括测试计划、测试设计、测试执行、缺陷跟踪、测试评估。(∨ )
42. 软件生存周期是从软件开始开发到开发结束的整个时期。 ( x ) 43. 测试用例的数目越多,测试的效果越好。( x )
44. 只要能够达到100%的逻辑覆盖率,就可以保证程序的正确性。( x ) 45. 单元测试属于动态测试。( ∨ )
46. 验收测试是以最终用户为主的测试。(∨ ) 47. 没有发现错误的测试是没有价值的。( ∨ ) 48. 可以把不合格的开发人员安排做测试。( x )
三、 填空题
1. 软件测试主要分为___单元测试_、_集成测试__、___系统测试___、___验收测试___四类测试。
2. 软件缺陷产生的原因包括__编写代码___、设计、_编写需求__以及其他原因。
3. 对面向过程的系统采用的集成策略有 自顶向下集成 、 自底向上集成 两种。 4. 黑盒测试用例设计方法包括 等价类划分、边界值分析 以及 因果图 ,错误推测法等。
5. 测试工作就是进行输入、接受输出、检验结果,不深入代码细节,这样的测试方法称为___黑盒测试__。
6. 软件测试的目的是尽可能多地发现软件中存在的 错误 ,将测试 测试结果 作为纠错的依据。
7. 软件测试方法一般分为两大类: 动态测试 方法和 静态测试 方法。 8. 动态测试通过 运行程序 发现错误。根据 测试用例 的设计方法不同,动态测试又分为 黑盒测试 与 白盒测试 两类。
9. 黑盒法只在软件的 接口 处进行测试,依据 需求规格 说明书,检查程序是否满足 功能 要求。
10. 白盒法必须考虑程序的 内部结构 和 处理过程 ,以检查 处理过程 的细节为基础,对程序中尽可能多的逻辑路径进行 测试 。
11. 逻辑覆盖是对程序内部有 判定 存在的逻辑结构设计测试用例,根据程序内部的逻辑覆盖程度又可分为 语句覆盖 判定覆盖 条件覆盖 判定/条件覆盖 条件组合覆盖 路径覆盖6种覆盖技术。
12. 等价类划分从程序的 功能 说明,找出一个输入条件(通常是 一句话 或 一个短语 ),然后将每个输入条件划分成两个或多个 等价类 。
13. 边界值分析是将测试 边界 情况作为重点目标,选取正好等于、刚刚大于或
刚刚小于边界值的测试数据。如果输入或输出域是一个有序集合,则应选取集合的 第一个 元素和 最后一个 元素作为测试用例。
14. 测试的综合策略是在测试中,联合使用各种 测试 方法。通常先用 黑盒 法设计基本的测试用例,再用 白盒 法补充一些必要的测试用例。
15. 软件测试过程中需要3类信息:软件配置 、 测试配置 和 测试工具 。 16. 软件测试一般经过4个测试:单元测试 集成测试 系统测试 验证测试 。 17. 单元测试 指对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误,它涉及 编码 和 详细设计 的文档。
18. 集成测试指在 单元 测试基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试。也称 组装 测试或 联合 测试。 19. 成测试的方法有两种: 非渐增式测试 渐增式测试 。
20. 渐增式测试有两种不同的组装模块的方法: 自顶向下结合 自底向上结合 。 21. 验证测试在模拟环境下运用 黑盒 测试方法,由专门测试人员 和 用户 参加的测试。
22. 软件配置审查的任务是检查软件的所有文档资料的 完整性 和 正确性 。 23. 用等价类划分法设计一个测试用例时,使其覆盖 尽可能多的 尚未被覆盖的合理等价类。
24. 用等价类划分法设计一个测试用例时,使其覆盖 一个 不合理等价类。 25. 软件测试是为了 发现错误 而执行程序的过程。 26. 运行被测程序的方法称为 动态 测试。
27. 在单元测试中,测试一个模块时,需要设计 驱动模块和桩模块 。
四、 简答题
1. 请简述软件测试活动的生命周期?
答:软件从进入测试到退出测试的过程中,所要经历的引入程序错误、通过测试发现错误和清除程序错误的几个阶段。
2. 软件的缺陷等级应如何划分?
1).致命错误,可能导致本模块以及其他相关模块异常,死机等问题; 2).严重错误,问题局限在本模块,导致模块功能失效或异常退出 3).一般错误,模块功能部分失效;
4).建议问题,由问题提出人对测试对象的改进意见;
3. 什么是软件测试?(见第一章)
4. 什么是V模型?简述V模型在软件测试过程中的作用,以及在V模型中各个测试阶段和开发过程的对应关系?
答:
V模型是软件开发瀑布模型的变种,它反映了测试活动与分析和设计的关系 。 从左到右,描述了基本的开发过程和测试行为,非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系 。
左边依次下降的是开发过程各阶段,与此相对应的是右边依次上升的部分,即各测试过程的各个阶段。
V模型的局限性在于没有明确地说明早期的测试,无法体现“尽早地和不断地进行软件测试”的原则
5. 软件测试应该划分几个阶段?简述各个阶段应重点测试的点?各个阶段的含义?
答:大体上来说可分为单元测试,集成测试,系统测试,验收测试 每个阶段又分为以下五个步骤:
测试计划,测试设计,用例设计,执行结果,测试报告
6. 你认为一个优秀的测试工程师应该具备哪些素质?
答:1、具有良好的计算机编程基础 2、具有创新精神和超前意识 3、不懈努力,
追求完美 4、具有整体观念,对细节敏感 5、团队合作精神 6、责任心、耐心、细心、信心 7、沟通能力 8、时时保持怀疑态度,并且有缺陷预防的意识
7. 什么是软件缺陷?请简述软件缺陷出现的原因。
答:存在于软件之中的那些不希望,或不可接受的偏差,而导致软件产生的质量问题。
原因:1、技术问题2、算法错误3、语法错误4、计算和精度问题5、系统结构不合理,造成系统性能问题6、接口参数不匹配出现问题。
五、 综合题
1. 针对以下问题:某一种8位计算机,其十六进制常数的定义是以0x或0X开头的十六进制整数,其取值范围为-7f~7f(不区分大小写字母),如0x13、0x6A、-0x3c。请采用等价类划分的方法设计测试用例。 解: 输入条件
有效等价类
(1)
无效等价类
以字母开头 (2)(3) 以非0数字开头
开头字符 由0x或0X开头
数值字符 数字或A—F的字母
(4) A—F以外的字母
(5)
数值字符个数 数值
≥1个 (6) 0个 (7)
≥-7f且≤7f (8) <-7f >7f
(9)(10)
用例1:0x7F, 覆盖等价类(1)(4)(6)(8) 用例2:-0Xb, 覆盖等价类(1)(4)(6)(8) 用例3:0X0, 覆盖等价类(1)(4)(6)(8) 用例4:0x, 覆盖等价类(1)(7) 用例5:A7, 覆盖等价类(2) 用例6:-1A, 覆盖等价类(3) 用例7:0X8h, 覆盖等价类(1)(5) 用例8:0x80, 覆盖等价类(1)(4)(10) 用例9:-0XaB, 覆盖等价类(1)(4)(9)
2. 有函数f(x,y,z),其中x∈[1900,2100],y∈[1,12],z∈[1,31]的。请写出该函数采用
基本边界值分析法设计的测试用例。
解: { <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> }
3. 某城市电话号码由三部分组成,分别是: 地区码—— 空白或三位数字;
前 缀—— 非?0?或?1?开头的三位数字; 后 缀—— 4位数字。
假定被测程序能接受一切符合上述规定的电话号码, 拒绝所有不符合规定的电话号码。要求采用弱健壮等价类方法,即同时考虑有效值和无效值,基于单缺陷假设 (1)首先进行输入条件等价类划分,并编号,写出等价类表 (2)设计测试用例,以便覆盖所有的有效等价类
(3)为每一个无效等价类设计一个测试用例,列出完整的测试用例表。
解:
4.按要求给出下列程序的测试用例(要求写出必要的说明):
(1)语句覆盖判 (2)定覆盖条件覆盖 (3)判定-条件覆盖 (4)条件组合覆盖
图中共有4条路径:P1(ace)、P2(abd)、P3(abe)、P4(acd)。 1.P1正好满足语句覆盖的条件。可以设计如下的输入数据: A=2,B=0,x=4
2.测试用例如果能够测试路径P1(ace)和P2(abd),就可以满足判定覆盖要求。可以设计如下两组输入数据: A=2,B=0,x=4 A=1,B=1,x=1
3.条件:A>1,B=0,A=2,x>1。需要有足够的测试用例使得上述四个条件都能有满足和不满足的情况。以下这两组输入数据能满足这些要求: A=2,B=0,x=4 A=1,B=1,x=1 4.判定/条件覆盖 A=2,B=0,x=4 A=1,B=1,x=1 5.可能的条件组合: (1)A>1,B=0 (2)A>1,B≠0 (3)A≤1,B=0 (4)A≤1,B≠0 (5)A=2,x>1 (6)A=2,x≤1 (7)A≠2,x>1 (8)A≠2,x≤1 相应的输入数据:
A=2,B=0,x=4 满足(1)和(5) A=2,B=1,x=1 满足(2)和(6) A=1,B=0,x=2 满足(3)和(7)
A=1,B=1,x=1 满足(4)和(8)
因篇幅问题不能全部显示,请点此查看更多更全内容