单项选择题:共 20 小题,每小题 1 分,满分 20 分;请将答案填入题后括号中。 1. 在软件生命周期的哪一个阶段,软件缺陷修复费用最低 (A)需求分析(编制产品说明书) (B)设计 (C) 编码 (D)产品发布 2. 单元测试中用来模拟被测模块调用者的模块是 (A) 父模块 (B)子模块 (C)驱动模块 (D)桩模块 3. 为了提高测试的效率,应该 (A)随机地选取测试数据; (B)取一切可能的输入数据作为测试数据; (C)在完成编码以后制定软件的测试计划; (D)选择发现错误可能性大的数据作为测试数据。 4. 侧重于观察资源耗尽情况下的软件表现的系统测试被称为 (A)强度测试 (B)压力测试 (C) 容量测试 (D)性能测试 5. 必须要求用户参与的测试阶段是 (A)单元测试 (B)集成测试 (C) 确认测试 (D)验收测试 6. 软件测试员究竟做些什么。 ( ) (A)软件测试员的目的是发现软件缺陷 (B)软件测试员的目的是发现软件缺陷,尽可能早一些 (C)软件测试员的目的是发现软件缺陷,尽可能早一些,并确保其得以修复 (D)软件测试员的目的是发现软件缺陷,尽可能早一些,并将其得以修复 7. 下面四种说法中正确的是 (A)因果图法是建立在决策表法基础上的一种白盒测试方法; (B)等价类划分法是边界值分析法的基础; (C)健壮性等价类测试的测试用例要求在有效等价类中取值; (D)在任何情况下做黑盒测试皆应首先考虑使用错误推断法。 8. 不属于单元测试内容的是 (A)模块接口测试 (B)局部数据结构测试 (C) 路径测试 (D)用户界面测试 9. 划分软件测试属于白盒测试还是黑盒测试的依据是 (A)是否执行程序代码 (B)是否能看到软件设计文档 (C)是否能看到被测源程序 (D)运行结果是否确定 10. 下列项目中不属于测试文档的是 (A)测试计划 (B)测试用例 (C) 程序流程图 (D)测试报告 11. 几乎没有产品计划、进度安排和正规的开发过程的软件开发模式是 (A)大棒模式 (B)边写边改模式 (C) 瀑布模式 (D)快速原型开发模式 12. 如果某测试用例集实现了某软件的路径覆盖,那么它一定同时实现了该软件的 (A)判定覆盖 (B)条件覆盖 (C) 判定/条件覆盖 (D)组合覆盖 13. 下列说法不正确的是 -1- ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) (A)测试不能证明软件的正确性; (B)测试员需要良好的沟通技巧; (C)QA 与 testing 属于一个层次的概念; (D)成功的测试是发现了错误的测试。 14. 对 Web 网站进行的测试中,属于功能测试的是 ( ) (A)连接速度测试 (B)链接测试 (C)平台测试 (D)安全性测试 15. 在进行单元测试时,常用的方法是 ( ) (A)采用黑盒测试,辅之以白盒测试; (B)采用白盒测试,辅之以黑盒测试; (C)只使用黑盒测试; (D)只使用白盒测试。 16. 使用白盒测试方法时,确定测试数据的依据是指定的覆盖标准和 ( ) (A)程序的注释 (B)程序的内部逻辑 (C)用户使用说明书 (D)程序的需求说明 17.下列___不是软件自动化测试的优点 ( ) (A)速度快、效率高 (B)准确度和精确度高 (C)能提高测试的质量 (D)能充分测试软件 18. 配置测试 ( ) (A) 是指检查软件之间是否正确交互和共享信息 (B) 是交互适应性、实用性和有效性的集中体现 (C) 是指使用各种硬件来测试软件操作的过程 (D) 检查缺陷是否有效改正 19. 下列各项中___不是一个测试计划所应包含的内容 ( ) (A)测试资源、进度安排 (B)测试预期输出 (C)测试范围 (D)测试策略 20.下列不属于正式审查的方式是 ( ) (A)同事审查 (B) 公开陈述 (C) 检验 (D) 编码标准和规范 二、判断题:共 10 小题,每小题 1 分,满分 10 分;请将答案以“√”“×”形式填入题后括号中。 、 1. 好的测试员不懈追求完美。 ( ) 2. 软件测试是有效的排除软件缺陷的手段。 ( ) 3. 程序员与测试工作无关。 ( ) 4. 程序员兼任测试员可以提高工作效率。 ( ) 5. 产品说明书(需求文档)的变更应当受到控制。 ( ) 6. 白盒测试的“条件覆盖”标准强于“判定覆盖” 。 ( ) 7. 软件开发全过程的测试工作都可以实现自动化。 ( ) 8. 找出的软件缺陷越多,说明剩下的软件缺陷越少。 ( ) 9. 采用自动化测试有可能延误项目进度。 ( ) 10.测试应从“大规模”开始,逐步转向“小规模”。 ( ) 三、填空题:共 10 小题 20 个空格,每个空格 1 分,满分 20 分;请将答案填入指定的空白处。 1. 软件缺陷产生的原因包括___________________、设计、___________________以及其他原因。 2. 软件开发模式包括___________________、边写边改模式、___________________、螺旋模式。 3. 黑盒测试用例设计方法包括___________________、 ___________________以及因果图法, 错误推测法等。 -2- 1. 2. 1. 2. 4. 测试过程中,___________________描述用于描述测试的整体方案,__________________描述依据测试 案例找出的问题。 5. 传 统 的 等 价 类 划 分 测 试 的 实 现 分 两 步 进 行 , 一 是 _______________________ , 二 是 _________________________________。 6. 在 兼 容 性 测 试 中 , _________________________ 是 指 可 以 使 用 软 件 的 以 前 版 本 , ______________________是指可以使用软件的未来版本。 7. 测试工作就是进行输入、 接受输出、 检验结果, 不深入代码细节, 这样的测试方法称为________________, 在不执行代码的条件下有条理地仔细审查软件设计、体系结构和代码,从而找出软件缺陷的测试方法称为 ________________。 8. 不需要修复软件缺陷的原因包括________________、不能算真正的软件缺陷、________________、不值 得修复。 9. 白盒测试又称为________________,黑盒测试又称为________________。 10. 动态测试的两个基本要素是________________、________________。 四、名词解释:共 5 小题,每小题 3 分,满分 15 分 软件缺陷 β 测试 3.测试的配置管理 4.测试用例 5.黑盒测试 五、简答题:共 3 小题,每小题 5 分,满分 15 分。 如何划分等价类? 软件验收测试应完成哪些主要测试工作? 3. 简述软件开发-软件测试的对用关系。 六、综合题:共 1 小题,每小题 20 分,满分 20 分。 1. 某城市的电话号码由三部分组成。这三部分的名称和内容分别是 地区码:空白或三位数字; 前 缀:非’0’或’1’开头的三位数; 后 缀:四位数字。 假定被调试的程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的号码,试用等价分类 法来设计它的调试用例。 软件测试技术(A 卷)答案及评分标准 一、 单选题(20×1=20 分) 题号 答案 题号 答案 二、 题号 答案 1 A 11 B 1 × 2 C 12 A 2 √ 3 D 13 D 3 × 4 B 14 B 4 × 5 D 15 B 5 √ 6 C 16 B 6 × 7 C 17 D 7 × 8 A 18 C 8 × 9 C 19 B 9 √ 10 C 20 D 10 × 判断题(10×1=10 分) 三、 填空题(20×1=20 分) 1.编写说明书; 编写代码 2.大棒模式; 流水模式 3.等价类划分; 边界值分析法 -3- 4.测试计划; 缺陷报告 5.划分等价类表; 设计相应的测试用例 6.向前兼容; 向后兼容 7.动态黑盒测试; 静态白盒测试 8.没有时间; 风险太大 9.结构测试或逻辑驱动测试; 功能测试或数据驱动测试或基于规格说明书的测试 10.被测试程序; 测试数据(测试用例) 四、 名词解释(5×3=15 分) 1.软件缺陷: (符合下列规则的叫软件缺陷): 1) .软件未达到产品说明书的功能 2) .软件出现了产品说明书指明不会出现的错误 3) .软件功能超出产品说明书指明范围 4) .软件未达到产品说明书虽未指出但应达到的目标 5) .软件测试员认为难以理解、不易使用、运行速度缓慢、或者最终用户认为不好 2.β 测试是指软件开发公司组织各方面的典型用户在日常工作中实际使用β 版本,并要求用户报告异常 情况,提出批评意见。 3.配置管理的目的是建立和维护在软件生命周期中软件产品的完整性和一致性。一般来说,软件测试配 置管理包括 4 个最基本的活动: (1)配置标识; (2)变更控制; (3)配置状态报告; (4)配置审计。 4.测试用例就是将软件测试的行为活动,做一个科学化的组织归纳。 5.黑盒测试也称功能测试或数据驱动测试,前提是已知产品所具有的功能,通过测试来检测每个功能是 否都正常使用。 五、 简答题(3×5=15 分) 1. 1).在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。 2).在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,则可以确立一个有效等价 类和一个无效等价类。 3).在输入条件是一个布尔量的情况下,可以确立一个有效等价类和一个无效等价类。 4).在规定了输入数据的一组值(假定 n 个) ,并且程序要对每一个输入值分别处理的情况下,可以确立 n 个有效等价类和一个无效等价类。 5).在规定了输入数据必须遵守的规则的情况下,可以确立一个有效等价类(符合规则)和若干个无效等 价类(从不同角度违反规则) 。 6).在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分 为更小的等价类。 2. 1)文档资料的审查验收 2)功能测试 3)性能测试 4)强化测试 5)性能降级执行方式测试 6)检查系统的余量要求 7)安装测试 8)用户操作测试 3. -4- 系统需求分析 系统规格说明 设计 编码 S R D C U I ST V 单元测试 集成测试 系统测试 验收测试 六、 综合题(1×20=20 分) 解:第一步:划分等价类,包括 4 个有效等价类,11 个无效等价类。 输入条件 地区码 前缀 后缀 调试数据 ( ) 276-2345 有效等价类 空白(1),3 位数字(2) 无效等价类 有非数字字符(5),少于 3 位数字(6),多于三位数字(7) 从 200 到 999 之间的 3 位数 有非数字字符(8),起始位为"0"(9),起始位为"1"(10),少于 3 字(3) 位数字(11),多于 3 位数字(12) 4 位数字(4) 范围 等价类(1),(3),(4) 等价类(2),(3),(4) 范围 无效等价类(5) 无效等价类(6) 无效等价类(7) 无效等价类(8) 无效等价类(9) 无效等价类(10) 无效等价类(11) 无效等价类(12) 无效等价类(13) 无效等价类(14) 无效等价类(15) 有非数字字符(13),少于 4 位数字(14),多于 4 位数字(15) 期望结果 有效 有效 期望结果 无效 无效 无效 无效 无效 无效 无效 无效 无效 无效 无效 第二步:确定调试用例。 (635) 805-9321 调试数据 (20A) 123-4567 (33 ) 234-5678 (7777) 345-6789 (777) 34A-6789 (234) 045-6789 (777) 145-6789 (777) 34-6789 (777) 2345-6789 (777) 345-678A (777) 345-678 (777) 345-56789 对 11 个无效等价类,要选择 11 个调试用例,如下所示: 选取的调试数据可以不同,关键是与调试内容相符。 一、单项选择题;共 20 小题,每小题 1 分,满分 20 分;请将答案填入题后括号中。 1. 软件测试的目的是 (A)发现程序中的所有错误 (C)证明程序是正确的 2. 下列___不属于测试原则的内容 (A)软件测试是有风险的行为 ( (B)尽可能多地发现程序中的错误 (D)调试程序 ( (B)完全测试程序是不可能的 ) ) -5- (C)测试无法显示潜伏的软件缺陷 3. 导致软件缺陷的最大原因是 (A)编制说明书 (C)编码 4. 修复软件缺陷费用最高的是____阶段: (A)编制说明书 (C) 编写代码 (B)设计 (D)发布 (D)找到的缺陷越多软件的缺陷就越少 ( (B)设计 (D)测试 ( ) ) 5. 白盒测试是根据程序的____来设计测试用例,黑盒测试是根据软件的规格说明来设计测试用例。 (A)功能 (C)内部逻辑 6. 条件覆盖的目的是 (A)使每个判定的所有可能的条件取值组合至少执行一次 (B)使程序中的每个判定至少都获得一次“真”值和“假”值。 (C)使程序中的每个判定中每个条件的可能值至少满足一次。 (D)使程序中的每个可执行语句至少执行一次。 7. 一个程序中所含有的路径数与____有着直接的关系。 (A) 程序的复杂程度 (C)程序模块数 8. 动态黑盒子测试: (A)直接测试底层功能、过程、子程序和库 (C)从软件获得读取变量和状态信息的访问权 (B) 程序语句行数 (D)程序指令执行时间 ( ) ( ) (B)性能 (D)内部数据 ( ) (B)可估算执行测试时代码量和具体代码 (D)测试的是软件在使用过程中的实际行为 9. 在自低向上测试中,要编写称为____的模块来测验正在测试的模块。 (A) 测试存根 (C)桩模块 10. 下列___不是软件自动化测试的优点 (A)速度快、效率高 (C)能提高测试的质量 11. 配置测试 ( ) (B) 是交互适应性、实用性和有效性的集中体现 (D) 检查缺陷是否有效改正 ( (B)测试预期输出 (D)测试策略 ( ) ) (B) 测试驱动模块 (D) 底层模块 ( (B)准确度和精确度高 (D)能充分测试软件 ) (A) 是指检查软件之间是否正确交互和共享信息 (C) 是指使用各种硬件来测试软件操作的过程 12. 下列各项中___不是一个测试计划所应包含的内容 (A)测试资源、进度安排 (C)测试范围 13. 下列不属于正式审查的方式是 (A)同事审查(B) 公开陈述(C) 检验(D) 编码标准和规范 14. 在没有产品说明书时使用____: ( ) -6- (A)探索测试(B) 功能测试(C) 动态测试(D) 静态测试 15. 调试是 (A)发现与预先定义的规格和标准不符合的问题 (B)发现软件错误征兆的过程 (C)有计划的、可重复的过程 (D)消除软件错误的过程 16. 在软件底层进行的测试称为 (A) 系统测试 (B) 集成测试 (C) 单元测试 17. 在确定黑盒测试策略时,优先选用的方法是 (A) 边界值分析法 (C)错误推断法 18. 下列___不属于软件缺陷 (A) 测试人员主观认为不合理的地方 (B) 软件未达到产品说明书标明的功能 (C)软件出现了产品说明书指明不会出现的错误 (D)软件功能超出产品说明书指明范围 19. 产品发布后修复软件缺陷比项目开发早期这样做的费用要高_____ (A)1~2 倍 (B)10~20 倍 (C)50 倍 (D)100 倍或更高 ( (D)失败测试 ) ( ) (B) 等价类划分 (D)决策表方法 ( ) (D) 功能测试 ( ) ( ) ( ) 20. _____把黑盒子测试和白盒子测试的界限打乱了。 (A) 灰盒子测试 (B)动态测试 (C)静态测试 二、填空题:共 10 小题 20 个空格,每个空格 1 分,满分 20 分;请将答案填入指定的空白处。 11. 软件缺陷产生的原因包括___________________、设计、___________________以及其他原因。 12. 软件开发模式包括___________________、边写边改模式、___________________、螺旋模式。 13. 黑盒测试用例设计方法包括___________________、 ___________________以及因果图法, 错误推测法等。 14. 测试过程中, ___________________用于描述测试的整体方案, ________描述依据测试案例找出的问题。 15. 传统的等价类划分测试的实现分两步进行,一是_______,二是______________________。 16. 在兼容性测试中,_ _是指可以使用软件的以前版本, ______________________是指可以使用软件的未 来版本。 17. 测试工作就是进行输入、接受输出、检验结果,不深入代码细节,这样的测试方法称为______,在不执 行代码的条件下有条理地仔细审查软件设计、体系结构和代码,从而找出软件缺陷的测试方法称为 _。 18. 不需要修复软件缺陷的原因包括_______、不能算真正的软件缺陷、________________、不值得修复。 19. 白盒测试又称为________________,黑盒测试又称为________________。 20. 动态测试的两个基本要素是________________、________________。 三、判断题:共 10 小题,每小题 1 分,满分 10 分;请将答案以“√”“×”形式填入题后括号中。 、 1. 白盒测试的条件覆盖标准强于判定覆盖。 2. 验收测试是以最终用户为主的测试。 ( ( ) ) -7- 3. 测试程序仅仅按预期方式运行就行了。 4. 自底向上集成需要测试员编写驱动程序。 5. 好的测试员不懈追求完美。 6. 软件测试工具可以代替软件测试员。 7. 最重要的用户界面要素是软件符合现行标准和规范。 8. 自动化测试可能延误项目进度。 9. 软件测试员可以对产品说明书进行白盒测试。 10. 静态白盒测试可以找出遗漏之处和问题。 四、名词解释;共 5 小题,每小题 3 分,满分 15 分 1.软件缺陷 2. 单元测试 3.白盒测试 4.回归测试 5.等价类 五、简答题:共 3 小题,每小题 5 分,满分 15 分。 1. 什么是测试用例?为什么要设计测试用例? 2. 简述增量式集成测试的自顶向下和自底向上两种测试方法。 3.分析单元测试和代码调试的区别。 六、 :综合题:共 1 小题,每小题 20 分,满分 20 分。 1.按要求给出下列程序的测试用例(要求写出必要的说明) : (1) 语句覆盖 (2) 判定覆盖 (3) 条件覆盖 (4) 判定-条件覆盖 (5) 条件组合覆盖 A=2 O R x>1 d 返回 F a A>1 AND B=0 b F 入口 ( ( ( ( ( ( ( ( ) ) ) ) ) ) ) ) T c x = x/A T e x = x+ 1 软件测试技术(B 卷)答案及评分标准 七、单选题(20×1=20 分) 题号 答案 题号 答案 1 B 11 C 2 D 12 B 3 A 13 D 4 D 14 A 5 C 15 D 6 A 16 C 7 A 17 B 8 D 18 A 9 B 19 D 10 D 20 A 八、填空题(20×1=20 分) 1.编写说明书; 编写代码 2.大棒模式; 流水模式 3.等价类划分; 边界值分析法 4.测试计划; 缺陷报告 5.划分等价类表; 设计相应的测试用例 -8- 6.向前兼容; 向后兼容 7.动态黑盒测试; 静态白盒测试 8.没有时间; 风险太大 9.结构测试或逻辑驱动测试; 功能测试或数据驱动测试或基于规格说明书的测试 10.被测试程序; 测试数据(测试用例) 九、判断题(10×1=10 分) 题号 答案 1 × 2 √ 3 × 4 √ 5 × 6 × 7 √ 8 √ 9 √ 10 √ 十、名词解释(5×3=15 分) 1.软件缺陷: (符合下列规则的叫软件缺陷): 1) .软件未达到产品说明书的功能 2) .软件出现了产品说明书指明不会出现的错误 3) .软件功能超出产品说明书指明范围 4) .软件未达到产品说明书虽未指出但应达到的目标 5) .软件测试员认为难以理解、不易使用、运行速度缓慢、或者最终用户认为不好 2.单元测试:单元测试是对软件设计的最小单元——模块进行正确性检验的测试工作,主要测试模块在语 法、格式和逻辑上的错误。 3.白盒测试 白盒测试也称为结构测试或逻辑驱动测试,前提是知道产品内部工作过程,可通过测试来检测产品内部动 作是否按照规格说明书的规定正常进行,按照程序内部的机构测试程序,检测程序中的每条通路是否都能 够按预定要求正确工作,而不管产品的功能,主要用于软件验证。 4.回归测试 指软件系统被修改或扩充(如系统功能增强或升级)后重新进行的测试,是为了保证对软件所做的修改没 有引入新的错误而重复进行的测试。 5.等价类:指某个输入域的子集合,在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。 十一、 简答题(3×5=15 分) 1. 所谓的测试用例就是将软件测试的行为活动,做一个科学化的组织归纳。 使用测试用例的好处主要体现在以下几个方面: ? ? ? ? 在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试效率。 测试用例的使用令软件测试的实施重点突出、目的明确。 在软件版本更新后只需修正少部分的测试用例便可展开测试工作,降低工作强度、缩短项目周期。 功能模块的通用化和复用化使软件易于开发,而相对于功能模块的测试用例的通用化和复用化则 会使软件测试易于开展,并随着测试用例的不断精化其效率也不断攀升 2. 自顶向下增量式测试的主要优点在于它可以自然地做到逐步求精,一开始便能让测试者看到系统 -9- 的框架。它的主要缺点是需要提供被调用模拟子模块,被调用模拟子模块可能不能反映真实情况,因此测 试有可能不充分。 自底向上测试的优点在于,由于驱动模块模拟了所有调用参数,即使数据流并未构成有向的非环 状图, 生成测试数据也没有困难。 它的缺点在于, 直到最后一个模块被加入进去之后才能看到整个程序 (系 统)的框架。 3. 表面上这两项技术很相似,因为它们都包括查看代码、运行程序和处理软件缺陷的过程,但是它 们的目标不同:单元测试是为了发现软件缺陷,而代码调试的目标是修复软件缺陷。在分离和查找软件缺 陷原因时这两个过程发生交叉。 十二、 综合题(1×20=20 分) 图中共有 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) 不定项选择题(每题 2 分,共 20 分)请将答案填入题后括号中。 1.软件验收测试的合格通过准则是:( ) A. 软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。 B. 所有测试项没有残余一级、二级和三级错误。 C. 立项审批表、需求分析文档、设计文档和编码实现一致。 D. 验收测试工件齐全。 2.软件测试计划评审会需要哪些人员参加?( ) A.项目经理 B.SQA 负责人 C.配置负责人 D.测试组 3.下列关于 alpha 测试的描述中正确的是:( A.alpha 测试需要用户代表参加 ) -10- B.alpha 测试不需要用户代表参加 C.alpha 测试是系统测试的一种 D.alpha 测试是验收测试的一种 4.测试设计员的职责有:( ) A.制定测试计划 B.设计测试用例 C.设计测试过程、脚本 D.评估测试活动 5.下面哪些属于动态分析( ) A. 代码覆盖率 B. 模块功能检查 C. 系统压力测试 D. 程序数据流分析 6.下面哪些属于静态分析( ) A、 代码规则检查 B、 程序结构分析 C、 程序复杂度分析 D、 内存泄漏 7.软件实施活动的进入准则是( ) A、 需求工件已经被基线化 B、 详细设计工件已经被基线化 C、 构架工件已经被基线化 D、 项目阶段成果已经被基线化 8.不属于单元测试内容的是 (A)模块接口测试 ( ) (D)用户界面测试 (B)局部数据结构测试(C) 路径测试 ) 9.软件测试设计活动主要有( A、 工作量分析 B、 确定并说明测试用例 C、 确立并结构化测试过程 D、 复审并评估测试覆盖 10.不属于集成测试步骤的是( ) A、 制定集成计划 B、 执行集成测试 C、 记录集成测试结果 D、 回归测试 二、填空题:共 3 小题 10 个空格,每个空格 2 分,满分 20 分;请将答案填入指定的空白处。 21. 通过画因果图来写测试用例的步骤为___________________、___________________、 ___________________、把因果图转换为状态图和___________________及共五个步骤。 22. 软 件 测 试 主 要 分 为 ___________________ 、 ___________________ 、 ___________________ 、 ___________________四类测试。 23. 软件缺陷产生的原因包括___________________、设计、___________________以及其他原因。 三、判断题:共 10 小题,每小题 1 分,满分 10 分;请将答案以“√”“×”形式填入题后括号中。 、 1.软件测试的目的是尽可能多的找出软件的缺陷。( 2.Beta 测试是验收测试的一种。( 3.验收测试是由最终用户来实施的。( ) ) ) ) 4.项目立项前测试人员不需要提交任何工件。( 5.单元测试能发现约 80%的软件缺陷。( ) 6.代码评审是检查源代码是否达到模块设计的要求。( 7.自底向上集成需要测试员编写驱动程序。( ) ) 8.负载测试是验证要检验的系统的能力最高能达到什么程度。( 9.测试人员要坚持原则,缺陷未修复完坚决不予通过。( 10.代码评审员一般由测试员担任。( ) ) ) 四、名词解释;共 5 小题,每小题 3 分,满分 15 分 -11- 1.α 测试 2. β 测试 3.驱动模块 4. 桩模块 5. 静态测试 五、简答题:共 3 小题,每小题 5 分,满分 15 分。 1. 阶段评审与同行评审的区别。 2 . 什么是软件测试。 3 . 简述集成测试的过程。 六、综合题:共 1 小题,每小题 20 分,满分 20 分。 在三角形计算中,要求三角型的三个边长:A、B 和 C。当三边不可能构成三角形时提示 错误,可构成三角形时计算三角形周长。若是等腰三角形打印“等腰三角形”,若是等边三 角形,则提示“等边三角形”。给出程序伪代码、控制流程图、找出基本测试路径。 软件测试技术(C 卷)答案及评分标准 十三、 单选题(10×2=20 分) 题号 答案 1 ABCD 2 ABCD 3 AD 4 BC 5 CD 6 ABC 7 ABC 8 D 9 ABCD 10 D 十四、 填空题(20×1=20 分) 1. 分析程序规格说明的描述中,哪些是原因,哪些是结果 、分析程序规格说明的描述中语义的内容,并将其表示成连接 各个原因与各个结果的因果图、 在因果图上使用若干个特殊的符号标明特定的约束条件、 把判定表中每一列表示的情况 写成测试用例 2. 单元测试、集成测试、系统测试、验收测试 3. 需求、编码 十五、 判断题(10×1=10 分) 题号 答案 1 √ 2 √ 3 × 4 √ 5 √ 6 × 7 √ 8 × 9 × 10 × 十六、 名词解释(5×3=15 分) 1.α 测试 有时也称为室内测试,是由一个用户在开发环境下进行的测试,也可以是开发机构内部的用户在模拟实际 操作环境下进行的测试。 2. β 测试 是由软件的多个用户在一个或多个用户的实际使用环境下进行的测试。 3.驱动模块 驱动模块就是用来代替主模块,用它来调用子模块 4. 桩模块 集成测试前要为被测模块编制一些模拟其下级模块功能的“替身”模块,以代替被测模块的接口,接受或 传递被测模块的数据,这些专供测试用的“假”模块称为被测模块的桩模块。 -12- 5. 静态测试 就是不执行程序的测试,包括代码走查,编码规则检查,质量评审,设计评审等。 十七、 简答题(3×5=15 分) 1.区别阶段评审的与同行评审 同行评审目的:发现小规模工作产品的错误,只要是找错误; 阶段评审目的:评审模块 阶段作品的正确性 可行性 及完整性 同行评审人数:3-7 人 人员必须经过同行评审会议的培训,由 SQA 指导 阶段评审人数:5 人左右 评审人必须是专家 具有系统评审资格 同行评审内容:内容小 一般文档 < 40 页, 代码 < 500 行 阶段评审内容: 内容多,主要看重点 同行评审时间:一小部分工作产品完成 阶段评审时间: 通常是设置在关键路径的时间点上。 2.什么是软件测试 最简单的说:为了发现程序中的错误而执行程序的过程 3 简述集成测试的过程 系统集成测试主要包括以下过程: 1. 构建的确认过程。 2. 补丁的确认过程。 3. 系统集成测试测试组提交过程。 4. 测试用例设计过程。 5. 测试代码编写过程。 6. Bug 的报告过程。 7. 每周/每两周的构建过程。 8. 点对点的测试过程。 9. 组内培训过程。 十八、 综合题(1×20=20 分) 21 14 12 10 9 11 4 13 1. 2. 3. 4. 5. 6. 7. 8. 9. Program triangle2 Dim a,b,c As Integer Dim IsATriangle As Boolean Output(“Enter 3 integers which are sides of a triangle”) Input(a,b,c) 20 15 16 17 18 19 Output(“Side A is ”,a) Output(“Side B is ”,b) Output(“Side C is ”,c) If (ab)AND(a<>c)AND(b<>c) 17. Then 18. Else 19. EndIf 20. EndIf 21.Else Output(“NOT a Triangle”) 22.EndIf 23.End triangle2 圈复杂度是 5。 基本路径 (略) 。 选择题(每题 2 分,共 20 分)请将答案填入题后括号中。 1.从供选择的答案中选出应填入下列( )中的字句。 Output(“Scalence”) Output(“Isosecles”) 软件测试的目的是( A ) 。为了提高测试的效率,应该( B ) 。使用白盒测试方法时,确定测试数据应根 据( C )和指定的覆盖标准。与设计测试数据无关的文档是( D ) 。 软件的集成测试工作最好由( E )承担,以提高集成测试的效果。 供选择的答案: A. ① 评价软件的质量 ③ 找出软件中的所有错误 B. ① 随机地选取测试数据 ② 取一切可能的输入数据作为测试数据 ③ 在完成编码以后制定软件的测试计划 ④ 选择发现错误的可能性大的数据作为测试数据 C. ① 程序的内部逻辑 ③ 使用说明书 D. ① 该软件的设计人员 ③ 源程序 E. ① 该软件的设计人员 ③ 该软件的编程人员 ② 程序的复杂程度 ④ 程序的功能 ② 程序的复杂程度 ④ 项目开发计划 ② 该软件开发组的负责人 ④ 不属于该软件开发组的软件设计人员 ② 发现软件的错误 ④ 证明软件是正确的 -14- 2.请从供选择的答案中选出应填入下列( )中的字句。 程序的三种基本控制结构是( A ) 。它们的共同点是( B ) 。结构化程序设计的一种基本方法是( C ) 。 软件测试的目的是( D ) 。软件调试的目的是( E ) 。 供选择的答案: A. ① 过程,子程序,分程序 ③ 递归,堆栈,队列 B. ① 不能嵌套使用 ③ 已经用硬件实现 C. D. ① 筛选法 ② 递归法 ② 顺序,条件,循环 ④ 调用,返回,转移 ② 只能用来写简单的程序 ④ 只有一个入口和一个出口 ③ 归纳法 ② 发现程序中的错误 ④ 检查程序中的语法错误 ② 排除存在错误的可能性 ④ 统计出错的次数 ④ 逐步求精法 ① 证明程序中没有错误 ③ 测量程序的动态特性 E. ① 找出错误所在并改正之 ③ 对错误性质进行分类 3.从下列关于软件测试的叙述中,选出 5 条正确的叙述。 (1) 用黑盒法测试时,测试用例是根据程序内部逻辑设计的。 (2) 尽量用公共过程或子程序去代替重复的代码段。 (3) 测试是为了验证该软件已正确地实现了用户的要求。 (4) 对于连锁型分支结构,若有 n 个判定语句,则有 2n 条路径。 (5) 尽量采用复合的条件测试,以避免嵌套的分支结构。 (6) GOTO 语句概念简单,使用方便,在某些情况下,保留 GOTO 语句反能使写出的程序更加简洁。 (7) 发现错误多的程序模块,残留在模块中的错误也多。 (8) 黑盒测试方法中最有效的是因果图法。 (9) 在做程序的单元测试时,桩(存根)模块比驱动模块容易编写。 (10) 程序效率的提高主要应通过选择高效的算法来实现。 4.从供选择的答案中选出同下列关于软件测试的各条叙述关系最密切的字句。 A.对可靠性要求很高的软件,例如操作系统,由第三者对源代码进行逐行检查。 B.已有的软件被改版时,由于受到变更的影响,改版前正常的功能可能发生异常,性能也可能下降。因 此,对变更的软件进行测试是必要的。 C.在意识到被测试模块的内部结构或算法的情况下进行测试。 D.为了确认用户的需求,先做出系统的主要部分,提交给用户试用。 E.在测试具有层次结构的大型软件时,有一种方法是从上层模块开始,由上到下进行测试。此时,有必 要用一些模块替代尚未测试过的下层模块。 供选择的答案: A?E: ① 仿真器 ⑥ 域测试 ② 代码审查 ⑦ 黑盒测试 ③ 模拟器 ⑧ 原型 ④ 桩 ⑨ 白盒测试 ⑤ 驱动器 ⑩ 退化测试 二、填空题:共 4 小题 10 个空格,每个空格 2 分,满分 20 分;请将答案填入指定的空白处。 -15- 24. 对面向过程的系统采用的集成策略有___________________、___________________两种。 25. 软件测试主要分为_____、__________、___________________、___________________四类测试。 26. 黑盒测试用例设计方法包括______、_____________以及___________________,错误推测法等。 27. 测试工作就是进行输入、接受输出、检验结果,不深入代码细节,这样的测试方法称为_______, 三、判断题:共 10 小题,每小题 1 分,满分 10 分;请将答案以“√”“×”形式填入题后括号中。 、 1. 好的测试员不懈追求完美。( ) ) ) ) 2. 测试程序仅仅按预期方式运行就行了。( 3. 不存在质量很高但可靠性很差的产品。( 4. 在没有产品说明书和需求文档的条件下可以进行动态黑盒测试。( 5. 静态白盒测试可以找出遗漏之处和问题。( 6. 测试错误提示信息不属于文档测试范围。( 7. 单元测试能发现约 80%的软件缺陷。( ) ) ) ) 8. 代码评审是检查源代码是否达到模块设计的要求。( 9. 自顶向下集成需要测试员编写驱动程序。( 10. 总是首先设计黑盒测试用例。( ) ) 四、名词解释;共 5 小题,每小题 3 分,满分 15 分 1.验收测试 2.失败测试 3.驱动模块 4. 桩模块 5. 白盒测试 五、简答题:共 3 小题,每小题 5 分,满分 15 分。 1. 怎样做好文档测试? 2. 什么是软件测试?软件测试与调试有什么区别? 3. 软件测试包括哪些类型的测试?这些测试之间的区别是什么? 六、 :综合题:共 1 小题,每小题 20 分,满分 20 分。 针对以下问题:某一种 8 位计算机,其十六进制常数的定义是以 0x 或 0X 开头的十六进制整数,其取 值范围为-7f~7f(不区分大小写字母) ,如 0x13、0x6A、-0x3c。请采用等价类划分的方法设计测试用 例。 软件测试技术(D 卷)答案及评分标准 十九、 单选题(20×1=20 分) 题号 答案 题号 答案 1A ② 3 (4) 1B ④ 3 (5) 1C ① 3 (6) 1D ④ 3 (7) 1E ④ 3 (10) 2A ② 4A ② 2B ④ 4B ⑩ 2C ④ 4C ⑨ 2D ② 4D ⑧ 2E ① 4E ④ 二十、 填空题(20×1=20 分) 1. 自顶向下集成、自底向上集成 2. 单元测试、集成测试、系统测试、验收测试 3. 等价类划分、边界值分析、因果图 -16- 4. 黑盒测试 二十一、 题号 答案 二十二、 1.验收测试 是软件产品完成了功能测试和系统测试之后,在产品发布之前所进行的软件测试活动。 2.失败测试 纯粹为了破坏软件而设计和执行的测试案例,被称为失败测试。 3.驱动模块 驱动模块就是用来代替主模块,用它来调用子模块 4. 桩模块 集成测试前要为被测模块编制一些模拟其下级模块功能的“替身”模块,以代替被测模块的接口,接受或 传递被测模块的数据,这些专供测试用的“假”模块称为被测模块的桩模块。 5.白盒测试 也称为结构化测试、基于代码的测试,是一种测试用例设计方法,它从程序的控制结构导出测试用例。 二十三、 简答题(3×5=15 分) 判断题(10×1=10 分) 1 × 2 × 3 √ 4 √ 5 √ 6 × 7 √ 8 √ 9 × 10 √ 名词解释(5×3=15 分) 1. 仔细阅读,跟随每个步骤,检查每个图形,尝试每个示例。 检查文档的编写是否满足文档编写的目的 内容是否齐全,正确 内容是否完善 标记是否正确 2. 软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说 明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果) ,并利用这些测 试用例去运行程序,以发现程序错误的过程。 软件测试与调试在目的、技术和方法等方面存在很大的区别,主要表现在如下方面: (1) 测试是为了发现软件中存在的错误;调试是为了证明软件开发的正确性。 (2) 测试以已知条件开始,使用预先定义的程序,且有预知的结果,不可预见的仅是程序是否通过测 试;调试一般是以不可知的内部条件开始,除统计性调试外,结果是不可预见的。 (3) 测试是有计划的,需要进行测试设计;调试是不受时间约束的。 (4) 测试经历发现错误、改正错误、重新测试的过程;调试是一个推理的过程。 (5) 测试的执行是有规程的;调试的执行往往要求开发人员进行必要推理以至知觉的"飞跃"。 (6) 测试经常是由独立的测试组在不了解软件设计的条件下完成的;调试必须由了解详细设计的开发 人员完成。 (7) 大多数测试的执行和设计可以由工具支持;调式时,开发人员能利用的工具主要是调试器。 3.软件测试包括单元测试、集成测试、确认测试和系统测试等。