软件测试习题.docx
《软件测试习题.docx》由会员分享,可在线阅读,更多相关《软件测试习题.docx(28页珍藏版)》请在冰豆网上搜索。
软件测试习题
.
一、选择题
1.软件测试的目的是(B)。
A)试验性运行软件B)发现软件错误C)证明软件正确D)找出软件中全部错误
2.软件测试中白盒法是通过分析程序的(B)来设计测试用例的。
A)应用范围B)内部逻辑C)功能D)输入数据
3.黑盒法是根据程序的(C)来设计测试用例的。
A)应用范围B)内部逻辑C)功能D)输入数据
4.为了提高软件测试的效率,应该(D)。
A)随机地选取测试数据B)取一切可能的输入数据作为测试数据
C)在完成编码以后制定软件的测试计划D)选择发现错误可能性最大的数据作为测试用例
5.与设计测试用例无关的文档是(A)。
A)项目开发计划B)需求规格说明书C)设计说明书D)源程序
6.测试的关键问题是(B)。
A)如何组织软件评审B)如何选择测试用例
C)如何验证程序的正确性D)如何采用综合策略
7.软件测试用例主要由输入数据和(C)两部分组成。
A)测试计划B)测试规则C)预期输出结果D)以往测试记录分析
8.成功的测试是指运行测试用例后(B)。
A)未发现程序错误B)发现了程序错误C)证明程序正确性D)改正了程序错误
9.下列几种逻辑覆盖标准中,查错能力最强的是(D)。
A)语句覆盖B)判定覆盖C)条件覆盖D)条件组合覆盖
精选范本
.
10.在黑盒测试中,着重检查输入条件组合的方法是(D)。
A)等价类划分法B)边界值分析法C)错误推测法D)因果图法
11.单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是(A)。
A)系统功能B)局部数据结构C)重要的执行路径D)错误处理
12.软件测试过程中的集成测试主要是为了发现(B)阶段的错误。
A)需求分析B)概要设计C)详细设计D)编码
13.不属于白盒测试的技术是(D)。
A)路径覆盖B)判定覆盖C)循环覆盖D)边界值分析
14.集成测试时,能较早发现高层模块接口错误的测试方法为(A)。
A)自顶向下渐增式测试B)自底向上渐增式测试C)非渐增式测试D)系统测试
15.确认测试以(A)文档作为测试的基础。
A)需求规格说明书B)设计说明书C)源程序D)开发计划
16.使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准。
A)程序内部逻辑B)程序的复杂度C)使用说明书D)程序的功能
17.程序的三种基本结构是(B)。
A)过程子、程序、分程序B)顺序、选择、循环
C)递归、堆栈、队列D)调用、返回、转移
18.结构化程序设计的一种基本方法是(D)
A)筛选法B)递归法C)归纳法D)逐步求精法
19.软件调试的目的是(A)
A)找出错误所在并改正之B)排除存在错误的可能性
精选范本
.
C)对错误性质进行分类D)统计出错的次数
20.程序三种基本结构的共同特点是(D)
A)不能嵌套使用B)只能用来写简单程序
C)已经用硬件实现D)只有一个入口和一个出口
21.下面说法正确的是(C)。
A)经过测试没有发现错误说明程序正确B)测试的目标是为了证明程序没有错误
C)成功的测试是发现了迄今尚未发现的错误的测试D)成功的测试是没有发现错误的测试
22.覆盖准则最强的是(D)。
A)语句覆盖B)判定覆盖
D)路径覆盖C)条件覆盖
23.发现错误能力最弱的是(A)。
A)语句覆盖B)判定覆盖
D)路径覆盖C)条件覆盖
24.实际的逻辑覆盖测试中,一般以(C)为主设计测试用例。
A)条件覆盖B)判定覆盖
D)路径覆盖)条件组合覆盖C
25.下面(D)方法能够有效地检测输入条件的各种组合可能引起的错误。
A)等价类划分B)边界值分析
C)错误推测D)因果图
26.与确认测试阶段有关的文档是(A)。
A)需求规格说明书B)概要设计说明书
精选范本
.
C)详细设计说明书D)源程序
27.超出软件工程范围的测试是(D)。
A)单元测试B)集成测试
D)系统测试C)确认测试
28.软件测试不需要了解软件设计的(D)。
A)功能B)内部结构
D)条件C)处理过程
29.(B)方法需要考察模块间的接口和各模块之间的联系。
A)单元测试B)集成测试
D)系统测试C)确认测试
)完成。
(30.调试应该由B
)编制该源程序的程序员BA)与源程序无关的程序员
)设计该软件的机构DC)不了解软件设计的机构
31.基线是软件生存期中各开发阶段的一个特定点,它可作为一个检查点,当采用的基线发生错误时,我们可以返回到最近和最恰当的(C)上。
A)配置项B)程序C)基线D)过程
32.版本管理是对系统不同版本进行的(A)过程
A)标识与跟踪B)标识变更C)发布变更D)控制变更
33.在变更控制中,管理各个用户存取和修改一个特定软件配置对象的权限是(D)。
A)异步控制B)同步控制
D)基线控制)存取控制C精选范本
.
34.在配置管理中,“登入”和“检出”处理实现了两个重要的变更控制要素,即同步控制和(B)。
A)异步控制B)同步控制
C)基线控制D)存取控制
35.按照软件配置管理的原始指导思想,受控制的对象应是(C)。
A)软件元素B)软件配置项
C)软件项目D)软件过程
36.软件配置项是软件配置管理的对象,指的是软件工程过程中所产生的(B。
)D)版本B)软件环境C)信息项A)接口
。
)37.在变更控制中,可用来确保由不同用户所执行的并发控制是(B
D)基线控制B)同步控制C)存取控制A)异步控制
)。
38.以下说法错误的是(A
)软件配置管理简称SCIA)软件配置项是配置管理的基本单位B)软件配置实际上是一动态的概念C)软件工程过程中某一阶段的变更均要引起软件配置的变更D。
39.在设计人机界面时,应主要考虑的因素有(D))用户求助机制D)以上都是A)系统响应时间B)错误处理C)代的演变D.人机界面的风格大致经过了(40
四)C)二)一AB)三D
填空题二、精选范本
.
1.软件测试的目的是尽可能多地发现软件中存在的错误,将测试测试结果作为纠错的依据。
2.测试阶段的基本任务是根据软件开发各阶段的文档资料和程序的内部结构,精心设计一组测试用例,利用这些实例执行程序,找出软件中潜在的各种错误和缺陷。
3.测试用例由输入数据和预期的输出数据两部分组成。
4.软件测试方法一般分为两大类:
动态测试方法和静态测试方法。
5.动态测试通过运行程序发现错误。
根据测试用例的设计方法不同,动态测试又分为黑盒测试与白盒测试两类。
6.静态测试采用人工检测和计算机辅助静态分析的手段对程序进行检测。
7.人工审查程序偏重于编码质量的检验,而软件审查除了审查编码还要对各阶段软件产品进行检验。
8.计算机辅助静态分析利用静态分析工具对测试程序进行特性分析。
9.黑盒法只在软件的接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求。
10.白盒法必须考虑程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试。
11.白盒测试是结构测试,被测对象是源程序,以程序的内部逻辑为基础设计测试用例。
12.逻辑覆盖是对程序内部有判定存在的逻辑结构设计测试用例,根据程序内部的逻辑覆盖程度又可分为语句覆盖判定覆盖条件覆盖判定/条件覆盖条件组合覆盖路径覆盖6种覆盖技术。
13.实际的逻辑覆盖测试中,一般以条件组合覆盖为主设计测试用例,然后再补充部分用例,以达到路径覆盖测试标准。
精选范本
.
14.循环覆盖是对程序内部有循环存在的逻辑结构设计测试用例,它通过限制循环次数
来测试。
15.基本路径测试是在程序控制流程图基础上,通过分析控制构造的环路复杂性,导出基本路径集合,从而设计测试用例。
16.黑盒测试是功能测试,用黑盒技术设计测试用例有4种方法:
等价类划分边界值分析错误推测因果图。
17.等价类划分从程序的功能说明,找出一个输入条件(通常是一句话或一个短语),然后将每个输入条件划分成两个或多个等价类。
18.边界值分析是将测试边界情况作为重点目标,选取正好等于、刚刚大于或刚刚小于边界值的测试数据。
如果输入或输出域是一个有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。
19.在测试程序时,根据经验或直觉推测程序中可能存在的各种错误,称为错误推测法。
20.因果图的基本原理是通过画因果图,把用自然语言描述的功能说明转换为判定表,最后为判定表每一列设计一个测试用例。
21.测试的综合策略是在测试中,联合使用各种测试方法。
通常先用黑盒法设计基本的测试用例,再用白盒法补充一些必要的测试用例。
22.软件测试过程中需要3类信息:
软件配置、测试配置和测试工具。
23.软件测试一般经过4个测试:
单元测试集成测试确认测试系统测试。
24.单元测试指对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误,它涉及编码和详细设计的文档。
25.单元测试主要测试模块的5个基本特征:
模块接口局部数据结构重要的执行路径错误处理边界条件。
26.在单元测试中,需要为被测模块设计驱动模块和桩模块。
驱动模块用来模拟被测模块的上级调用模块,桩模块用来代替被测模块所调用的模块。
精选范本
.
27.集成测试指在单元测试基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试。
也称组装测试或联合测试。
28.集成测试的方法有两种:
非渐增式测试渐增式测试。
29.渐增式测试有两种不同的组装模块的方法:
自顶向下结合自底向上结合。
30.自顶向下渐增式测试不需要编写驱动模块,只需要编写桩模块,其步骤是从
模块开始,沿着被测程序的顶层的控制路径逐步向下测试,它有两种组合策略:
软件结构图和深度优先策略宽度优先策略。
31.自底向上渐增式测试不需要编写桩模块,只需要编写驱动模块。
32.确认测试指检查软件的功能与性能是否与需求规格说明书中确定的指标相符合,又称有效性测试。
33.确认测试在模拟环境下运用黑盒测试方法,由专门测试人员和用户参加的测试。
34.确认测试开始前需要制定测试计划,结束后要写出测试分析报告。
其测试用例要选用实际运用的数据。
35.软件配置审查的任务是检查软件的所有文档资料的完整性和正确性。
36.调试也称纠错,是在成功的测试之后才开始进行,其目的是确定错误的原因和位置,并改正错误。
37.调试技术包括简单调试归纳法调试演绎法调试回溯法调试
38.回溯法调试是从程序产生错误的地方出发,而归纳法调试是从测试结果发现的线索
入手。
39.被测试程序不在机器上运行,而是采用人工检测和计算机辅助分析检测的手段称为
静态测试。
40.用等价类划分法设计一个测试用例时,使其覆盖尽可能多的尚未被覆盖的合理等价类。
精选范本
.
41.用等价类划分法设计一个测试用例时,使其覆盖一个不合理等价类。
42.在单元测试时,需要为被测模块设计驱动模块与桩模块。
43.在集成测试时有两种测试方法,它们是渐增式和非渐增式。
44.软件测试是为了发现错误而执行程序的过程。
45.运行被测程序的方法称为动态测试。
46.动态测试中,主要测试软件功能的方法称为黑盒法。
47.选择测试用例,使得被测程序中每个判定的每个分支至少执行一次,这种逻辑覆盖标准称为判定覆盖。
48.要覆盖含循环结构的所有路径是不可能的,一般通过限制循环次数来测试。
49.用等价类划分法设计测试用例时,如果被测程序的某个输入条件规定了取值范围,则可确定一个合理的等在和两个不合理的等价类。
50.凭经验或直觉推测程序中可能存在的错误而设计测试用例的方法是错误推测法。
51.集成测试中的具体方法是渐增式和非渐增式测试方法。
52.确认测试阶段的两项工作是进行确认测试和软件配置审查。
53.在单元测试中,测试一个模块时,需要设计驱动模块和桩模块。
54.软件配置管理,简称SCM,它用于整个软件工程过程。
其主要目标是:
标识变更控制变更确保变更正确地实现报告有关变更
55.SCM是一组管理整个软件生存期各阶段中变更的活动。
56.基线的作用是把各阶段的开发工作划分得更加明确,便于检查与确认阶段成果。
因此,基线可以作为项目的一个检查点。
三、名词解释
精选范本
.
1.软件测试:
软件测试指为了发现软件中的错误而执行软件的过程。
它的目标是尽可能多地发现软件中存在的错误,将测试结果作为纠错的依据。
2.静态测试:
指被测试的程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的手段对程序进行检测。
3.动态测试:
指通过运行程序发现错误
4.黑盒测试:
指把测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求,又称为功能测试或数据驱动测试。
5.白盒测试:
把测试对象看成一个打开的盒子,测试人员需了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。
6.语句覆盖:
设计足够的测试用例,使被测程序中每个语句至少执行一次
7.判定覆盖:
指设计足够的测试用例,使被测程序中每个判定表达式至少获得一次“真”值或“假”值,从而使程序的每个分支至少都通过一次,因此判定覆盖又称分支覆盖
8.条件覆盖:
指设计足够测试用例,使判定表达式中每个条件的各种可能的值至少出现一次。
9.判定/条件覆盖:
设计足够的测试用例,使得判定表达式中每个条件的所有可能取值至少出现一次,并使每个判定表达式所有可能的结果也至少出现一次。
10.条件组合覆盖:
指设计足够的测试用例,使得每个判定表达式中条件的各种可能的值的组合都至少出现一次。
11.路径覆盖:
设计足够的测试用例,覆盖被测程序中所有可能的路径
12.测试用例:
指为寻找程序中的错误而精心设计的一组测试数据
13.驱动模块:
指用来模拟被测模块的上级调用模块,其功能比真正的上级模块简单得多,它只完成接受测试数据,以上级模块调用被测模块的格式驱动被测模块,接收被测模块的测试结果并输出。
精选范本
.
14.桩模块
15.单元测试
16.集成测试
17.确认测试
18.渐增式测试
19.非渐增式测试
20.调试
21.人的因素的含义
22.基线
23.软件配置管理
24.软件配置项
25.软件质量
四、简答题
1.为什么说软件测试是软件开发中不可缺少的重要一环,但不是软件质量保证的安全网?
2.软件测试的目的是什么?
为什么把软件测试的目的定义为只是发现错误?
3.软件测试应当遵循什么原则?
为什么要遵循这些原则?
4.软件测试的步骤是什么?
这些测试与软件开发各阶段之间的关系?
5.软件测试的过程是什么?
6.单元测试、集成测试和确认测试各自主要目标是什么?
它们之间有什么不同?
相互有什么关系?
7.什么是黑盒测试与白盒测试?
它们都适应哪些测试?
精选范本
.
8.简述软件测试与软件调试的区别。
9.软件配置管理的任务。
10.试述第三代界面的优点。
11.试述人机界面的设计过程。
12、SQA策略主要分哪三个阶段
13、测试计划应包括内容
14、软件测试阶段是如何划分的
15、简述软件测试过程
五、综合题
1.变量的命名规则一般规定如下:
变量名的长度不多于40个字符,第一个字符必须为英文字母,其他字母可以英文字母、数字以及下划线的任意组合。
请用等价分类法设计测试用例。
2.某商场在“五一”期间,顾客购物时收费有4种情况:
普通顾客一次购物累计少于100元,按A类标准收费(不打折),一次购物累计多于或等于100元,按B类标准收费(打9折);会员顾客一次购物累计少于1000元,按C类标准收费(打8折),一次购物累计等于或多于1000元,按D类标准收费(打7折)。
测试对象是按以上要求计算顾客收费模块,按照路径覆盖法设计测试用例。
3.下面是某程序的流程图:
(1)计算它的环路复杂性。
(2)为了完成基本路径测试,求它的一组独立的路径。
4.分析比较面向对象的软件测试与传统的软件测试的异同
1、传统的单元测试的对象是软件设计的最小单位——模块。
当考虑面向对象软件时,单元的概念发生了变化,此时最小的可测试单位是封装的类或对象,而不再是个体的模块。
传统单精选范本
.
元测试主要关注模块的算法实现和模块接口间数据的传递,而面向对象的单元测试主要考察封装在一个类中的方法和类的状态行为。
面向对象软件没有层次的控制结构,因此传统的自顶向下和自底向上集成策略就不再适合,它主要有以下两种集成策略:
基于类间协作关系的横向测试;基于类间继承关系的纵向测试。
系统测试一般不考虑内部结构和中间结果,因此面向对象软件系统测试与传统的系统测试差别不大。
面向对象软件测试的整体目标和传统软件测试的目标是一致的,即以最小的工作量发现尽可能多的错误,但是面向对象测试的策略和战术有很大不同。
测试的视角扩大到包括复审分析和设计模型,此外,测试的焦点从过程构件(模块)移向了类。
1选择题
1.B2.B3.C4.D5.A6.B7.C8.B9.D10.D
11.A12.B13.D14.A15.A16.A17.B18.D19.A20.D
21.C22.D23.A24.C25.D26.A27.D28.D29.B30.B
31.C32.A33.D34.B35.C36.B37.B38.A39.D40.D
六、填空题
1.错误测试结果
2.文档资料内部结构测试用例程序错误缺陷
3.输入数据输出数据
4.动态测试静态测试
5.运行程序测试用例黑盒测试白盒测试
6.人工检测计算机辅助静态分析
7.编码质量编码软件产品
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.纠错原因位置
37.简单调试归纳法调试演绎法调试回溯法调试
38.程序产生错误的地方测试结果发现的线索
39.静态
40.尽可能多的
41.一个
42.驱动模块与桩模块
43.渐增式和非渐增式
44.发现错误
45.动态测试
46.黑盒法
47.判定覆盖
48.循环次数
49.两个不合理的等价类
50.错误推测法
51.渐增式和非渐增式测试方法
52.进行确认测试和软件配置审查
53.驱动模块和桩模块
54.标识变更控制变更确保变更正确地实现报告有关变更
55.变更
56.检查点
七、名词解释
1.软件测试指为了发现软件中的错误而执行软件的过程。
它的目标是尽可能多地发现软件中存在的错误,将测试结果作为纠错的依据。
2.静态测试指被测试的程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的手段对程序进行检测。
精选范本
.
3.动态测试指通过运行程序发现错误。
4.黑盒测试指把测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求,又称为功能测试或数据驱动测试。
5.白盒测试指把测试对象看成一个打开的盒子,测试人员需了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。
6.语句覆盖指设计足够的测试用例,使被测程序中每个语句至少执行一次。
7.判定覆盖指设计足够的测试用例,使被测程序中每个判定表达式至少获得一次“真”值或“假”值,从而使程序的每个分支至少都通过一次,因此判定覆盖又称分支覆盖。
8.条件覆盖指设计足够测试用例,使判定表达式中每个条件的各种可能的值至少出现一次。
9.判定/条件覆盖指设计足够的测试用例,使得判定表达式中每个条件的所有可能取值至少出现一次,并使每个判定表达式所有可能的结果也至少出现一次。
10.条件组合覆盖指设计足够的测试用例,使得每个判定表达式中条件的各种可能的值的组合都至少出现一次。
11.路径覆盖指设计足够的测试用例,覆盖被测程序中所有可能的路径。
12.测试用例指为寻找程序中的错误而精心设计的一组测试数据