第一章测试题
1.对软件做测试的根本目的是(B)
A.提高软件质量 B.确保程序符合用户需求
C.找出程序中所有的缺陷 D.确保程序没有缺陷
2.如下关于测试用例的描述,错误的是(B)
A.测试用例是一组精心设计的输入,目的是未来再最短的时间内找到最多、最严重的缺陷。
B.测试结果就是测试用例的实际输出。
C.测试用例方便了测试人员与开发人员之间的沟通。
D.测试用例有利于缺陷的跟踪。
3.如下描述满足是测试用例的是(B)
A.登陆手机QQ,输入正确的QQ号码,不输入密码,看看会发生什么?
B.登陆手机QQ,输入正确的QQ号码和密码,预期结果可以是登陆自己的QQ账户,看到QQ消息。
C.登陆手机QQ,输入正确的QQ号码和错误的密码后,发现系统提示密码错误,无法进入自己的QQ账户。
D.登陆手机QQ,输入正确的QQ号码和密码,测试失败。
4.关于软件测试,下列描述正确的是(D)
A.软件测试可以提高软件质量
B.软件测试不创造任何产品,可以不需要测试。
C.软件测试等于调试。
D.软件测试的目的是衡量软件产品是否符合预期
5.以下关于软件测试的描述,正确的是(C)
A.软件测试需求规格说明应该包括所有的用户需求。
B.软件测试没有任何技术含量。
C.软件测试的根本目的是确保软件满足用户需求。
D.如果有良好的设计和高水平的程序员开发的软件,就不需要测试了。
6.软件测试是采用(A)执行软件的活动。
A.测试用例 B.输入数据 C.测试环境 D.输入条件
7. 关于测试用例的说法,错误的是(A)
A.测试用例只能用有效的数据 B.测试用例的数量越好越好
C.测试用例的典型性越高越好 D.测试用例对缺陷定位能力越高越好
8.导致软件缺陷的最大原因是:(A)
A.软件需求说明书 B.设计方案 C.编码 D.维护
9. 在下列描述中,关于测试与调试的说法错误的是(D)
A.测试是显示错误的行为;而调试是推理的过程;
B.测试显示开发人员的错误。调试是开发人员为自己辩护
C.测试能预期和可控。调试需要想象、经验和思考
D.测试必须在详细设计已经完成的情况下才能开始;没有详细设计的信息调试不可能进行。
10. 软件缺陷修复的代价最高的阶段为(B)
A.需求阶段 B.发布阶段 C.设计阶段 D.编码阶段
11. 为了提高测试效率,应该(D)
A.随机的选取测试数据 B.取一切可能的输入数据作为测试数据
C.在完成编码以后制定软件测试计划 D.选择发现错误可能性最大的数据作为测试用例
12. 软件测试的关键问题是(B)
A.如何组织软件评审 B.如何选择测试用例
C.如何验证程序的正确性 D.图和采用综合的策略
13. 软件测试用例主要由输入数据和(C)两部分组成。
A.测试计划 B.测试规则 C.预期输出结果 D.测试需求
14. 以下哪些数据可以作为测试用例(ABCD)的输入的数据。
A.合理、有效的输入数据 B.无意义、无效的数据 C.边界上的数据 D.错误的数据
15. 下面说法正确的是(C )。
A.经过测试没有发现错误说明程序正确 B.测试的目标是为了证明程序没有错误
C.成功的测试是发现了迄今尚未发现的错误的测试 D.成功的测试是没有发现错误的测试
16.以下哪些选项属于软件缺陷。(ABCD)
A.测试人员认为难以理解、不易使用的 B.未达到需求规格说明书中指明的功能
C.软件功能超出了需求规格说明书中指明的范围 D.软件运行缓慢
17.软件测试过程主要分为5个主要的步骤,分别是:计划测试、设计测试、实施测试、执行测试、评估测试
第三章测试
1.黑盒法是根据程序的( C )来设计测试用例的
A.应用范围 B.内部逻辑 C.功能 D.输入数据
2.关于黑盒测试的描述,错误的是(D)
A.黑盒测试不需要了程序内部细节。 B.黑盒测试的覆盖度不易度量。
C.黑盒测试仅需知道被测对象的输入和预期输出
D.黑盒测试对测试人员的技术要求低,测试没有难度。
3.为了提高软件测试的效率,应该(D)。
A.随机地选取测试数据 B.取一切可能的输入数据作为测试数据
C.在完成编码以后制定软件的测试计划 D.选择发现错误可能性最大的数据作为测试用例
4.基于边界值测试时,考虑测试用例的规模和对缺陷的定位能力,一般采用的测试方案为(D)
A.穷举法+全边界法 B.穷举法+强边界法
C.典型值法+强边界法 D.典型值法+弱边界法
5.基于典型值法+若边界法设计测试用例时,如果有3个输入条件,每个条件有2个边界点,则其测试用例的数量为:D
A.6 B.12 C.9 D.18
6.某员工信息系统中,假设年龄的输入范围为22~60,则根据等价类划分技术,下面划分正确的是(B)。
A.可划分为2个有效等价类,2个无效等价类
B.可划分为1个有效等价类,2个无效等价类
C.可划分为2个有效等价类,1个无效等价类
D.可划分为1个有效等价类,1个无效等价类
7,基于有效等价类的测试用例设计,如果有两个输入条件x和y,分别有m和n个有效等价类(m>n) ,则以下说法错误的是(A)
A.基于强组合方式用例设计,有m个测试用例
B.基于强组合方式用例设计,有mn个测试用例
C.基于弱组合方式用例设计,有m个测试用例
D.基于弱组合方式用例设计,测试用例集合不唯一
8.关于等价类测试的描述,错误的是(A)
A.等价测试保证了测试完备性和无冗余性
B.等价类测试基于独立性和单缺陷假设当
C.等价类划分不合理时,将导致测试用例的漏洞
D.当输入条件存在关联时,将导致测试用例的冗余。
9.关于决策表的描述,错误的是(D)
A.决策表的目标是为了消除等价类测试的冗余
B.如果输入条件不存在相互关联,不需要使用决策表测试方法。
C.决策表是为了缩减测试用例的规模
D.决策表测试方法达不到等价类的测试效果
10.关于基于场景测试的描述,错误的是(D)
A.基于场景的测试通常用在功能测试中。
B.场景是基本流与备选流的集合。
C.一个场景可以包含一个基本流,也可以由基本流和至少一条备选流构成。
D.一个场景只能设计一个测试用例。
11.关于基于场景测试的描述,错误的是(D)
A.备选流越多,将导致场景测试规模增大。
B.一个测试用例唯一对应一个场景。
C.每个场景至少对应一组输入和预期输出。
D.一个场景唯一对应一个测试用例。
12.黑盒法只在软件的接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求。
13.简述黑盒测试的基本原理和特点。
原理:黑盒测试指把测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只依据需求规格说明书,检查程序是否满足功能要求。
特点:(1)黑盒测试对测试人员的技术要求低。
(2)黑盒测试不需要了解程序的实现细节。
14.某商场在“五一”期间,顾客购物时收费有4种情况:普通顾客一次购物累计少于100元,按A类标准收费(不打折),一次购物累计多于或等于100元,按B类标准收费(打9折);会员顾客一次购物累计少于1000元,按C类标准收费(打8折),一次购物累计等于或多于1000元,按D类标准收费(打7折)。测试对象是按以上要求计算顾客收费模块,请基于边界值法和等价类法设计测试用例。
边界值:
等价类:
第五章测试题
1.如下函数调用图,其中描述错误的是(C)
A1号节点是高风险节点 B.15号节点是高风险节点
C.25节点风险高于26号节点 D.14、15号节点是高风险节点
2. 以下描述错误的是(B)
A.设计测试用例时,如果使用了判定覆盖指标,就不需要再使用语句覆盖
B.假设被测代码中有n个判定节点,如果基于判定覆盖指标设计测试用例,则一定需要2n个测试用例。
C.应谨慎使用条件组合覆盖指标,可能导致测试效率不高。
D.在时间有限的情况下,可优先选择判定覆盖测试函数代码。
3.以下描述正确的是(C)
A.条件判定节点将影响成执行的走向,因此,条件判定节点是代码中风险最高的元素。
B.只要程序中存在循环结构,测试就无法穷尽。
C.静态的白盒测试一般不需要设计测试用例。
D.只要代码中不使用判定结构或者循环结构,就一定可以降低程序运行的风险。
4. 以下描述错误的是(C)
A.判定节点是导致程序执行风险的主要因素。
B.控制流分析的主要目的是通过对判定节点的测试来降低程序执行的风险。
C.对代码设计测试用例必须要根据程序的设计来进行。
D.控制流图可以直观地反应函数的内部逻辑结构,展示程序中明显的错误,因此控制流分析非常的有必要。
5. 下列几种逻辑覆盖标准中,查错能力最强的是(D ) 。
A.语句覆盖 B.判定覆盖 C.条件覆盖 D.条件组合覆盖
6.以下不属于白盒测试的技术是(D)
A.路径覆盖 B.判定覆盖 C.循环覆盖 D.边界值分析
7.以下覆盖准则最强的是(D )。
A.语句覆盖 B.判定覆盖 C.条件覆盖 D.路径覆盖
8.发现程序缺陷能力最弱的是(A )。
- 语句覆盖 B.判定覆盖 C.条件覆盖 D.条件组合覆盖
9.(A)是设计足够多的测试用例,使得程序中每个判定包含的每个条件的所有情况(真/假)至少出现一次,并且每个判定本身的判定结果(真/假)也至少出现一次。
A.判定/条件覆盖 B.组合覆盖 C.判定覆盖 D.条件覆盖
10. 对判定的覆盖主要有:语句覆盖、[判定覆盖]、条件覆盖、判定/条件覆盖、[条件组合覆盖]、修正的判定/条件覆盖技术,其中[语句]覆盖指标最弱,[条件组合]覆盖指标最强。
11.测试的综合策略是在测试中,联合使用各种测方法。通常先用[黑盒]法设计基本的测试用例,再用[白盒]法补充一些必要的测试用例。
12.软件测试方法一般分为两大类:动态测试方法和静态测试方法,静态测试方法一般[不需要]设计测试用例。测试技术按照对被测对象的了解程度,又分为[黑盒测试]技术和[白盒测试]技术。
13.名词解释:
A.静态测试:指被测试的程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的手段对程序进行检测
B.白盒测试:测试人员需了解程序的内部结构和处理过程,通过设计测试用例,观察实际的运行结果与预期的是否一致,检验内部控制结构和数据结构是否存在缺陷的过程。
14.某程序的判定表达式有3个输入条件A、B、C,判定表达式为:A&(B&C),所有可能的条件组合覆盖测试用例,及其对判定表达式的影响如下表所示,请根据修正的判定/条件覆盖指标消除测试用例的冗余,重新确定测试用例。
测试用例4、6、7元余,所以测试修正判定/条件覆盖测试用例为:
第六章测试题
1.软件测试不需要了解软件设计的(D)。
A.功能 B.内部结构 C.处理过程 D.条件
2.以下覆盖准则最强的是(D )。
- 语句覆盖 B.判定覆盖 C.条件覆盖 D.路径覆盖
3.右图所示的程序图的环复杂度为(C)
A.4 B.5
C.6 D.7
4.右图所示的程序图的环复杂度为(C)
A.3 B.4
C.5 D.6
5. 下表为某程序的变量定义和使用节点,其中变量monthSales不是定义清除路径的数量为(B)
A.2 B.7 C.14 D.9
6.对变量的测试关注的是定义/使用路径中的高风险路径,下表为某程序的变量定义和使用节点,其中变量totalCommission高风险路径的是(B)
A.5∀20 B.5∀23 C.20∀23 D.20∀24
7.基于独立路径测试,对于指定的程序图,所需独立路径集合的大小等于该程序图的[环复杂度]
8. 基于独立路径的测试,其用例设计在理论上保证了测试的[完备性]和[无冗余性]。
9.对循环的测试基本原理是:重点关注循环的过程的正确性,即在循环的[边界]和循环界线内对循环体的执行过程进行测试。
10. 某函数的程序图如图所示:
(1)计算其环复杂度。
(2)抽取其独立路径。
答:(1)环复杂度为5;
(2)
第七章测试题
1.软件测试是软件质量保证的重要手段,下述哪种测试是软件测试的最基础环节?(B)
A.功能测试 B.单元测试 C.集成测试 D.验收测试
2.单元测试的主要任务不包括(B)。
A.模块边界条件测试 B.全局数据结构 C.独立路径测试 D.模块接口测试
3.单元测试中用来模拟实现被测模块需调用的其他功能模块的是(B)。
A.驱动模块 B.桩模块 C.主控模块 D.真实的被调用模块
4. 单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是( A ) 。
A.系统功能 B.接口数据匹配 C.重要的执行路径 D.错误处理
5.软件测试一般经过4个测试阶段:[单元测试]、集成测试、系统测试、验收测试。
6.单元测试的内容主要包括对模块接口、模块边界条件、模块独立路径和[错误处理]的测试。
7.在单元测试中,测试一个模块时,必要时需要设计驱动模块和[桩模块]。
8.名词解释:
1.单元测试:对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。
2.回归测试:指修改了旧代码后,重新测试以确认修改没有引入新的错误或导致其他代码产生错误。
3.测试需求:指明测试什么的规格说明,它描述了系统测试的行为、特性或属性,是在测试过程中对测试的约束。
4.驱动模块:模拟被测单元的上级模块,用于接收测试数据、启动被测模块和输出结果。
9.简述单元测试的一般过程
答:教材P194
第八章测试题
1. 软件测试过程中的集成测试主要是为了发现(B)阶段的错误。
A.需求分析 B.概要设计 C.详细设计 D.编码
2.(B)方法需要考察模块间的接口和各模块之间的联系。
A.单元测试 B.集成测试 C.回归测试 D.系统测试
3.集成测试时,能较早发现高层模块接口错误的测试方法为(A)。
A.自顶向下集成 B.自底向上集成 C.邻居集成 D.成对集成
4.成对集成最大的优点是(B)
A.测试用例少 B.程序缺陷定位准
C.测试用例规模与模块数量没有直接关系 D.不用设计驱动模块
5.右下图采取成对集成测试方法,一共需要设计多少个测试用例? ( C )
A.6 B.7 C.8 D.9
6. 右下图为基于独立路径的集成测试,其测试用例的数量至少为(B)个。
A.3 B.4 C.5 D.6
7.右下图采取邻居集成测试方法,其中不是VD模块的邻居的是(C)?
- GD B.ND3 C.iLY D.IDOM
8.集成测试指在[单元测试]测试基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试。
9.自顶向下渐增式测试不需要编写[驱动模块],只需要编写[桩模块],采取宽度或者深度优先的策略向下推进。
10.名词测试:
集成测试:就是在单元测试的基础上,将所有已通过单元测试的模块按照概要设计的要求组装为子系统或系统,并进行测试的过程,目的是确保各单元模块组合在一起后能够按既定意图协作运行,并确保增量的行为正确
第一章
1.SRS:需求规格说明书
2.测试用例=输入+输出+测试环境
第三章
1.黑盒测试原理及特点:
原理:仅需知道被测对象的输入和预期输出,不需了解其实现的细节。
特点:(1)对测试人员的技术要求相对较低,测试人员可以是对软件开发完全不懂的非计算机专业人员。
(2)不需要了解程序实现的细节。
2.典型值法+弱边界法是最优测试方案。
3.P57页
4.决策表的化简:决策表通过化简来识别输入条件之间,以及输入和输出之间的各种关系,达到降低测试用例规格、避免测试冗余的目的。
(1)输出相同:欲化简的多个测试用例的预期输出结果应完全相同;
(2)输入相似:仅有一个输入条件取值可以不同,其他输入条件的取值应完全相同。
5.基本流和备选流
基本流:是从系统的某个初始状态开始,经一系列状态变化后到达终止状态的过程中最主要的一个业务流程。
备选流:在经过基本流上每个判定节点处满足不同的触发条件,而导致的其他事件流。
6.场景的构建
场景是基本流与备选流的有序集合,一个场景可以仅包含一个基本流,也可以由基本流和至少一条备选流构成。一个测试用例唯一对应一个场景。
第五章
1.白盒测试基本原理和特点
基本原理:白盒测试基于软件的源代码,已知产品的内部工作过程,主要是对程序内部结构展开测试,关注程序实现的细节。
特点:(1)源代码
(2)程序结构
优势:(1)针对性强,测试效率高
(2)在函数级别开始测试工作,缺陷修复的成本低
2.静态白盒测试
概述:静态测试通常不需要实际运行被测软件,而是直接对软件形式和结构进行分析,内容涵盖对开发文档、测试相关文档、程序界面,以及程序源代码的评审。
主要内容:代码检查、静态结构分析、代码质量度量
3.函数调用关系图
函数调用关系图将被测系统中各函数间的调用关系通过树形方式进行展现,被测重点为:
(1)函数之间调用关系是否合理;
(2)是否存在递归调用;
(3)函数调用层次是否太深;
(4)是否存在孤立的函数。
4.函数控制流图:从函数内部进行考察,由节点和边组成的有向图,节点表示一条或多条语句,边代表节点之间的控制走向。测试重点在:
(1)是否存在多出口情况;
(2)是否存在孤立的语句;
(3)环复杂度是否太大;
(4)是否存在非结构化的设计。
5.对判定的测试
基本原理:对源代码中所有的逻辑值均需要测试真值和假值的情况。
(1)语句覆盖
(2)判定覆盖
(3)条件覆盖
(4)判定/条件覆盖
(5)条件组合覆盖
(6)修正的判定/条件覆盖
6.修正的判定/条件覆盖
基本思想:在满足判定/条件覆盖的基础上,每个简单判定条件都应独立的影响到整个判定表达式的取值。实质是利用简单判定条件的独立影响性来消除测试用例的冗余。
7.环复杂度三种计算方式:直观观察法、公式计算法、判定节点法。
8.对循环的测试
基本原理:重点关注循环的过程正确性,即在循环的边界和运行界限内对循环体的执行过程进行测试。
9.循环结构的分类:串联、嵌套、非结构化循环。P147
10.对变量进行测试
定义/引用缺陷:(1)变量在使用之前从未定义过;
(2)变量被定义,但从未被使用;
(3)变量在使用之前被多次定义。
第七章
1.静态检查:通过走查、审查等会议方式,依据模块的详细设计,将代码与缺陷检查表进行对照,查看代码是否符合标准和规范。
2.动态测试:完成静态测试后还需运行程序,进行动态测试,主要包括对模块接口、模块边界条件、模块独立路径和错误处理进行测试。
3.驱动模块:模拟被测单元的上级模块,用于接收测试数据,启动被测模块和输出结果。
4.桩模块:模拟被测单元所调用的模块。
5.驱动模块的功能要求:
(1)利用已有的测试用例,接收测试的输入数据;
(2)将测试数据传递给被测单元,从而启动被测单元;
(3)打印和输出测试用例的相关结果,判断测试是通过还是失败;
(4)通过测试日志文件记录测试过程,便于后续数据保存和分析。
6.桩模块的功能要求:
(1)在特定条件下完成原单位的基本功能;
(2)能够被正确调用;
(3)有返回值;
(4)不包含原单位的所有细节。
7.SAP ABAPer认为,测试需求就是测试设计,目的是细化测试计划中描述的测试方法,确定要包含的特性和测试,确定完成测试所需的测试用例和测试规程,最后给出测试失败和通过的标准。
8.集成测试
1.集成测试的定义:在单元测试的基础上,将所有已通过单元测试的模块按照概要设计的要求组装为子系统或系统,并进行测试的过程。
2.成对集成:将每个集成测试用例限定在一对调用单元上,每个集成测试用例都是最小的集成单元,仅涉及一对调用的接口。
3.邻居集成:将每个集成测试用例限定在某个节点的邻居上,针对某个模块的集成测试用例应同时包含该模块及其邻居。
邻居:对应某个模块的一个特定邻域模块集合,它包括指定的某个模块、所有直接调用该模块的上层模块以及所有被该模块直接调用的下层模块。
4.基于独立路径的集成:将函数调用图看作程序的控制流图或程序图,每个从根节点到叶子节点的调用形成了路径,每条独立路径即可构成一个集成测试用例。
第九章
1.系统测试:将经过良好的集成测试的软件系统,作为整个计算机系统的一部分,与计算机硬件、外部设备、支持软件、数据及人员等其他系统元素结合在一起,在实际使用环境下对计算机系统进行一系列的严格测试来发现软件中的潜在缺陷。
2.功能测试:主要针对系统的功能需求展开测试,以确认被测系统是否满足用户的功能使用要求。
3.性能测试:对软件的运行性能指标进行测试,判断系统集成之后在实际使用环境下能否稳定、可靠的运行。
4.性能测试主要内容:常规性能测试、压力测试、负载测试、可靠性测试、大数据量测试。