软件测试复习题汇总.docx
《软件测试复习题汇总.docx》由会员分享,可在线阅读,更多相关《软件测试复习题汇总.docx(16页珍藏版)》请在冰豆网上搜索。
软件测试复习题汇总
—
软件测试总复习题
一、单选
1.对程序中已发现的错误进行错误定位和确定出错性质,并改正这些错误,同时修改相关的文档,称为(B)
A)测试B)调试C)错误分析D)验证
2.数据流覆盖关注的是程序中某个变量从其声明、赋值到引用的变化情况,它是下列哪一种覆盖的变种(A)
A)语句覆盖B)控制覆盖C)分支覆盖D)路径覆盖
3.程序的流程图如下图所示,采用路径覆盖法进行测试,则至少需要几个测试用例可以覆盖所有可能的路径(C)
A)5B)6C)7D)8
·
4.如果一个判定中的复合条件表达式为(A>1)or(B<=3),则为了达到100%的条件覆盖率,至少需要设计多少个测试用例(B)
A)1B)2C)3D)4
5.自底向上单元测试的策略是首先对模块调用图上的哪一层模块进行测试(A)
A)最底层B)下一层C)最高层D)上一层
6.基本路径测试满足(B)
A)语句覆盖B)路径覆盖C)分支覆盖D)条件覆盖
7.集成测试对系统内部的交互以及集成后系统功能检验了何种质量特性(B)
^
A)正确性B)可靠性C)可使用性D)可维护性
8.在软件性能测试中,下列指标中哪个不是软件性能的指标(D)
A)响应时间B)吞吐量C)资源利用率D)并发进程数
9.下列关于软件性能测试的说法中,正确的是(B)
A)性能测试的目的不是为了发现软件缺陷
B)压力测试与负载测试的目的都是为了探测软件在满足预定性能需求的情况下所能负担的最大压力
C)性能测试通常要对测试结果进行分析才能获得测试结论
D)在性能下降曲线上,最大建议用户数通常处于性能轻微下降区与性能急剧下降区的交界处
10.《
11.下列关于软件可靠性测试的说法中,错误的是(A)
A)发现软件缺陷是软件可靠性测试的主要目的
B)软件可靠性测试通常用于有可靠性要求的软件
C)在一次软件可靠性测试中,执行的测试用例必须完全符合所定义的软件运行剖面
D)可靠性测试通常要对测试结果进行分析才能获得测试结论
12.下列关于面向对象软件测试的说法中,正确的是(A)
A)在测试一个类时,只要对该类的每个成员方法都进行充分的测试就完成了对该类充分的测试
B)在存在多态的情况下,为了达到较高的测试充分性,应对所有可能的绑定都进行测试
&
C)假设类B是类A的子类,如果类A已进行了充分的测试,在测试类B时不必测试任何类B继承类A的成员方法
D)对于一棵继承树上的多个类,只有处于叶节点的类需要测试
13.下列哪种测试不属于面向对象单元测试考虑的范畴(D)
A)成员方法的测试B)类的测试
C)类树的测试D)多个相互协作的类树的测试
14.下列关于面向对象集成测试的说法中,正确的是(B)
A)大突击集成是面向对象集成测试最常用且最有效的方法
B)自底向上集成和自顶向下集成都需要为集成测试开发大量代码
》
C)协作集成在任何情况下都优于自底向上集成和自顶向下集成
D)高频集成是以自底向上集成为基础,利用冒烟测试进行的集成测试
15.下列有关测试过程V模型的说法中,正确的是(C)
A)验收测试应确定程序的执行是否满足软件设计的要求
B)系统测试应确定系统功能和性能的质量特性是否达到系统要求的指标
C)单元测试和集成测试应确定软件的实现是否满足用户需要或合同的要求
D)集成测试在编码结束前就可以开始
16.计算机软件测试规范规定,软件测试的类别可分为:
单元测试、集成测试以及(C)
<
A)系统测试B)验收测试
C)系统测试和验收测试D)配置项测试、系统测试和验收测试
17.经验表明,在程序测试中,某模块与其他模块相比,若该模块已发现并改正的错误数目较多,则该模块中残存的错误数目与其他模块相比,通常应该(D)
A)较少B)较多C)相似D)不确定
18.同行评审,有时称为同级评审,是一种通过作者的同行来确认缺陷和需要变更区域的检查方法。
它主要分为管理评审、技术评审、文档评审和(B)
A)误差评审B)项目评审C)过程评审D)组织体系评审
19.数据流覆盖关注的是程序中某个变量从其声明、赋值到引用的变化情况,它是下列哪一种覆盖的变种(A)
A)语句覆盖B)控制覆盖C)分支覆盖D)路径覆盖
20.*
21.如果一个判定中的复合条件表达式为(A>1)or(B<=3),则为了达到100%的条件覆盖率,至少需要设计多少个测试用例(B)
A)1B)2C)3D)4
22.自底向上单元测试的策略是首先对模块调用图上的哪一层模块进行测试(A)
A)最底层B)下一层C)最高层D)上一层
23.基本路径测试满足(A)
A)语句覆盖B)路径覆盖C)分支覆盖D)条件覆盖
24.集成测试对系统内部的交互以及集成后系统功能检验了何种质量特性(B)
A)正确性B)可靠性C)可使用性D)可维护性
25.*
26.在软件性能测试中,下列指标中哪个不是软件性能的指标(D)
A)响应时间B)吞吐量C)资源利用率D)并发进程数
27.下列关于软件性能测试的说法中,正确的是(B)
A)性能测试的目的不是为了发现软件缺陷
B)压力测试与负载测试的目的都是为了探测软件在满足预定性能需求的情况下所能负担的最大压力
C)性能测试通常要对测试结果进行分析才能获得测试结论
D)在性能下降曲线上,最大建议用户数通常处于性能轻微下降区与性能急剧下降区的交界处
28.下列关于软件可靠性测试的说法中,错误的是(A)
)
A)发现软件缺陷是软件可靠性测试的主要目的
B)软件可靠性测试通常用于有可靠性要求的软件
C)在一次软件可靠性测试中,执行的测试用例必须完全符合所定义的软件运行剖面
D)可靠性测试通常要对测试结果进行分析才能获得测试结论
29.下列关于面向对象软件测试的说法中,正确的是(A)
A)在测试一个类时,只要对该类的每个成员方法都进行充分的测试就完成了对该类充分的测试
B)在存在多态的情况下,为了达到较高的测试充分性,应对所有可能的绑定都进行测试
C)假设类B是类A的子类,如果类A已进行了充分的测试,在测试类B时不必测试任何类B继承类A的成员方法
!
D)对于一棵继承树上的多个类,只有处于叶节点的类需要测试
30.下列哪种测试不属于面向对象单元测试考虑的范畴(D)
A)成员方法的测试B)类的测试
C)类树的测试D)多个相互协作的类树的测试
31.下列关于面向对象集成测试的说法中,正确的是(B)
A)大突击集成是面向对象集成测试最常用且最有效的方法
B)自底向上集成和自顶向下集成都需要为集成测试开发大量代码
C)协作集成在任何情况下都优于自底向上集成和自顶向下集成
#
D)高频集成是以自底向上集成为基础,利用冒烟测试进行的集成测试
32.下列有关测试过程V模型的说法中,正确的是(C)
A)验收测试应确定程序的执行是否满足软件设计的要求
B)系统测试应确定系统功能和性能的质量特性是否达到系统要求的指标
C)单元测试和集成测试应确定软件的实现是否满足用户需要或合同的要求
D)集成测试在编码结束前就可以开始
33.计算机软件测试规范规定,软件测试的类别可分为:
单元测试、集成测试以及(C)
A)系统测试B)验收测试
~
C)系统测试和验收测试D)配置项测试、系统测试和验收测试
二、多选
1.实施缺陷跟踪的目的是:
( ABCD )
A、软件质量无法控制 B、问题无法量化
C、重复问题接连产生D、解决问题的知识无法保留
E、确保缺陷得到解决F、使问题形成完整的闭环处理
2.使用软件测试工具的目的:
( ABCDF )
!
A、帮助测试寻找问题B、协助问题的诊断
C、节省测试时间D、提高Bug的发现率
E、更好的控制缺陷提高软件质量F、更好的协助开发人员
3.编写测试计划的目的是:
( ABC )
A、使测试工作顺利进行 B、使项目参与人员沟通更舒畅
C、使测试工作更加系统化 D、软件工程以及软件过程的需要
E、软件过程规范化的要求 F、控制软件质量
4.选出属于黑盒测试方法的选项( B )
<
A、条件组合覆盖 B、输入覆盖 C、基路径测试
D、分支覆盖 E、语句覆盖 F、条件覆盖
5.以测试的形态分测试可以分为:
( ABC )
A、建构性测试 B、系统测试 C、专项测试
D、单元测试 E、组件测试 F、集成测试
6.进行软件质量管理的重要性有:
( ABCDEF )
A、维护降低成本 B、法律上的要求 C、市场竞争的需要
D、质量标准化的趋势E、软件工程的需要F、CMM过程的一部分
、
G、方便与客户进一步沟通为后期的实施打好基础
7.( B )可以作为软件测试结束的标志。
A.使用了特定的测试用例 B.错误强度曲线下降到预定的水平
C.查出了预定数目的错误 D.按照测试计划中所规定的时间进行了测试
8.导致软件缺陷的原因有很多,A—D是可能的原因,其中最主要的原因包括( ABCD )。
A.软件需求说明书编写的不全面,不完整,不准确,而且经常更改
B.软件设计说明书
C.软件操作人员的水平
~
D.开发人员不能很好的理解需求说明书和沟通不足
9.软件验收测试的合格通过准则是:
( AD )
A.软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。
B.所有测试项没有残余一级、二级和三级错误。
C.立项审批表、需求分析文档、设计文档和编码实现一致。
D.验收测试工件齐全。
10.软件测试计划评审会需要哪些人员参加( ABCD )
A.项目经理B.SQA负责人
!
C.配置负责人D.测试组
11.下列关于alpha测试的描述中正确的是:
(AD )
A.alpha测试需要用户代表参加
B.alpha测试不需要用户代表参加
C.alpha测试是系统测试的一种
D.alpha测试是验收测试的一种
12.测试设计员的职责有:
( BC )
A.制定测试计划B.设计测试用例
…
C.设计测试过程、脚本D.评估测试活动
13.软件实施活动的进入准则是:
( ABC )
A.需求工件已经被基线化
B.详细设计工件已经被基线化
C.构架工件已经被基线化
D.项目阶段成果已经被基线化
14.下面的哪一项测试步骤中需要进行局部数据结构测试:
( A )
A、单元测试
)
B、集成测试
C、确认测试
D、系统测试
15.从是否需要执行被测软件的角度,软件测试技术可划分的类型是:
(AC )。
A、静态测试
B、黑盒测试
C、动态测试
D、白盒测试
16.;
17.使用软件测试工具的目的:
( ABCDF )
A、帮助测试寻找问题B、协助问题的诊断
C、节省测试时间D、提高Bug的发现率
E、更好的控制缺陷提高软件质量F、更好的协助开发人员
18.编写测试计划的目的是:
( ABC )
A、使测试工作顺利进行 B、使项目参与人员沟通更舒畅
C、使测试工作更加系统化 D、软件工程以及软件过程的需要
E、软件过程规范化的要求 F、控制软件质量
19.】
20.选出属于黑盒测试方法的选项( B )
A、条件组合覆盖 B、输入覆盖 C、基路径测试
D、分支覆盖 E、语句覆盖 F、条件覆盖
21.在GB/T17544中,软件包质量要求包括三部分,即产品描述要求、( A )、程序和数据要求。
A.用户文档要求 B.系统功能要求
C.设计要求说明 D.软件配置要求
22.在软件工程,典型的瀑布模型的四个阶段是:
( ABCD )
A、分析 B、设计 C、编码
(
D、测试 E、需求调研 F、实施
23.导致软件缺陷的原因有很多,A—D是可能的原因,其中最主要的原因包括( ABCD )。
A.软件需求说明书编写的不全面,不完整,不准确,而且经常更改
B.软件设计说明书
C.软件操作人员的水平
D.开发人员不能很好的理解需求说明书和沟通不足
24.软件验收测试的合格通过准则是:
( AD )
A.软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。
。
B.所有测试项没有残余一级、二级和三级错误。
C.立项审批表、需求分析文档、设计文档和编码实现一致。
D.验收测试工件齐全。
25.软件测试计划评审会需要哪些人员参加( ABCD )
A.项目经理B.SQA负责人
C.配置负责人D.测试组
26.下列关于alpha测试的描述中正确的是:
(AD )
A.alpha测试需要用户代表参加
:
B.alpha测试不需要用户代表参加
C.alpha测试是系统测试的一种
D.alpha测试是验收测试的一种
27.测试设计员的职责有:
( BC )
A.制定测试计划B.设计测试用例
C.设计测试过程、脚本D.评估测试活动
28.软件实施活动的进入准则是:
( ABC )
A.需求工件已经被基线化
;
B.详细设计工件已经被基线化
C.构架工件已经被基线化
D.项目阶段成果已经被基线化
29.下面的哪一项测试步骤中需要进行局部数据结构测试:
( A )
A、单元测试
B、集成测试
C、确认测试
D、系统测试
30.。
31.从是否需要执行被测软件的角度,软件测试技术可划分的类型是:
(AC )。
A、静态测试
B、黑盒测试
C、动态测试
D、白盒测试
32.从测试阶段角度,测试结束的正确顺序是:
( B )
A、单元测试、集成测试、系统测试、确认测试
B、单元测试、系统测试、集成测试、确认测试
<
C、确认测试、集成测试、系统测试、单元测试
D、确认测试、系统测试、集成测试、单元测试
33.软件的六大质量特性包括:
( A )
A.功能性、可靠性、可用性、效率、可维护、可移植
B.功能性、可靠性、可用性、效率、稳定性、可移植
C.功能性、可靠性、可扩展性、效率、稳定性、可移植
D.功能性、可靠性、兼容性、效率、稳定性、可移植
/
三、判断
1.自底向上集成需要测试员编写驱动程序。
( √ )
2.测试是证明软件正确的方法。
( ╳ )
3.验收测试是由最终用户来实施的。
(√ )
4.黑盒测试也称为结构测试。
(╳ )
5.代码评审员一般由测试员担任。
( ╳ )
6.软件测试的目的是尽可能多的找出软件的缺陷。
(√ )
7.验收测试是由最终用户来实施的。
(╳)
8..
9.代码评审是检查源代码是否达到模块设计的要求。
(╳)
10.自底向上集成需要测试员编写驱动程序。
(√)
11.负载测试是验证要检验的系统的能力最高能达到什么程度。
(V)
12.测试是调试的一个部分( ╳ )
13.软件测试的目的是尽可能多的找出软件的缺陷。
(√ )
14.程序中隐藏错误的概率与其已发现的错误数成正比(√)
15.测试人员要坚持原则,缺陷未修复完坚决不予通过。
( √ )
16.单元测试能发现约80%的软件缺陷。
(√ )
17.:
18.测试的目的是发现软件中的错误。
( √ )
19.代码评审是检查源代码是否达到模块设计的要求。
( ╳ )
20.负载测试是验证要检验的系统的能力最高能达到什么程度。
( ╳ )
21.测试中应该对有效和无效、期望和不期望的输入都要测试。
( √ )
22.集成测试计划在需求分析阶段末提交。
( ╳)
四、名词解释
1.Beta测试
(
Beta测试是从用户角度进行的测试,是由软件的多个用户在一个或多个用户的实际使用环境下进行的测试。
它是在开发者无法控制的软件环境下进行的软件现场应用。
2.压力测试
持续不断地给被测系统增加压力,直到系统被压垮,从而确定系统能承受的最大
压力。
3.逻辑覆盖
是以程序内部的逻辑结构为基础的设计测试用例的技术。
它属于白盒测试。
4.驱动模块:
桩模块(P105):
用于代替所测模块调用的子模块。
桩模块可以进行少量的数据操作,不需要实现子模块的所有功能,但要根据需要来实现或代替子模块的一部分功能。
}
驱动模块(P105):
相当于所测模块的主程序。
它接收测试数据,把这些数据传送给所测模块,最后再输出实际测试结果。
5.大爆炸集成
属于非增值式集成的一种方法,也称为一次性组装或整体拼装。
这种集成策略的做法就是把所有通过单元测试的模块一次性集成到一起进行测试,不考虑组件之间的互相依赖性及可能存在的风险。
6.α测试
Alpha测试是由选定的用户进行的产品早期性测试,这个测试一般在可控的环境下进行。
7.负载测试
让被测系统在其能忍受的压力极限范围内连续运行,来测试系统的稳定性。
8.基路径覆盖
路径覆盖是在组件中被测试执行到的路径的百分比。
要求设计若干测试用例,执行被测试程序时,能够覆盖程序中所有的可能路径。
9.桩模块
桩模块(P105):
用于代替所测模块调用的子模块。
桩模块可以进行少量的数据操作,不需要实现子模块的所有功能,但要根据需要来实现或代替子模块的一部分功能。
10.三明治集成
一种混合增量式测试策略,综合了自顶向下和自底向上两种集成方法的优点,因此也属于基于功能分解的集成。
这种方法桩和开发工作都比较小,但增加了定位缺陷的难度。
五、简答
1.为什么要在一个团队中开展软件测试工作
{
答:
软件测试在整个一个团队中占有非常重要的地位,具体来说就是测试是一个发现软件错误的过程,执行软件测试会以最少的人力和时间,系统的找到软件存在的缺陷和错误,建立起开发人员和使用者对软件的信心。
2.您是否了解以往所工作的企业的软件测试过程如果了解,请试述在这个过程中都有哪些工作要做分别由哪些不同的角色来完成这些工作
答:
软件测试部门配合系统分析人员软件需求分析讨论,并根据需求说明书制定《项目测试计划》,编写测试用例,建立测试环境。
软件测试人员负责软件开发部门的新产品测试及原有产品的升级测试,负责软件问题解决过程跟踪,负责软件开发文档开发工作的规范化及管理开发部门的产品文档,制作用户手册及操作手册,负责产品的上线测试,监督软件开发过程的执行,提高产品质量。
3.请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。
黑盒测试:
把测试对象当成一个黑盒子,测试人员完全不考虑逻辑结构和内部特性,只依据程式的需求说明书来检查程式的功能是否满足它的功能说明。
白盒测试:
把测试对象当成一个透明的盒子,允许测试人员利用程序内部逻辑结构及相关信息,设计或选择测试用例,对程式所有逻辑路径进行测试。
单元测试:
白盒测试的一种,对软件设计中的单元模块进行测试。
¥
集成测试:
在单元测试的基础上,对单元模块之间的连接和组装进行测试。
系统测试:
在所有都考虑的情况下,对系统进行测试。
验收测试:
第三方进行的确认软件满足需求的测试。
4.单元测试策略主要有哪三种方式分别加以说明。
1)自顶向下的单元测试策略:
从顶层调用的单元做成桩模块;对第二层测试,使用上面已测试的单元做驱动模块;依次类推,直到全部单元测试结束。
2)自底向上的单元测试策略:
先对模块调用的最底层模块进行测试,模拟调用该模块的模块为驱动模块;其次,对上一层模块进行单元测试,用已经被测试过的模块做桩模块,依次类推,直到全部单元测试结束。
3)孤立测试的单元测试策略:
无需考虑每个模块与其他模块之间的关系,分别为每个模块单独设计桩模块和驱动模块,逐一完成所有单元模块的测试。
软件测试和软件测试结束的标准:
5.(
6.什么是恢复性测试,在进行恢复性测试时要考虑的主要问题有哪些
恢复性测试
也叫容错测试,用来检查系统的容错能力。
通常若计算机系统出现错误,就必须在一定时间内从错误中恢复过来,修正错误并重新启动系统。
恢复测试是通过各种手段,让软件强制性地出错,使其不能正常工作,从而检验系统的恢复能力。
在进行恢复性测试时,要考虑的主要问题有:
1)恢复期间的安全性过程。
2)恢复处理日志方面的能力。
3)当出现供电问题时的恢复能力。
"
4)恢复操作后系统性能是否下降。
7.您所熟悉的软件测试类型都有哪些请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试……)
答:
有功能测试,性能测试,可靠性测试,安全性测试,负载测试,压力测试,安装/卸载测试,启动/停止测试,兼容性测试,互连测试,文档测试,恢复测试,回归测试,可使用性测试,容量测试。
功能测试只对软件的功能是否满足用户需求来做测试。
性能测试需要和压力和负载测试联合起来。
8.什么是软件测试,软件测试分为哪几个阶段
软件测试是为了发现错误而执行程序的过程。
或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。
软件测试过程按各测试阶段的先后顺序可分为单元测试、集成测试、确认(有效性)测试、系统测试和验收(用户)测试5个阶段
软件测试退出标准为:
完成测试需求中列出的所有功能及测试过程中发现缺陷的回归测试。
9.判断系统安全性性能的指标有哪些并加以说明。
1)有效性:
启动严格的安全性性能所花费的时间占启动整个系统所花费时间的比例。
2)生存性:
当错误发生时,系统对紧急操作的支持,对错误的补救措施以及恢复到正常操作的能力,即系统的抗挫能力。
3)精确性:
衡量系统安全性控制的精度指标,围绕所出现的错误数量、发生频率及其严重性判断。
4)反应时间:
出错时系统响应速度的快慢,一个安全性较强的系统要具备快速的反应速度。
5)吞吐量:
用户和服务请求的峰值和平均值。
六、综合
1.常见的黑盒测试方法都有哪些请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。
1.等价类划分
常见的软件测试面试题划分等价类:
等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:
测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:
有效等价类和无效等价类.
2.边界值分析法
边界值分析方法是对等价类划分方法的补充。
测试工作经验告诉我,大量