软件测试试题及答案
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. 等价类划分从程序的功能说明,找出一个输入条件(通常是一 句话或一个短语),然后将每个输入条件划分成两个或多个等价 类。
一、判断题 1. 测试是调试的一个部分(╳) 2. 软件测试的目的是尽可能多的找出软件的缺陷。(√ ) 3. 程序中隐藏错误的概率与其已发现的错误数成正比(√ ) 4. Beta 测试是验收测试的一种。(√ ) 5. 测试人员要坚持原则,缺陷未修复完坚决不予通过。(√ ) 6. 项目立项前测试人员不需要提交任何工件。(╳) 7. 单元测试能发现约 80%的软件缺陷。(√ ) 8. 测试的目的是发现软件中的错误。(√ ) 9. 代码评审是检查源代码是否达到模块设计的要求。(√ ) 10. 自底向上集成需要测试员编写驱动程序。(√ ) 11. 测试是证明软件正确的方法。(╳) 12. 负载测试是验证要检验的系统的能力最高能达到什么程度。 (√ ) 13. 测试中应该对有效和无效、期望和不期望的输入都要测试。 (√ )验收测试是由最终用户来实施的。(√ ) 14. 测试人员要坚持原则,缺陷未修复完坚决不予通过。(√ )黑 盒测试也称为结构测试。(╳)集成测试计划在需求分析阶段末提 交。(╳) 15. 软件测试的目的是尽可能多的找出软件的缺陷。(√) 16. 自底向上集成需要测试员编写驱动程序。(√) 17. 负载测试是验证要检验的系统的能力最高能达到什么程度。(╳)
≥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?开头的三位数字;
答: V 模型是软件开发瀑布模型的变种,它反映了测试活动与分析和设 计的关系。 从左到右,描述了基本的开发过程和测试行为,非常明确地标明了 测试过程中存在的不同级 别,并且清楚地描述了这些测试阶段和开发过程期间各阶段的对应 关系。 左边依次下降的是开发过程各阶段,与此相对应的是右边依次上升 的部分,即各测试过程的各个阶段。 V 模型的局限性在于没有明确地说明早期的测试,无法体现“尽早地 和不断地进行软件测试”的原则 5. 软件测试应该划分几个阶段?简述各个阶段应重点测试的点?各个 阶段的含义? 答:大体上来说可分为单元测试,集成测试,系统测试,验收测试 每个阶段又分为以下五个步骤: 测试计划,测试设计,用例设计,执行结果,测试报告 6. 你认为一个优秀的测试工程师应该具备哪些素质? 答:1、具有良好的计算机编程基础 2、具有创新精神和超前意识 3、不懈努力,追求完美 4、具有整体观念,对细节敏感 5、团队合 作精神 6、责任心、耐心、细心、信心 7、沟通能力 8、时时保持 怀疑态度,并且有缺陷预防的意识 7. 什么是软件缺陷?请简述软件缺陷出现的原因。
18. 测试程序仅仅按预期方式运行就行了。(╳) 19. 不存在质量很高但可靠性很差的产品。(╳) 20. 软件测试员可以对产品说明书进行白盒测试。(╳) 21. 静态白盒测试可以找出遗漏之处和问题。(√) 22. 总是首先设计白盒测试用例。(╳) 23. 可以发布具有配置缺陷的软件产品。(√) 24. 所有软件必须进行某种程度的兼容性测试。(√) 25. 所有软件都有一个用户界面,因此必须测试易用性。7. 按照测试实施组织划分,可将软件测试分为开发方测试、用户 测试和第三方测试。(√) 28. 好的测试员不懈追求完美。(×) 29. 测试程序仅仅按预期方式运行就行了。( ×) 30. 在没有产品说明书和需求文档的条件下可以进行动态黑盒测 试。( √) 31. 静态白盒测试可以找出遗漏之处和问题。( √) 32. 测试错误提示信息不属于文档测试范围。( ×) 33. 代码评审是检查源代码是否达到模块设计的要求。(√) 34. 总是首先设计黑盒测试用例。( √) 35. 软件测试是有风险的行为,并非所有的软件缺陷都能够被修 复。(∨) 36. 软件质量保证和软件测试是同一层次的概念。(x )
足这些要求: 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)
13. 边界值分析是将测试边界情况作为重点目标,选取正好等于、 刚刚大于或刚刚小于边界值的测试数据。如果输入或输出域是一个 有序集合,则应选取集合的第一个元素和最后一个元素作为测试用 例。 14. 测试的综合策略是在测试中,联合使用各种测试方法。通常先 用黑盒法设计基本的测试用例,再用白盒法补充一些必要的测试用 例。 15. 软件测试过程中需要 3 类信息:软件配置、测试配置和测试工 具。 16. 软件测试一般经过 4 个测试:单元测试集成测试系统测试验证 测试。 17. 单元测试指对源程序中每一个程序单元进行测试,检查各个模 块是否正确实现规定的功能,从而发现模块在编码中或算法中的错 误,它涉及编码和详细设计的文档。 18. 集成测试指在单元测试基础上,将所有模块按照设计要求组装 成一个完整的系统进行的测试。也称组装测试或联合测试。 19. 成测试的方法有两种:非渐增式测试渐增式测试。 20. 渐增式测试有两种不同的组装模块的方法:自顶向下结合自底 向上结合。 21. 验证测试在模拟环境下运用黑盒测试方法,由专门测试人员和 用户参加的测试。 22. 软件配置审查的任务是检查软件的所有文档资料的完整性和正
答:存在于软件之中的那些不希望,或不可接受的偏差,而导致软 件产生的质量问题。 原因:1、技术问题 2、算法错误 3、语法错误 4、计算和精度问题 5、系统结构不合理,造成系统性能问题 6、接口参数不匹配出现问 题。 五、综合题 1. 针对以下问题:某一种 8 位计算机,其十六进制常数的定义是以 0x 或 0X 开头的十六进制整数,其取值范围为-7f~7f(不区分大 小写字母),如 0x13、0x6A、-0x3c。请采用等价类划分的方法设 计测试用例。 解: 输入条件有效等价类无效等价类 开头字符由 0x 或 0X 开 头(1)以字母开头 以非 0 数字开 头 (2)(3) 数值字符数字或 A—F 的字母(4)A—F 以外的 字母 (5) 数值字符个 数
后缀——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。需要有足够的测试用例使得上 述四个条件都能有满足和不满足的情况。以下这两组输入数据能满