《软件测试技术》期末复习题+参考答案Word下载.docx
《《软件测试技术》期末复习题+参考答案Word下载.docx》由会员分享,可在线阅读,更多相关《《软件测试技术》期末复习题+参考答案Word下载.docx(31页珍藏版)》请在冰豆网上搜索。
(C)是否能看到被测源程序
(D)运行结果是否确定
9.下列项目中不属于测试文档的是(C)
(A)测试计划(B)测试用例
(C)程序流程图(D)测试报告
10.如果某测试用例集实现了某软件的路径覆盖,那么它一定同时实现了该软件的(A)
(A)判定覆盖(B)条件覆盖
(C)判定/条件覆盖(D)组合覆盖
11.下列说法不正确的是(D)
q(A)测试不能证明软件的正确性;
(B)测试员需要良好的沟通技巧;
(C)QA与testing属于一个层次的概念;
(D)成功的测试是发现了错误的测试。
12.对Web网站进行的测试中,属于功能测试的是(B)
(A)连接速度测试(B)链接测试
(C)平台测试
(D)安全性测试
13.在进行单元测试时,常用的方法是(B)
(A)采用黑盒测试,辅之以白盒测试;
(B)采用白盒测试,辅之以黑盒测试;
(C)只使用黑盒测试;
(D)只使用白盒测试。
14.使用白盒测试方法时,确定测试数据的依据是指定的覆盖标准和(B)
(A)程序的注释
(B)程序的内部逻辑
(C)用户使用说明书
(D)程序的需求说明
17.下列___不是软件自动化测试的优点(D)
(A)速度快、效率高(B)准确度和精确度高
(C)能提高测试的质量(D)能充分测试软件
18.配置测试(C)
(A)是指检查软件之间是否正确交互和共享信息(B)是交互适应性、实用性和有效性的集中体现
(C)是指使用各种硬件来测试软件操作的过程(D)检查缺陷是否有效改正
19.下列各项中___不是一个测试计划所应包含的内容(B)
(A)测试资源、进度安排(B)测试预期输出
(C)测试范围(D)测试策略
21.自底向上增量式集成测试中,下面(C)描述是正确的。
(A)测试由桩模块控制
(B)最上面的模块最先测试
(C)父单元用测试过的子单元测试
D.包含树的深度优先或广度优先遍历过程
22.增量式集成测试有3种方式:
(A),自底向上增量测试方法和组合增量测试方法。
A.自顶向下增量测试方法B.一次性集成测试
C.多次性测试D.维护
23.测试后程序中残存的错误数目与该程序中已发现的错误数目成(D)。
A.未知B.反比C.相等D.正比
二、判断题:
共10小题,每小题1分,满分10分;
请将答案以“√”、“×
”形式填入题后括号中。
1.好的测试员不懈追求完美。
(×
)
2.软件测试是有效的排除软件缺陷的手段。
(√)
3.程序员与测试工作无关。
(×
4.程序员兼任测试员可以提高工作效率。
5.产品说明书(需求文档)的变更应当受到控制。
6.白盒测试的“条件覆盖”标准强于“判定覆盖”。
7.软件开发全过程的测试工作都可以实现自动化。
8.找出的软件缺陷越多,说明剩下的软件缺陷越少。
9.采用自动化测试有可能延误项目进度。
10.测试应从“大规模”开始,逐步转向“小规模”。
三、填空题:
共10小题20个空格,每个空格1分,满分20分;
请将答案填入指定的空白处。
1.软件缺陷产生的原因包括软件说明书、设计、编写代码以及其他原因。
2.黑盒测试用例设计方法包括等价类划分法,边界值法,以及因果图法,错误推测法等。
3.测试过程中,____测试计划_______________描述用于描述测试的整体方案,________缺陷报告__描述依据测试案例找出的问题。
4.传统的等价类划分测试的实现分两步进行,一是___划分等价类表____,二是_边界值分析法______。
5.在兼容性测试中,______向前兼容_________是指可以使用软件的以前版本,___向后兼容_____是指可以使用软件的未来版本。
6.测试工作就是进行输入、接受输出、检验结果,不深入代码细节,这样的测试方法称为__动态黑盒测试___,在不执行代码的条件下有条理地仔细审查软件设计、体系结构和代码,从而找出软件缺陷的测试方法称为___静态白盒测试_____________。
7.不需要修复软件缺陷的原因包括______没有时间__、不能算真正的软件缺陷、___风险太大__、不值得修复。
8.白盒测试又称为_结构测试或逻辑结构测试_,黑盒测试又称为___功能测试或给予规格说明书的测试_。
9.动态测试的两个基本要素是___被测试程序___、_____测试数据___。
四、简答题:
共3小题,每小题5分,满分15分。
1.软件缺陷
1).软件未达到产品说明书的功能
2).软件出现了产品说明书指明不会出现的错误
3).软件功能超出产品说明书指明范围
4).软件未达到产品说明书虽未指出但应达到的目标
5).软件测试员认为难以理解、不易使用、运行速度缓慢、或者最终用户认为不好
2.黑盒测试
黑盒测试也称功能测试或数据驱动测试,前提是已知产品所具有的功能,通过测试来检测每个功能是否都正常使用。
3.如何划分等价类?
1).在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。
2).在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,则可以确立一个有效等价类和一个无效等价类。
3).在输入条件是一个布尔量的情况下,可以确立一个有效等价类和一个无效等价类。
4).在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可以确立n个有效等价类和一个无效等价类。
5).在规定了输入数据必须遵守的规则的情况下,可以确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。
6).在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。
六、综合题:
共1小题,每小题20分,满分20分。
一、单项选择题;
1.软件测试的目的是(B)
(A)发现程序中的所有错误(B)尽可能多地发现程序中的错误
(C)证明程序是正确的(D)调试程序
2.下列___不属于测试原则的内容(D)
(A)软件测试是有风险的行为(B)完全测试程序是不可能的
(C)测试无法显示潜伏的软件缺陷(D)找到的缺陷越多软件的缺陷就越少
3.导致软件缺陷的最大原因是(A)
(A)编制说明书(B)设计
(C)编码(D)测试
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.动态黑盒子测试:
(B)
(A)直接测试底层功能、过程、子程序和库(B)可估算执行测试时代码量和具体代码
(C)从软件获得读取变量和状态信息的访问权(D)测试的是软件在使用过程中的实际行为
9.在自低向上测试中,要编写称为___B_的模块来测验正在测试的模块。
(A)测试存根(B)测试驱动模块
(C)桩模块(D)底层模块
10.下列___不是软件自动化测试的优点(D)
11.配置测试(C)
12.下列各项中___不是一个测试计划所应包含的内容(B)
13.下列不属于正式审查的方式是(D)
(A)同事审查(B)公开陈述(C)检验(D)编码标准和规范
14.在没有产品说明书时使用____:
(A)探索测试(B)功能测试(C)动态测试(D)静态测试
15.调试是(D)
(A)发现与预先定义的规格和标准不符合的问题
(B)发现软件错误征兆的过程
(C)有计划的、可重复的过程
(D)消除软件错误的过程
16.在软件底层进行的测试称为(C)
(A)系统测试(B)集成测试(C)单元测试(D)功能测试
17.在确定黑盒测试策略时,优先选用的方法是(B)
(A)边界值分析法(B)等价类划分
(C)错误推断法(D)决策表方法
18.下列___不属于软件缺陷(A)
(A)测试人员主观认为不合理的地方
(B)软件未达到产品说明书标明的功能
(C)软件出现了产品说明书指明不会出现的错误
(D)软件功能超出产品说明书指明范围
19.产品发布后修复软件缺陷比项目开发早期这样做的费用要高_____(D)
(A)1~2倍(B)10~20倍(C)50倍(D)100倍或更高
20._____把黑盒子测试和白盒子测试的界限打乱了。
(A)灰盒子测试(B)动态测试(C)静态测试(D)失败测试
二、填空题:
10.软件缺陷产生的原因包括_____编写说明书_____、设计、______编写代码_____以及其他原因。
11.软件开发模式包括________大棒模式___________、边写边改模式、_____流水模式__、螺旋模式。
12.黑盒测试用例设计方法包括___等价类划分法___、____边界值分析法___以及因果图法,错误推测法等。
13.测试过程中,___测试计划_____用于描述测试的整体方案,__缺陷报告_描述依据测试案例找出的问题。
14.传统的等价类划分测试的实现分两步进行,一是划分等价类表_,二是_设计相应的测试用例_。
15.在兼容性测试中,_向前兼容_是指可以使用软件的以前版本,_____向后兼容是指可以使用软件的未来版本。
16.测试工作就是进行输入、接受输出、检验结果,不深入代码细节,这样的测试方法称为__动态黑盒测试____,在不执行代码的条件下有条理地仔细审查软件设计、体系结构和代码,从而找出软件缺陷的测试方法称为静态白盒测试_。
17.不需要修复软件缺陷的原因包括___没有时间____、不能算真正的软件缺陷、______风险太大__、不值得修复。
18.白盒测试又称为_____结构测试___,黑盒测试又称为____功能测试__。
19.动态测试的两个基本要素是____被测试程序____、____测试数据___。
三、判断题:
1.白盒测试的条件覆盖标准强于判定覆盖。
2.验收测试是以最终用户为主的测试。
3.测试程序仅仅按预期方式运行就行了。
4.自底向上集成需要测试员编写驱动程序。
5.好的测试员不懈追求完美。
6.软件测试工具可以代替软件测试员。
7.最重要的用户界面要素是软件符合现行标准和规范。
(√)
8.自动化测试可能延误项目进度。
9.软件测试员可以对产品说明书进行白盒测试。
10.静态白盒测试可以找出遗漏之处和问题。
四、名词解释;
共5小题,每小题3分,满分15分
1.软件缺陷:
(符合下列规则的叫软件缺陷):
1).软件未达到产品说明书的功能
2.单元测试:
单元测试是对软件设计的最小单元——模块进行正确性检验的测试工作,主要测试模块在语法、格式和逻辑上的错误。
3.白盒测试
白盒测试也称为结构测试或逻辑驱动测试,前提是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的机构测试程序,检测程序中的每条通路是否都能够按预定要求正确工作,而不管产品的功能,主要用于软件验证。
4.回归测试
指软件系统被修改或扩充(如系统功能增强或升级)后重新进行的测试,是为了保证对软件所做的修改没有引入新的错误而重复进行的测试。
5.等价类:
指某个输入域的子集合,在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。
五、简答题:
1.什么是测试用例?
为什么要设计测试用例?
答:
所谓的测试用例就是将软件测试的行为活动,做一个科学化的组织归纳。
使用测试用例的好处主要体现在以下几个方面:
•在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试效率。
•测试用例的使用令软件测试的实施重点突出、目的明确。
•在软件版本更新后只需修正少部分的测试用例便可展开测试工作,降低工作强度、缩短项目周期。
•功能模块的通用化和复用化使软件易于开发,而相对于功能模块的测试用例的通用化和复用化则会使软件测试易于开展,并随着测试用例的不断精化其效率也不断攀升
2.简述增量式集成测试的自顶向下和自底向上两种测试方法。
自顶向下增量式测试的主要优点在于它可以自然地做到逐步求精,一开始便能让测试者看到系统的框架。
它的主要缺点是需要提供被调用模拟子模块,被调用模拟子模块可能不能反映真实情况,因此测试有可能不充分。
自底向上测试的优点在于,由于驱动模块模拟了所有调用参数,即使数据流并未构成有向的非环状图,生成测试数据也没有困难。
它的缺点在于,直到最后一个模块被加入进去之后才能看到整个程序(系统)的框架。
3.分析单元测试和代码调试的区别。
表面上这两项技术很相似,因为它们都包括查看代码、运行程序和处理软件缺陷的过程,但是它们的目标不同:
单元测试是为了发现软件缺陷,而代码调试的目标是修复软件缺陷。
在分离和查找软件缺陷原因时这两个过程发生交叉。
六、:
综合题:
1.按要求给出下列程序的测试用例(要求写出必要的说明):
(1)语句覆盖
(2)判定覆盖
(3)条件覆盖
(4)判定-条件覆盖
(5)条件组合覆盖
图中共有4条路径:
P1(ace)、P2(abd)、P3(abe)、P4(acd)。
1.P1正好满足语句覆盖的条件。
可以设计如下的输入数据:
A=2,B=0,x=4
2.测试用例如果能够测试路径P1(ace)和P2(abd),就可以满足判定覆盖要求。
可以设计如下两组输入数据:
A=1,B=1,x=1
3.条件:
A>1,B=0,A=2,x>1。
需要有足够的测试用例使得上述四个条件都能有满足和不满足的情况。
以下这两组输入数据能满足这些要求:
4.判定/条件覆盖
5.可能的条件组合:
(1)A>1,B=0
(2)A>1,B≠0(3)A≤1,B=0(4)A≤1,B≠0(5)A=2,x>1
(6)A=2,x≤1(7)A≠2,x>1(8)A≠2,x≤1
相应的输入数据:
A=2,B=0,x=4满足
(1)和(5)
A=2,B=1,x=1满足
(2)和(6)
A=1,B=0,x=2满足(3)和(7)
A=1,B=1,x=1满足(4)和(8)
不定项选择题(每题2分,共20分)请将答案填入题后括号中。
1.软件验收测试的合格通过准则是:
(ABCD)
A.软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。
B.所有测试项没有残余一级、二级和三级错误。
C.立项审批表、需求分析文档、设计文档和编码实现一致。
D.验收测试工件齐全。
2.软件测试计划评审会需要哪些人员参加?
A.项目经理 B.SQA负责人 C.配置负责人 D.测试组
3.下列关于alpha测试的描述中正确的是:
(AD)
A.alpha测试需要用户代表参加
B.alpha测试不需要用户代表参加
C.alpha测试是系统测试的一种
D.alpha测试是验收测试的一种
4.测试设计员的职责有:
(BC)
A.制定测试计划B.设计测试用例 C.设计测试过程、脚本 D.评估测试活动
5.下面哪些属于动态分析(CD)
A.代码覆盖率B.模块功能检查C.系统压力测试D.程序数据流分析
6.下面哪些属于静态分析(ABC)
A、代码规则检查B、程序结构分析C、程序复杂度分析D、内存泄漏
7.软件实施活动的进入准则是(ABC)
A、需求工件已经被基线化B、详细设计工件已经被基线化
C、构架工件已经被基线化D、项目阶段成果已经被基线化
8.不属于单元测试内容的是(D)
(A)模块接口测试(B)局部数据结构测试(C)路径测试(D)用户界面测试
9.软件测试设计活动主要有(ABCD)
A、工作量分析B、确定并说明测试用例C、确立并结构化测试过程D、复审并评估测试覆盖
10.不属于集成测试步骤的是(D)
A、制定集成计划B、执行集成测试C、记录集成测试结果 D、回归测试
共3小题10个空格,每个空格2分,满分20分;
1.通过画因果图来写测试用例的步骤为分析程序规格说明的描述中,哪些是原因,哪些是结果、分析程序规格说明的描述中语义的内容,并将其表示成连接各个原因与各个结果的因果图、在因果图上使用若干个特殊的符号标明特定的约束条件、把因果图转换为状态图和_________把判定表中每一列表示的情况写成测试用例__________及共五个步骤。
20.
21.软件测试主要分为__单元测试、集成测试、系统测试、验收测试____四类测试。
22.软件缺陷产生的原因包括___需求___、设计、___编码__以及其他原因。
1.软件测试的目的是尽可能多的找出软件的缺陷。
(√)
2.Beta测试是验收测试的一种。
3.验收测试是由最终用户来实施的。
(×
4.项目立项前测试人员不需要提交任何工件。
5.单元测试能发现约80%的软件缺陷。
6.代码评审是检查源代码是否达到模块设计的要求。
7.自底向上集成需要测试员编写驱动程序。
8.负载测试是验证要检验的系统的能力最高能达到什么程度。
9.测试人员要坚持原则,缺陷未修复完坚决不予通过。
10.代码评审员一般由测试员担任。
1.α测试2.β测试3.驱动模块4.桩模块5.静态测试
1.α测试
有时也称为室内测试,是由一个用户在开发环境下进行的测试,也可以是开发机构内部的用户在模拟实际操作环境下进行的测试。
2.β测试
是由软件的多个用户在一个或多个用户的实际使用环境下进行的测试。
3.驱动模块
驱动模块就是用来代替主模块,用它来调用子模块
4.桩模块
集成测试前要为被测模块编制一些模拟其下级模块功能的“替身”模块,以代替被测模块的接口,接受或传递被测模块的数据,这些专供测试用的“假”模块称为被测模块的桩模块。
5.静态测试
就是不执行程序的测试,包括代码走查,编码规则检查,质量评审,设计评审等。
1.阶段评审与同行评审的区别。
区别阶段评审的与同行评审
同行评审目的:
发现小规模工作产品的错误,只要是找错误;
阶段评审目的:
评审模块阶段作品的正确性可行性及完整性
同行评审人数:
3-7人人员必须经过同行评审会议的培训,由SQA指导
阶段评审人数:
5人左右评审人必须是专家具有系统评审资格
同行评审内容:
内容小一般文档<
40页,代码<
500行
阶段评审内容:
内容多,主要看重点
同行评审时间:
一小部分工作产品完成
阶段评审时间:
通常是设置在关键路径的时间点上。
2.什么是软件测试。
最简单的说:
为了发现程序中的错误而执行程序的过程
3.简述集成测试的过程。
系统集成