软件测试期末考试复习
【例5】下列软件属性中,软件产品首要满足的应该是 A 。
A)功能需求 B)性能需求 C)可扩展性和灵活性 D)容错、纠错能力 【例7】在测试和使用软件产品过程中进行的度量是 B 。 A)内部度量 B)外部度量C)使用度量 D)性能度量解 【例8】对于维护软件的人员来说。使用质量是 C 的结果。 A)功能性 B)可靠性 C)可维护性 D)效率 考点3 软件缺陷的基本知识(考题透解)
例1】以下哪一种选项不属于软件缺陷 D 。
A)软件没有实现产品规格说明所要求的功能 B)软件中出现了产品规格说明不应该出现的功能
C)软件实现了产品规格说明没有提到的功能
D)软件实现了产品规格说明所要求的功能但因受性能而未考虑可移植性问题 【例2】软件生存周期过程中,修改错误代价最大的阶段是 D 。(2008.09) A)需求阶段 B)设计阶段 C)编程阶段 D)发布运行阶段
【例3】以程序内部的逻辑结构为基础的测试用例设计技术属于 D 。 A)灰盒测试 B)数据测试 C)黑盒测试 D)白盒测试
解 析:软件缺陷产生的原因大的方面讲主要有技术问题、团队合作、软件本身三方面 【例6】下面有关软件缺陷的说法中错误的是 C 。 A)缺陷就是软件产品在开发中存在的错误
B)缺陷就是软件维护过程中存在的错误、毛病等各种问题 C)缺陷就是导致系统程序崩溃的错误
D)缺陷就是系统所需要实现的某种功能的失效和违背
【例7】功能或特性没有实现,主要功能部分丧失,次要功能完全丧失,或致命的错误声明,这属于软件缺陷级别中的 B 。
A)致命的缺陷 B)严重的缺陷C)一般的缺陷 D)微小的缺陷 【例9】软件缺陷产生的原因有 D 。
A)技术问题 B)团队工作 C)软件本身 D)以上全部
【例10】下列引起软件缺陷的因素不属于技术问题的是 A 。 A)内容不正确 B)算法错误C)语法错误 D)系统结构不合理
解析:技术问题主要有:算法错误、语法错误、计算和精度问题、系统结构不合理、算法选择不科学、接口参数传递不匹配。A属于软件本身造成的缺陷。
【例13】黑盒测试是一种重要的测试策略,又称为数据驱动的测试,其测试数据来源于 A 。
A)软件规格说明 B)软件设计说明 C)概要设计说明 D)详细设计说明
【例14】即使对程序的所有路径都进行了测试,程序也可能存在没能检查出来的缺陷,其原因可能是 D 。 A)程序可能会因为缺少某些路径而存在问题 B)即使是穷举路径测试也决不能保证程序符合其设计规格说明 C)穷举路径测试也可能不会暴露数据敏感错误 D)以上全部
15测试是软件生存期中费用消耗最大的环节。能够决定需要做多少次测试的影响因素有D 。 A) 系统的目标和信息的价值 B)潜在的用户数量C)开发组织和测试的时机 D)以上全部 1.软件质量是软件产品能否得到市场认可的最基本的问题,而软件测试是保证软件质量的重要手段,下面关于软件测试任务正确的是D 。 1)预防软件发生错误 2)发现改正程序错误 3)提供诊断错误信息 A)仅1) B)仅1)和2) C)仅1)和3) D)都是 2.下面说法正确的是 A 。
A)我们无法测试一个程序确认它没有错误 B)黑盒测试是逻辑驱动的测试
C)穷举测试一定可以暴露数据敏感错误 D)白盒测试是一种输入输出驱动的测试 3.软件测试的目的是B 。 A)评价软件的质量 B)发现软件的错误 C)找出软件中所有的错误 D)证明软件的正确的
5.为了提高测试的效率,应该 D 。
A)随机地选取测试数据 B)取一切可能的输入数据作为测试数据 C)在完成编码以后制定软件的测试计划
D)选择发现错误的可能性大的数据作为测试数据
6.软件的集成测试工作最好由什么人员承担,以提高集成测试的效果 B 。 A)该软件的设计人员 B)不属于该软件开发组的软件设计人员 C)该软件开发组的负责人 D)该软件的编程人员 7.软件测试计划的内容应包括 D 。
A)测试目的、背景 B)被测软件的功能、输入和输出 C)测试内容和评价标准 D)以上全部
8.计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷是属于 A。 A)缺陷 B)故障 C)失效 D)缺点 (缺陷的概念) 9.问题还没有解决,测试人员新报告的缺陷,或验证后缺陷仍然存在,这些缺陷所处的状态是 A 。 A)激活状态 B)非激活状态C)已修正状态 D)关闭状态 10.下列不属于软件本身的原因而产生的缺陷的是 C 。 A)算法错误 B)语法错误
C)文档错误 D)系统结构不合理
13.软件生存期中费用消耗最大的环节是 A 。
A)软件测试 B)软件开发C)软件质量保证 D)软件文档审查 14.证实在一个给定的外部环境中软件的逻辑正确性是 B 。 A)验证 B)确认 C)测试 D)调试
15.对于一个软件的各种需求,要确定其关键性类型,定义关键性级别的依据是 D 。 A)系统任务 B)安全性 C)技术复杂性 D)以上全部
1)坚持在软件开发的各个阶段实施下列哪种质量保证措施,才能在开发过程中尽早发现和预防错误,把出现的错误克服在早期 A
A)技术评审 B)程序测试 C)文档审查 D)管理评审
3)对程序中已发现的错误进行错误定位和确定出错性质,并改正这些错误,同时修改相关
的文档,称为B . A)测试 B)调试 C)错误分析 D)验证 4)自底向上单元测试的策略是首先对模块调用图上的哪一层模块进行测试 A A)最底层 B)下一层 C)最高层 D)上一层
5)同行评审,有时称为同级评审,是一种通过作者的同行来确认缺陷和需要变更区域的检查方法。它主要分为管理评审、技术评审、文档评审和 C
A)误差评审 B)项目评审 C)过程评审 D)组织体系评审 6.关于同行评审说法正确的是(D)
A同行评审是对程序进行模拟,一步步的展示程序如何处理测试数据 B同行评审虽然可以缩减工作时间,但同时也增加了大量的成本 C在软件开发过程中进行同行评审会浪费时间,减缓项目的进度
D同行评审的目的是发现产品的缺陷,因此在评审上的投入可以减少大量的后期返工 7.如果一个判定的复合条件表达式为(A>1)Or (B<=3),则为了达到100%的条件覆盖率,至少需要设计多少个测试用例(B)A 1 B 2 C 3 D 4
8.数据流覆盖关注的是程序中某个变量从其声明,赋值到引用的变化情况,它是下列哪种覆盖的变种(D) A语句覆盖 B控制覆盖 C分支覆盖 D路径覆盖
9.大突击测试把所有的模块一次性集成为一个完整的系统后进行测试,很容易(B) A通过测试 B整体测试 C快速查错 D快速排错
10.在软件性能测试中,下列指标中哪个不是软件性能的指标(D) A响应时间 B吞吐量 C资源利用率 D并发进程数 11.下列关于软件性能测试的说法中,正确的是(C) A性能测试的目的不是为了发现软件缺陷
B压力测试与负载测试的目的是为了探测软件在满足预定性能需求的情况下所能负担的最大压力 C性能测试通常要对测试结果进行分析才能获得结论
D在性能下降曲线下,最大建议用户数通常处于性能轻微下降区和性能急剧下降区的交界处 12.下列关于软件可靠性测试的说法中,错误的是(A) A发现软件缺陷是软件可靠性测试的主要目的 B软件可靠性测试通常用于有可靠性要求的软件
C在一次软件可靠性测试中,执行的测试用例必须完全符合所有定义的软件运行剖面 D可靠性测试通常要对测试结果进行分析才能获得测试结论
17.下列哪一项不属于软件功能易用性测试关注的内容(A)
A软件界面的色彩是否协调 B软件是否能主动禁止用户可能进行的非法操作 C软件是否允许用户针对自己的使用习惯进行定制 D软件是否能帮助用户减少输入中的重复劳动
22.计算机软件测试规范规定,软件测试的类别可分为:单元测试,集成测试以及(D) A系统测试 B验收测试 C系统测试和验收测试 D配置测试,系统测试和验收测试 补充:软件质量模型有几种:
三种 外部质量模型 内部质量模型 和使用质量模型 简答题
1. 软件测试的目的和原则
目的:在于检测某个系统是否满足规定的需要或弄清楚预期结果与实际结果之间的差别 原则:(1)软件测试应该追溯到用户需求(2)应尽早和不断地测试(3)穷尽测试是不可能的(4)具有良好的测试态度(5)对待缺陷的基本原则(6)对测试结果的处理原则。
2. 黑盒白盒测试的概念及优缺点
黑盒测试概念:也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过
测试来检测每个功能是否都能正常使用 优点:
1)简单,不需要了解程序内部的代码及实现;
2)从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题; 3)基于软件开发文档,所以也能知道软件实现了文档中的哪些功能; 4)在做软件自动化测试时比较方便。 缺点:
1)测试不可能覆盖所有的代码,覆盖率较低, 2)自动化测试的复用性较低。
白盒测试概念:白盒测试方法又称结构测试,它是根据程序的内部结构设计测试数据,检查程序中的每条通路是否都能按要求正确运行 优点:
帮助软件测试人员发现问题,增加覆盖率,提高代码质量,发现隐藏的问题 缺点:
(1) 程序运行有很多路径,不可能测试所有的路径。
(2) 基于代码,只能测试程序设计的对不对,不能判断功能设计合不合理。 (3) 测试开销大。
3. 单元测试 集成测试 系统测试的概念
单元测试 是指对软件中的最小可测试的单元或基本组成单元进行检查和验证。
集成测试 是在单元测试的基础上,将所有已通过单元测试的模块按照概要设计的要求组装为子系统或系统,进行集成测试。目的是确保个单元模块组合在一起后能够按既定意图协作运行,并确保增量的行为正确。
系统测试 是将已经过良好的集成测试的软件系统,作为整个计算机系统的一部分,与
计算机硬件、外部设备、支持软件、数据以及人员等其他系统元素结合在一起,在实际使用(运行)环境下对计算机系统进行一系列的严格测试来发现
软件中的潜在缺陷,保证系统交付给用户之后能够正常使用。
4. 为什么在单元测试之后要设计集成测试
单元测试概念,集成测试概念(见题3)
在测试过程中经常遇到的情况是:单元测试中每个模块都能单独工作,但将这些模块集成在一起之后,某些模块就不能正常工作了。因此,单元测试无法代替集成测试,每个模块的性能最优并不能保证集成之后的指标达到最优。 5. 黑盒测试的几种方法及特点
(1) 边界值测试 (测试的思想较为简单,自动化程度高,较容易实现自动化测试,是等价
类测试良好的补充。但该法有较大的冗余和漏洞,对布尔型和逻辑型问题无效。) (2) 等价类测试 (具有良好的理论基础,可以处理布尔型和逻辑型的问题,达到测试的
完备性和无冗余性,工作量较低。但无法保证对整个有效域的覆盖。) (3) 因果图测试 (很好的描述了输入条件之间的组合,降低测试冗余。但因果图的绘制
十分繁琐,且其最终输出的是一个决策表。)
(4) 决策表测试 (很好的描述了输入条件之间的组合,降低测试冗余,若与等价类测试相结合,将得到完备且无冗余的测试。但该法仅针对输入域展开分析,不适用于对输出域来展开测试。)
6. 黑盒测试的两种方法:通过测试 与 失败测试 的概念
通过测试: 通过执行测试用例看看软件基本功能是否实现,以确定软件在普通情况下能够正确运行
失败测试: 采取各种手段通过“搞垮软件”来找出缺陷,是纯粹为了破坏软件而设计和执行测试用例。
7. 软件测试与调试有什么区别
测试是一个有计划的,可以重复的过程,它的目的是为了发现与预先定义的规格和标准不符合的问题
调试是一个随机的,不可重复的过程,它用于隔离和确认问题发生的原因,然后修改软件来纠正问题
8. 等价类划分方法及原则
划分方法:把所有可能的输入数据,即程序的输入域划分成若干部分,然后从每一个子集
中选取少数具有代表性的数据作为测试用例。
基本原则:
(1)若输入条件规定了取值范围,且取值范围上、下限之间的数据是有意义的数据,则可确立一个有效等价类和两个无效等价类。
(2)若输入条件规定了“必须如何”的条件,则可确定一个有效等价类和一个无效等价类。 (3)若输入条件是一个布尔型量,则可确定一个有效等价类和一个无效等价类。
(4)若输入条件是一个逻辑型量,即规定了输入数据的一组值,且软件要对每个输入值分别进行处理,则可为每一个输入值确定一个有效等价类,此外还有针对这组值确立一个无效等价类,它是所有不允许的输入值的集合。
9. 什么是语句覆盖 判定覆盖 条件覆盖 判定/条件覆盖 条件组合覆盖 修正的判定/
条件覆盖。
(1)语句覆盖:设计测试用例时应保证程序中每一条可执行语句至少执行一次。 (2)判定覆盖:设计测试用例时应保证程序中每个判定节点的取真和取假分支至少执行一次。
(3)条件覆盖:设计测试用例时应保证程序每个复合判定表达式的每个简单判定条件的取真和取假情况至少执行一次。
(4)判定/条件覆盖:设计测试用例时应满足判定节点取真和取假分支至少执行一次,切每个简单判定条件的取真和取假情况至少执行一次。
(5)条件组合覆盖:设计测试用例时应满足每个判定节点中所有简单判定条件的各种可能取值的组合应至少执行一次。
(6)修正的判定/条件覆盖:在满足判定/条件覆盖的基础上,每个简单逻辑判定条件都应能够影响整个判定表达式。 设计题
1.画出等价类表,设计测试用例 找零钱最佳组合问题
(1)首先分析题目中给出的条件和隐含的输入要求,输入条件如下: a) 正整数; b) 两个数 c) 0<=P<=100 d) 0<=R<=100, e) R<=P
(2)根据输入条件的要求划分等价类,列出等价类表并编号。
找零钱问题的等价类
等价类 有效等价类 输入条件 一个为非数字字符 R为非数字字符 P为非数字字符 6 7 8 9 10 11 12 13 14 15 16 编号 无效等价类 编号 数字字符 两个数字字符 两个数 1 两个均为非数字字符 只输入一2 个数字字符 只给R 只给P 未输入数 R<0 0<=R<=100 3 R>100 P<0 0<=P<=100 R<=P 4 P>100 5 R>P 找钱结果
(3)设计测试用例,覆盖上表中的等价类
找零钱问题的测试用例
测试用例 编号 1 2 3 4 5 输入数据 R 2 A 10 @ 3 P 10 10 K ! a(50) 0 预期输出 b(10) 0 c(5) 1 d(1) 3 覆盖等价类 1,2,3,4,5 6 7 8 9 提示:输入正确数据 提示:输入正确数据 提示:输入正确数据 提示:输入正确数据
6 7 8 9 10 11 12 -1 101 11 11 20 10 10 100 -1 101 10 提示:输入正确数据 提示:输入正确数据 提示:输入数据为1-100,请重新输入 提示:输入数据为1-100,请重新输入 提示:输入数据为1-100,请重新输入 提示:输入数据为1-100,请重新输入 提示:所给金额小于货物价格,请重新输入 10 11 12 13 14 15 16 (4)执行测试用例,记录测试结果,报告发现的问题。
当输入的数在有效数据范围内时,我们只能测试有效输入的一部分数据。无效数据的范围远比有效输入范围大,要彻底测试是不可能的。
2.基路径测试,画出控制流图,计算环复杂度,写出路径,画出测试用例表
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. 下列说法不正确的是
( )
(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) 编码标准和规范 题号 1 2 3 4 5 6 7 8 9 10
答案 题号 答案
A 11 B C 12 A D 13 D B 14 B D 15 B C 16 B C 17 D A 18 C C 19 B C 20 D 三、填空题:共10小题20个空格,每个空格1分,满分20分;请将答案填入指定的空白处。 1.编写说明书; 编写代码 2.大棒模式; 流水模式 3.等价类划分; 边界值分析法 4.测试计划; 缺陷报告
5.划分等价类表; 设计相应的测试用例 6.向前兼容; 向后兼容
7.动态黑盒测试; 静态白盒测试 8.没有时间; 风险太大 9.结构测试或逻辑驱动测试;
功能测试或数据驱动测试或基于规格说明书的测试 10.被测试程序; 测试数据(测试用例)
1. 软件缺陷产生的原因包括___编写说明书__、设计、___编写代码__以及其他原因。 黑盒测试用例设计方法包括______边界值分析法_____、_____等价类划分法_______以及因果图法,错误推测法等。
2. 测试过程中, __测试计划__描述用于描述测试的整体方案,_____缺陷报告__描述依据测试案例找出的问题。
3. 传统的等价类划分测试的实现分两步进行,一是__划分等价类表____,二是_____设计相应测试用例_____。
4. 在兼容性测试中, __向前兼容_是指可以使用软件的以前版本, _向后兼容__是指可以使用软件的未来版本。
5. 测试工作就是进行输入、接受输出、检验结果,不深入代码细节,这样的测试方法称为__动态___黑盒测试____,在不执行代码的条件下有条理地仔细审查软件设计、体系结构和代码,从而找出软件缺陷的测试方法称为_______静态_____白盒测试____。
6. 不需要修复软件缺陷的原因包括______没有时间__________、不能算真正的软件缺陷、______风险太大__________、不值得修复。
7. 白盒测试又称为_______结构测试_____,黑盒测试又称为____功能测试
8. 动态测试的两个基本要素是___被测试程序_______、_______被测试数据(测试用例)___。 四、
名词解释:共5小题,每小题3分,满分15分
1. 软件缺陷 2.β测试 3.测试的配置管理 4.测试用例 5.黑盒测试 五、
简答题:共3小题,每小题5分,满分15分。
1.如何划分等价类?2.软件验收测试应完成哪些主要测试工作? 3. 简述软件开发-软件测试的对用关系。 软件计划 软件需求 概要设计 详细设计 代码 验收测试 系统测试 集成测试 单元测试
六、综合题:共1小题,每小题20分,满分20分。
1. 某城市的电话号码由三部分组成。这三部分的名称和内容分别是 地区码:空白或三位数字;
前 缀:非’0’或’1’开头的三位数; 后 缀:四位数字。
假定被调试的程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的号码,试用等价分类法来设计它的调试用例。
软件测试基础(A卷)答案及评分标准
一、单选题(20×1=20分)
题号 答案 题号 答案
二、填空题(20×1=20分)
1.编写说明书; 编写代码 2.大棒模式; 流水模式
1 A 11 B 2 C 12 A 3 D 13 D 4 B 14 B 5 D 15 B 6 C 16 B 7 C 17 D 8 A 18 C 9 C 19 B 10 C 20 D 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. 系统需求分析系统规格说明设计编码SRDCUISTV单元测试集成测试系统测试验收测试 五、综合题(1×20=20分)
解:第一步:划分等价类,包括4个有效等价类,11个无效等价类。 输入条件 地区码 前缀 后缀 有效等价类 空白(1),3位数字(2) 无效等价类 有非数字字符(5),少于3位数字(6),多于三位数字(7) 从200到999之间的3位数有非数字字符(8),起始位为\"0\"(9),起始位为\"1\"(10),少于3字(3) 4位数字(4) 位数字(11),多于3位数字(12) 有非数字字符(13),少于4位数字(14),多于4位数字(15) 第二步:确定调试用例。 调试数据
( ) 276-2345 (635) 805-9321
范围
等价类(1),(3),(4) 等价类(2),(3),(4)
期望结果 有效 有效
对11个无效等价类,要选择11个调试用例,如下所示: 调试数据
(20A) 123-4567 (33 ) 234-5678 (7777) 345-67 (777) 34A-67 (234) 045-67 (777) 145-67 (777) 34-67 (777) 2345-67 (777) 345-678A (777) 345-678 (777) 345-567
范围
无效等价类(5) 无效等价类(6) 无效等价类(7) 无效等价类(8) 无效等价类(9) 无效等价类(10) 无效等价类(11) 无效等价类(12) 无效等价类(13) 无效等价类(14) 无效等价类(15)
期望结果 无效 无效 无效 无效 无效 无效 无效 无效 无效 无效 无效
选取的调试数据可以不同,关键是与调试内容相符。 一、 单项选择题:共20小题,每小题2 分,满分40分。 1.软件测试的目的:( c )
A. 避免软件开发中出现的错误
B. 发现软件开发中出现的错误
C. 尽可能发现并排除软件中潜藏的错误,提高软件的可靠性 D. 修改软件中出现的错误
2、软件测试是采用( a )执行软件的活动。
A.测试用例 B.输入数据
C.测试环境
D.输入条件
3、导致软件缺陷的最大原因是:( a )
A.软件需求说明书 B.设计方案 C.编码
D.维护
4、在下列描述中,关于一个软件缺陷状态完整变化的错误描述是( d )
A、打开——修复——关闭 B、打开——关闭 C、打开——保留
D、激活——修复——重新打开
5、在下列描述中,关于测试与调试的说法错误的是( d )
A、测试是显示错误的行为;而调试是推理的过程;
B、测试显示开发人员的错误。调试是开发人员为自己辩护;
C、测试能预期和可控。调试需要想象、经验和思考;
D、测试必须在详细设计已经完成的情况下才能开始;没有详细设计的信息调试不可能进行。
6、某次程序调试没有出现预计的结果,下列( b )不可能是导致出错的原因。
A.变量没有初始化 B.编写的语句书写格式不规范 C.循环控制出错 D.代码输入有误 7、软件缺陷修复的代价最高的阶段为( a )
A、发布阶段 B、需求阶段 C、设计阶段 D、编码阶段 8、不属于逻辑覆盖方法的是( d )。
A.组合覆盖 B.判定覆盖 C.条件覆盖 D.接口覆盖 9、( d )是选择若干个测试用例,运行被测程序,使得程序中的每个可执行语句至少执行一次。
A、条件覆盖 B、组合覆盖 C、判定覆盖 D、语句覆盖
10、( a )是设计足够多的测试用例,使得程序中每个判定包含的每个条件的所有情况(真/假)至少出现一次,并且每个判定本身的判定结果(真/假)也至少出现一次。
A、判定-条件覆盖 B、组合覆盖 C、判定覆盖 D、条件覆盖
11.软件测试是软件质量保证的重要手段,下述哪种测试是软件测试的最基础环节?( b )
A.功能测试 B.单元测试 C.结构测试
D.验收测试
12、单元测试的主要任务不包括( b )。
A.出错处理 B.全局数据结构 C.路径 D.模块接口 13、如下图所示的N-S图,至少需要( b )个测试用例完成逻辑覆盖。
A.12 B.48 C.27 D.18
14、单元测试中用来模拟实现被测模块需调用的其他功能模块的是( b )。 A.驱动模块 B.桩模块
C.主控模块 D.真实的被调用模块 15、集成测试计划应该在( b )阶段末提交。 A、需求分析 B、概要设计 C、详细设计 D、单元测试完成 16、下列关于程序效率的描述错误的是( c )。 A.提高程序的执行速度可以提高程序的效率
B.降低程序占用的存储空间可以提高程序的效率
C.源程序的效率与详细设计阶段确定的算法的效率无关 D.好的程序设计可以提高效率
17、下列( b )是对程序流程图进行简化后得到的,它可以更加突出的表示程序控制流的结构,且不包含复合条件。
A.DD-路径图 B. 控制流图 C.MM-路径图 D. 模块调用图
18、自底向上增量式集成测试中,下面( c )描述是正确的。 A.测试由桩模块控制 B.最上面的模块最先测试
C.父单元用测试过的子单元测试 D.包含树的深度优先或广度优先遍历过程
19、测试后程序中残存的错误数目与该程序中已发现的错误数目成( d )。 A.未知 B.反比 C.相等 D.正比 20、针对是否对无效数据进行测试,可以将等价类测试分为(b ) 1) 标准(一般)等价类测试
2) 健壮等价类测试 3) 弱等价类测试 4) 强等价类测试
A.3)4) B.1)2) C.1)3) D.2)4)
三、简答题:共4小题,每题5分,满分20分。
2、有二元函数f(x,y),其中x∈[1,12],y∈[1,31];请写出该函数采用基本边界值分析法设计的测试用例。
答:{ <1,15>, <2,15>, <11,15>, <12,15>, <6,15>, <6,1>, <6,2>, <6,30>, <6,31> }
3、黑盒测试与白盒测试各有哪些优缺点,应该如何结合才能解决漏洞和冗余问题? 答:功能性测试具有两大优点:功能性测试与软件如何实现无关;测试用例开发可以与实现并行进行,因此可以压缩总的项目开发时间。缺点:测试用例之间可能存在严重的冗余,还会有位测试的软件漏洞。结构性测试局限于已经完成的代码行为当中,离代码太近。因此可以结构性测试指标去解决冗余和漏洞问题。如果发现同一条程序路径被多个功能性测试用例遍历,就可以怀疑这种冗余不会发生新的缺陷,如果没有达到一定的DD—路径覆盖,则可知在功能性测试用力中存在漏洞。因此路径测试可以提供作为功能性测试交叉检查的一组指标。
4、有一段程序如下,请设计测试用例以满足语句覆盖要求。 void DoWork (int x,int y,int z) {
int k=0,j=0;
if ( (x>3)&&(z<10) ) { k=x*y-1; j=sqrt(k);
} //语句块1 if ( (x==4)||(y>5) ) { j=x*y+10; } //语句块2 j=j%3; //语句块3 }
答:要实现DoWork函数的语句覆盖,只需设计一个测试用例就可以覆盖程序中的所有可执行语句。
四、综合题:共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、场景要求:”„„对功率大于50马力的机器、维修记录不全或已运行10年以上的机器,应给予优先的维修处理„„” 。这里假定,“维修记录不全”和“优先维修处理”均已在别处有更严格的定义 。请建立决策表。 (1) 确定规则的个数。
(2) 列出所有的条件桩和动作桩。 (3) 填入条件项。
(4) 填入动作项,得到初始决策表。 (5) 简化决策表,合并相似规则。
软件测试技术(B卷)答案及评分标准
一、单选题(20×2=40分)
题号 答案 题号 答案 1 C 11 B 2 A 12 B 3 A 13 B 4 D 14 B 5 D 15 B 6 B 16 C 7 A 17 B 8 D 18 C 9 D 19 D 10 A 20 B 二、简答题(4×5=20分)
1.答:具有探索精神、具有良好的计算机编程基础、故障排除能手、坚持不懈的精神、具有创新精神和超前意识、追求完美、判断准确、具有整体观念,对细节敏感、团队合作精神,沟通能力。
1. 具有良好的计算机编程基础,有一定的软件开发经验;有逆向思维的能力 2. 善于同软件开发人员沟通;善于同领导沟通 3. 掌握一些自动化测试工具;善于学习的能力 4. 提高自己的表达能力 ; 了解业务知识 5. 具有探索精神;故障排除能手
6. 坚持不懈的精神;具有创新精神和超前意识
7. 追求完美;判断准确;具有整体观念,对细节敏感;团队合作精神
2.答:{ <1,15>, <2,15>, <11,15>, <12,15>, <6,15>, <6,1>, <6,2>, <6,30>, <6,31> }
3.答:功能性测试具有两大优点:功能性测试与软件如何实现无关;测试用例开发可以与
实现并行进行,因此可以压缩总的项目开发时间。缺点:测试用例之间可能存在严重的冗余,还会有位测试的软件漏洞。结构性测试局限于已经完成的代码行为当中,离代码太近。因此可以结构性测试指标去解决冗余和漏洞问题。如果发现同一条程序路径被多个功能性测试用例遍历,就可以怀疑这种冗余不会发生新的缺陷,如果没有达到一定的DD—路径覆盖,则可知在功能性测试用力中存在漏洞。因此路径测试可以提供作为功能性测试交叉检查的一组指标。
4.答:要实现DoWork函数的语句覆盖,只需设计一个测试用例就可以覆盖程序中的所有可执行语句。
测试用例输入为:{ x=4、y=5、z=5 } 三、综合题(每题10分,共计20分) 1、画出控制流图: 如右图所示
计算环形复杂度: 10(条边)- 7(个节点)+ 2 = 5 导出路径(用语句编号表示) 路径1:1→2→3→4→5→6→7 路径2:1→4→5→6→7 路径3:1→2→4→6→7 路径4:1→2→4→5→7 路径5:1→2→3→4→5→7 测试用例 用例号 TC1 TC2 TC3 TC4 TC5 2.解答:
路径 1→2→3→4→5→6→7 1→4→5→6→7 1→2→4→6→7 1→2→4→5→7 1→2→3→4→5→7
输入数据 A B X 3 0 6 预期输出 X 3 0 1 3 4 2 1 1 3 1 0 3 0 3 2 0 1
①确定规则的个数:这里有3个条件,每个条件有两个取值,故应有2*2*2=8种规则。 ②列出所有的条件桩和动作桩:
③填入条件项。可从最后1行条件项开始,逐行向上填满。 如第三行是: Y N Y N Y N Y N 第二行是: Y Y N N Y Y N N 等等。
④填入动作项。这样便得到形如图的初始判定表。
动 作 条 件 功率大于50马力吗? 维修记录不全吗? 运行超过10年吗? 进行优先处理 作其他处理 1 Y Y Y x 初始判定表 2 Y Y N x 3 Y N Y X 4 Y N N X 5 N Y Y X 6 N Y N x 7 N N Y X 8 N N N x ⑤化简。合并相似规则后得到结果图。
条 件 功率大于50马力吗? 维修记录不全吗? 运行超过10年吗? 动 作 进行优先处理 作其他处理 1 Y Y - x 2 Y N Y 3 Y N N x 4 N - Y X 5 N - N x x 化减后的判定表
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- sceh.cn 版权所有 湘ICP备2023017654号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务