软件测试经典练习题.docx
《软件测试经典练习题.docx》由会员分享,可在线阅读,更多相关《软件测试经典练习题.docx(17页珍藏版)》请在冰豆网上搜索。
软件测试经典练习题
一、判断题(正确的“√”,错误的“╳”)
2、测试程序仅仅按预期方式运行就行了。
(F)
3、不存在质量很高但可靠性很差的产品。
(F)
4、软件测试员可以对产品说明书进行白盒测试。
(F)
5、静态白盒测试可以找出遗漏之处和问题。
(T)
6、总是首先设计白盒测试用例。
(F)
7、可以发布具有配置缺陷的软件产品。
(T)
8、所有软件必须进行某种程度的兼容性测试。
(T)
9、所有软件都有一个用户界面,因此必须测试易用性。
(F)
10、测试组负责软件质量。
(F)
11、软件测试按照测试过程分类为黑盒、白盒测试。
(F)
12、在设计测试用例时,应包括合理的输入条件和不合理的输入条件。
(T)
13、集成测试计划在需求分析阶段末提交。
(F)
14、单元测试属于动态测试。
(F)
15、缺陷跟踪系统只针对测试人员来使用。
(F)
16、从用户软件开发者的角度出发,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,以考虑是否可接受该产品。
(F)
17、项目立项前测试人员不需要提交任何工件。
(F)
18、软件测试的目的是尽可能多的找出软件的缺陷。
(F)
19、软件项目在进入需求分析阶段,测试人员应该开始介入其中。
(T)
20、软件生存周期是从软件开始开发到开发结束的整个时期。
(F)
21、单元测试能发现约80%的软件缺陷。
(F)
22、数据流图和数据字典共同构成系统的逻辑模型。
(T)
23、负载测试是验证要检验的系统的能力最高能达到什么程度。
(F)
24、测试人员要坚持原则,缺陷未修复完坚决不予通过。
(T
25、代码评审员一般由测试员担任。
(F)
26、测试组负责软件质量。
(F)
27、程序的效率与程序的复杂性相关。
(F)
28、详细设计的目的是为软件结构图中的每一个模块确定使用的算法和块内数据结构,并用某种选定的表达工具给出清晰的描述。
(T)
29、软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性。
(T)
30、测试程序仅仅按预期方式运行就行了。
(F)
二、单选题(正确的“√”,错误的“╳”)
1、在软件测试中,下面说法中错误的是( B )。
A.测试是为了发现程序中的错误而执行程序的过程
B.测试是为了表明程序是正确的
C.好的测试方案是极可能发现迄今为止尚未发现的错误的方案
D.成功的测试是发现了至今为止尚未发现的错误的测试
2、软件测试的目的是( B )。
A.试验性运行软件
B.发现软件错误
C.证明软件正确
D.找出软件中全部错误
3、软件测试用例主要由测试输入数据和( C )两部分组成。
A.测试计划
B.测试规则
C.测试的预期结果
D.以往测试记录分析
4、与设计测试用例无关的文档是( A)。
A.项目开发计划
B.需求规格说明书
C.软件设计说明书
D.源程序
5、软件测试是软件质量保证的主要手段之一,测试的成本已超过( A)的30%以上。
因此,提高测试的有效性非常重要。
A.软件开发成本
B.软件维护成本
C.软件开发成本和维护成本
D.软件研制成本
6、“高产”的测试是指( C)。
A.用适量的测试用例说明被测试程序正确无误
B.用适量的测试用例说明被测试程序符合相应的要求
C.用适量的测试用例发现被测试程序尽可能多的错?
D.用适量的测试用例纠正被测试程序尽可能多的错误
7、如果想要进行成功的测试,为其设计测试用例主要依赖于( B)。
A.黑盒测试方法
B.测试人员的经验
C.白盒测试方法
D.错误推测法
8、使用白盒测试方法时,确定测试数据应根据( A)和指定的覆盖标准。
A.程序的内部结构
B.程序的复杂性
C.使用说明书
D.程序的功能
9、在用逻辑覆盖法设计测试用例时,有语句覆盖、分支覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖和路径覆盖等。
其中( D )是最强的覆盖准则。
A.语句覆盖
B.条件覆盖
C.判定-条件覆盖
D.路径覆盖
10、在设计测试用例时,( A)是用得最多的一种黑盒测试方法。
A.等价类划分
B.边界值分析
C.因果图
D.功能图
11、在黑盒测试中,着重检查输入条件的组合的测试用例设计方法是( D)。
A.等价类划分
B.边界值分析
C.错误推测法
D.因果图法
12、从下列叙述中,能够与软件开发各阶段,如需求分析、设计、编码相对应的软件测试是( D )。
A.集成测试、确认测试、单元测试
B.单元测试、集成测试、确认测试
C.单元测试、确认测试、集成测试
D.确认测试、集成测试、单元测试
13、单元测试将根据在( D)阶段中产生的规格说明进行
A.可行性研究与计划
B.需求分析
C.概要设计
D.详细设计
14、集成测试计划是在( C)阶段制定的
A.可行性研究与计划
B.需求分析
C.概要设计
D.详细设计
15、确认测试计划是在( B)阶段制定的。
A.可行性研究与计划
B.需求分析
C.概要设计
D.详细设计
16、软件的集成测试最好是由( D)承担,以提高集成测试的效果。
A.该软件的设计者
B.该软件开发组的负责人
C.该软件的编程者
D.不属于该开发组的人员
17、( D)是简化了的模拟较低层次模块功能的虚拟子程序。
A.过程
B.函数
C.仿真
D.桩
18、( A)是指为查明程序中的错误和缺陷,可能使用的工具和手段。
A.调试技术
B.测试技术
C.跟踪法
D.动态测试
19、从已发现故障的存在到找到准确的故障位置并确定故障的性质,这一过程称为( C)。
A.错误检测
B.故障排除
C.调试
D.测试
20、在程序设计的过程中应为程序调试做好准备,主要体现在( D )方面。
A.采用模块化、结构化的程序设计方法设计程序
B.编写程序时要为程序调试提供足够的灵活性
C.根据程序调试的需要,选择并安排适当的中间结果输出和必要的断?
D.以上全是
21、统计资料表明,软件测试的工作量占整个软件开发工作量的( C)。
A.30%
B.70%
C.40%~50%
D.95%
22、软件测试计划是一些文档,它们描述了( D)。
A.软件的性质
B.软件的功能和测试用例
C.软件的规定动作
D.对于预定的测试活动将要采取的手段
23、IBM公司的统计资料表明,使用静态测试的方法最高可以查出在测试中查出的全部软件错误的( B)。
A.80%
B.70%
C.50%
D.35%
24、黑盒测试方法的优点是( D)。
A.可测试软件的特定部位
B.能站在用户立场测试
C.可按软件内部结构测试
D.可发现实现功能需求中的错误
25、白盒测试方法的优点是( C )。
A.可测试软件的特定部位
B.能站在用户立场测试
C.可按软件内部结构测试
D.可发现实现功能需求中的错误
26、等价类划分完成后,就可得出( C ),它是确定测试用例的基础。
A.有效等价类
B.无效等价
C.等价类表
D.测试用例集
27、由因果图转换出来的( A )是确定测试用例的基础。
A.判定表
B.约束条件表
C.输入状态表
D.输出状态表
28、(A)是用户和设计交换最频繁的方法
A.原型化方法
B.瀑布模型方法
C.螺旋模型方法
D.构件组装模型
29、软件测试的目的:
(C)
A.避免软件开发中出现的错误
B.发现软件开发中出现的错误
C.尽可能发现并排除软件中潜藏的错误,提高软件的可靠性
D.修改软件中出现的错误
30、某次程序调试没有出现预计的结果,下列(B)不可能是导致出错的原因。
A.变量没有初始化
B.编写的语句书写格式不规范
C.循环控制出错
D.代码输入有误
31、下列关于程序效率的描述错误的是(B)。
A.提高程序的执行速度可以提高程序的效率
B.降低程序占用的存储空间可以提高程序的效率
C.源程序的效率与详细设计阶段确定的算法的效率无关
D.好的程序设计可以提高效率
32、软件测试是软件开发过程的重要阶段,是软件质量保证的重要手段,下列哪个(些)是软件测试的任务?
D
Ⅰ预防软件发生错误 Ⅱ发现改正程序错误 Ⅲ提供诊断错误信息
A.只有Ⅰ
B.只有Ⅱ
C.只有Ⅲ
D.都是
33、软件测试是软件质挝保证的重要手段,下述哪种测试是软件测试的最基础环节?
B
A.功能测试
B.单元测试
C.结构测试
D.确认测试
34、通常可分为白盒测试和黑盒测试。
白盒测试是根据程序的(C)来设计测试用例,黑盒测试是根据软件的规格说明来设计测试用例。
A.功能
B.性能
C.内部逻辑
D.内部数据
35、常用的黑盒测试方法有边值分析、等价类划分、错误猜测、因果图等。
其中(C)经常与其它方法结合起来使用。
软件测试的步骤主要有单元测试、集成测试和确认测试。
A.边值分析
B.等价类划分
C.错误猜测
D.因果图
三、选择填空题(正确的“√”,错误的“╳”)
1、从供选择的答案中选出应填入下列( )中的字句。
软件测试的目的是( A 2)。
为了提高测试的效率,应该( B 4)。
使用白盒测试方法时,确定测试数据应根据( C 1)和指定的覆盖标准。
与设计测试数据无关的文档是( D 4)。
软件的集成测试工作最好由( E 4)承担,以提高集成测试的效果?
BR>供选择的答案:
A.①评价软件的质量②发现软件的错误
③找出软件中的所有错误④证明软件是正确的
B.①随机地选取测试数据
②取一切可能的输入数据作为测试数据
③在完成编码以后制定软件的测试计划
④选择发现错误的可能性大的数据作为测试数据
C.①程序的内部逻辑②程序的复杂程度
③使用说明书④程序的功能
D.①该软件的设计人员②程序的复杂程度
③源程序④项目开发计划
E.①该软件的设计人员②该软件开发组的负责人
③该软件的编程人员④不属该软件开发组的软件人员
2、从供选择的答案中选出应填入下列( )中的字句。
为了把握软件开发各个环节的正确性和协调性,人们需要进行( A 2)和( B 3)工作。
( A )的目的是想证实在一给定的外部环境中软件的逻辑正确性。
它包括( C 2)和( D 3),( B )则试图证明在软件生存期各个阶段,以及阶段间的逻辑( E 3)、( F 4)和正确性。
供选择的答案:
A,B.①操作 ②确认 ③验证 ④测试 ⑤调试
C,D.①用户的确认 ②需求规格说明的确认
③程序的确认 ④测试的确认
E,F.①可靠性 ②独立性 ③协调性 ④完备性 ⑤扩充性
3、从供选择的答案中选出应填入下列( )中的字句。
测试过程需要三类输入:
( A )、( B )和( C )。
请选择正确的答案填入下图中以完成测试信息处理的全过程。
供选择的答案?
246312
A~C.①接口选择②软件配置③硬件配置
④测试配置⑤测试环境⑥测试工具
D~F.①排错 ②可靠性分析 ③结果分析 ④数据分类
4、请从供选择的答案中选出应填入下列( )中的字句。
程序的三种基本控制结构是( A 2)。
它们的共同点是( B 4)。
结构化程序设计的一种基本方法是( C 4)。
软件测试的目的是( D 2)。
软件调试的目的是( E 1)。
供选择的答案:
A.①过程,子程序,分程序 ②顺序,条件,循环
③递归,堆栈,队列 ④调用,返回,转移
四、填空题(正确的“√”,错误的“╳”)
1、测试用例不仅要选用合理的测试输入数据,还需要选用不合理的测试输入数据,这样能更多地《发现错误》,提高程序的可靠性。
对于不合理的测试输入数据,程序应《拒绝执行》,并给出相应的提示。
2、动态测试指通过《运行程序》发现错误。
对软件产品进行动态测试时使用黑盒测试法和《白盒测试》法。
3、静态测试指《被测试程序》不在机器上运行,而是采用《人工测试》和《计算机辅助静态分析》的手段对程序进行检测。
4、黑盒测试依据《软件规格说明》,检查程序是否满足《功能需求》。
因此,黑盒测试由称为功能测试或《数据驱动》测试。
5、白盒测试以检查处理过程的细节为基础,对程序中尽可能多的《逻辑路径》进行测试,检查内部《逻辑结构》和《运行原理》是否有错,程序的《运行状态》与预期的状态是否一致。
6、在基本路径测试中,独立路径是指包括一组以前没有处理过的《语句或条件》的一条路径。
从程序图来看,一条独立路径是至少包含有一条《从未走过》的边的路径。
7、在单元测试中,驱动模块的作用是用来模拟被测模块的《上层调用模块》。
它的工作是接受《测试输入数据》,以上层模块调用被测模块的形式《把数据传送给》被测模块,接收被测模块的《实测结果》并输出。
8、在单元测试中,桩模块用来代替被测模块的《子模块》。
其作用是《返回被测模块所需》的信息。
9、错误的群集现象是指模块错误发现率与模块的残留错误数成《正比》关系。
B.①不能嵌套使用 ②只能用来写简单的程序
③已经用硬件实现 ④只有一个入口和一个出口
C.①筛选法 ②递归法 ③归纳法 ④逐步求精法
D.①证明程序中没有错误 ②发现程序中的错误
③测量程序的动态特性 ④检查程序中的语法错误
E.①找出错误所在并改正之 ②排除存在错误的可能性
③对错误性质进行分类 ④统计出错的次数
5、从供选择的答案中选出同下列各条叙述关系最密切的字句。
(1)对可靠性要求很高的软件,例如操作系统,由第三者对源代码进行逐行检查。
(2)已有的软件被改版时,由于受到变更的影响,改版前正常的功能可能发生异常,性能也可能下降。
因此,对变更的软件进行测试是必要的。
(3)在意识到被测试模块的内部结构或算法的情况下进行测试。
(4)为了确认用户的需求,先做出系统的主要部分,提交给用户试用。
(5)在测试具有层次结构的大型软件时,有一种方法是从上层模块开始,由上到下进行测试。
此时,有必要用一些模块替代尚未测试过的下层模块。
供选择的答案:
A~E:
①仿真器 ②代码审查 ③模拟器 ④桩
⑤驱动器 ⑥域测试 ⑦黑盒测试 ⑧原型
⑨白盒测试 ⑩退化测试
6、从供选择的答案中选出应填入下面叙述的( )内的正确答案。
软件测试方法可分为黑盒测试法和白盒测试法两种。
黑盒测试法是通过分析程序的( A 3)来设计测试用例的方法。
除了测试程序外,它还适用于对( B 4)阶段的软件文档进行测试。
白盒测试法是根据程序的( C 2)来设计测试用例的方法。
除了测试程序外,它也适用于对( D 2)阶段的软件文档进行测试。
白盒法测试程序时常按照给定的覆盖条件选取测试用例。
( E 2)覆盖比( F 1)覆盖严格,它使得每一个判定的每一条分支至少经历一次。
( G 4)覆盖既是判定覆盖,又是条件覆盖,但它并不保证使各种条件都能取到所有可能的值。
( H 5)覆盖比其他条件都要严格,但它不能保证覆盖程序中的每一条路径?
BR> 单元测试一般以( I 1)为主,测试的依据是( J 1)。
供选择的答案:
A,C:
①应用范围 ②内部逻辑 ③功能 ④输入数据
B,D:
①编码 ②软件详细设计 ③软件总体设计 ④需求分析
E~H:
①语句 ②判定 ③条件 ④判定/条件
⑤多重条件 ⑥路径
I:
①白盒法 ②黑盒法
J:
①模块功能规格说明 ②系统模块结构图 ③系统需求规格说明
7、从供选择的答案中选出应填入下面叙述的( )内的正确答案。
集成测试也叫做( A 3)或( B 6)。
通常,在( C 1)的基础上,将所有模块按照设计要求集成成为系统。
子系统的集成测试特别称为?
nbsp;D 2),它所做的工作是要找出子系统和系统需求规格说明之间的( E 6)。
需要考虑的问题是:
在把各个模块连接起来的时侯,穿越模块接口的数据是否会( F 2);一个模块的功能是否会对另一个模块的功能产生不利的影响;各个( G 1)组合起来,能否达到预期要求的( H 3);( I 5)是否有问题;单个模块的误差累积起来是否会放大。
供选择的答案:
A~D.①单元测试 ②部件测试 ③集成测试
④系统测试 ⑤确认测试 ⑥联合测试
E~I.①子功能 ②丢失 ③父功能
④局部数据结构 ⑤全局数据结构 ⑥不一致
⑦一致
8、从供选择的答案中选出应该填入下列叙述的( )内的正确答案。
软件测试中常用的静态分析方法是( A 1)和( B 5)。
( B )用于检查模块或子程序间的调用是否正确。
分析方法(白盒方法)中常用的方法是( C 1)方法。
非分析方法(黑盒方法)中常用的方法是( D 2)方法和( E 3)方法。
( E )方法根据输出对输入的依赖关系设计测试用例。
供选择的答案:
A~B:
①引用分析 ②算法分析 ③可靠性分析 ④效率分析
⑤接口分析 ⑥操作分析
C~E:
①路径测试 ②等价类 ③因果图 ④归纳测试
⑤综合测试 ⑥追踪 ⑦深度优先 ⑧调试
⑨相对图
9、从供选择的答案中选出应填入下面叙述的( )内的正确答案。
等价类划分是一种典型的( A 2)方法,也是一种非常实用的重要的测试方法。
使用这一方法,完全不考虑程序的( B 1)。
用所有可能输入的数据来测试程序是不可能的,只能从全部可供输入的数据中选择一个( C 2)进行测试。
( D 5)是指某个输入域的集合,在该集合中,各个输入数据对于揭露程序中的错误是( E 3)。
供选择的答案:
A:
①白盒测试方法 ②黑盒测试方法
B:
①内部结构 ②外部环境 ③顺序 ④流程
C~E:
①全集 ②子集 ③等效?
BR> ④不同的 ⑤等价类 ⑥典型集
简答
1你认为一个优秀的测试工程师应该具备哪些素质?
探索者,故障排除员,不放过任何蛛丝马迹,创造性,老练的追求完美者,判断准确,注重策略和外交,善于说服。
2软件开发模型分哪几种
瀑布模型、渐增模型/演化/迭代、原型模型、螺旋模型、喷泉模型、智能模型、混合模型
3软件生命周期分哪几个阶段?
可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃
4应该由谁来进行确认测试?
是软件开发者还是软件用户?
为什么?
由软件开发者,开发者对软件产品进行评估,若不满足要求则与用户协商解决办法
5如果能够执行完美的黑盒测试,还需要进行白盒测试吗?
为什么?
需要,黑盒测试可根据程序规格检验程序是否完成规定功能,但无法发现程序内部的编码和逻辑错误,白盒测试与之相反互补。
6产品测试到什么时候就算是足够了?
测试一直贯穿软件的整个生命周期,从需求、设计到编码、实现一直到软件的最终交付用户,测试时期已满或特定的测试用例作为判断测试停止的基础。
7测试计划的目的是什么?
确定测试基本原则,生成测试概要设计。
8软件测试应该划分几个阶段?
简述各个阶段应重点测试的点?
各个阶段的含义?
按照开发阶段划分,软件测试可分为单元测试、集成测试,系统测试和验收测试。
单元测试:
针对每个单元的测试,以确保每个模块能正常工作为目标。
集成测试:
对已测试过的模块进行组装,进行集成测试。
系统测试:
检验软件产品能否与系统的其他部分协调工作。
验收测试:
检验软件产品质量的最后一道工序。
9对小的程序进行穷举测试是可能的,用穷举测试能否保证程序是百分之百正确呢?
不能,不能查出错误程序本身违反了设计规范
不可能查出程序因遗漏而出错
发现不了一些与权据相关的错误
10在任何情况下单元测试都是可能的吗?
都是需要的吗?
、
单元测试,其目的在于发现各模块内部可能存在的各种差错。
多个模块可以平行地独立进行单元测试。
单元测试是在编码阶段完成的,每编写出一个程序模块,就开始做这个模块的单元测试,所以只要采用模块化方法开发软件,单元测试都是必需的。
11α测试和β测试
α是软件公司组织内部人员模拟各类用户对将面世的软件产品进行测试。
Β是由软件的多个用户在一个或多个用户的实际使用环境下进行测试。
12驱动模块和桩模块
桩模块:
也叫存根程序,用于模拟被测模块工作过程中所调用的子模块
驱动模块:
用于模拟所测模块的上级模块,它接受测试数据,把这些数据传输给被测模块。
13白盒测试和黑盒测试
白盒测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行。
黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。
14静态测试和动态测试
静态方法是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。
动态测试方法是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率和健壮性等性能,
15累进测试和回归测试
回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。
问答计算题
1、画出下列伪码程序的程序流程图。
START
IFmTHEN
WHILEnDO
A
B
ENDDO
ELSE
BLOCK
C
D
ENDBLOCK
ENDIF
STOP
2、如图所示的程序有三条不同的路径。
分别表示为L1(a→b)、L2(a→c→d)、L3(a→c→e),或简写为ace、abd、abe及acd。
根据判定覆盖、条件覆盖、判定–条件覆盖、条件组合覆盖和路径覆盖等五种覆盖标准,从供选择的答案中分别找出满足相应覆盖标准的最小测试用例组。
(用①~⑩回答)
供选择的答案:
x=90,y=90②x=50,y=50
x=90,y=90④x=90,y=70
x=50,y=50x=40,x=90
⑤x=90,y=90⑥x=90,y=90
x=50,y=50x=70,y=90
x=