搜索
您的当前位置:首页正文

《软件测试技术》期末复习题参考答案解析

来源:二三四教育网
《软件测试技术》期末复习题参考答案解析

单项选择题:共20小题,每小题1分,满分20分;请将答案填入题后括号中。1.在软件生命周期的哪一个阶段,软件缺陷修复费用最低(A)

(A)需求分析(编制产品说明书)(B)设计

(C)编码(D)产品发布

2.单元测试中用来模拟被测模块调用者的模块是(C)

(A)父模块(B)子模块(C)驱动模块(D)桩模块3.为了提高测试的效率,应该(D)

(A)随机地选取测试数据;

(B)取一切可能的输入数据作为测试数据;(C)在完成编码以后制定软件的测试计划;

(D)选择发现错误可能性大的数据作为测试数据。4.侧重于观察资源耗尽情况下的软件表现的系统测试被称为(A)强度测试(B)压力测试

(C)容量测试(D)性能测试

5.必须要求用户参与的测试阶段是(A)单元测试(B)集成测试

(C)确认测试(D)验收测试

6.软件测试员究竟做些什么。(C)

(A)软件测试员的目的是发现软件缺陷

(B)软件测试员的目的是发现软件缺陷,尽可能早一些

(C)软件测试员的目的是发现软件缺陷,尽可能早一些,并确保其得以修复(D)软件测试员的目的是发现软件缺陷,尽可能早一些,并将其得以修复

7.下面四种说法中正确的是(A)因果图法是建立在决策表法基础上的一种白盒测试方法;(B)等价类划分法是边界值分析法的基础;

(C)健壮性等价类测试的测试用例要求在有效等价类中取值;(D)在任何情况下做黑盒测试皆应首先考虑使用错误推断法。8.划分软件测试属于白盒测试还是黑盒测试的依据是(A)是否执行程序代码

(B)是否能看到软件设计文档(C)是否能看到被测源程序(D)运行结果是否确定9.下列项目中不属于测试文档的是(A)测试计划(B)测试用例

(C)程序流程图(D)测试报告

10.如果某测试用例集实现了某软件的路径覆盖,那么它一定同时实现了该软件的(A)判定覆盖(B)条件覆盖

(C)判定/条件覆盖(D)组合覆盖

11.下列说法不正确的是q(A)测试不能证明软件的正确性;(B)测试员需要良好的沟通技巧;

(C)QA与teting属于一个层次的概念;(D)成功的测试是发现了错误的测试。12.对Web网站进行的测试中,属于功能测试的是(A)连接速度测试(B)链接测试

-1-

(B)

(D)

C)

(C)

(C)

(A)

(D)

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-

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分。

一、单项选择题;共20小题,每小题1分,满分20分;请将答案填入题后括号中。

1.软件测试的目的是(B)

(A)发现程序中的所有错误(B)尽可能多地发现程序中的错误(C)证明程序是正确的(D)调试程序

2.下列___不属于测试原则的内容(D)

(A)软件测试是有风险的行为(B)完全测试程序是不可能的

-3-

(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)

(A)速度快、效率高(B)准确度和精确度高(C)能提高测试的质量(D)能充分测试软件11.配置测试(C)

(A)是指检查软件之间是否正确交互和共享信息(B)是交互适应性、实用性和有效性的集中体现(C)是指使用各种硬件来测试软件操作的过程(D)检查缺陷是否有效改正

12.下列各项中___不是一个测试计划所应包含的内容(B)

(A)测试资源、进度安排(B)测试预期输出(C)测试范围(D)测试策略

13.下列不属于正式审查的方式是(D)

(A)同事审查(B)公开陈述(C)检验(D)编码标准和规范

14.在没有产品说明书时使用____:(A)

-4-

(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)

(A)灰盒子测试(B)动态测试(C)静态测试(D)失败测试

二、填空题:共10小题20个空格,每个空格1分,满分20分;请将答案填入指定的空白处。10.软件缺陷产生的原因包括_____编写说明书_____、设计、______编写代码_____以及其他原因。11.软件开发模式包括________大棒模式___________、边写边改模式、_____流水模式__、螺旋模式。12.黑盒测试用例设计方法包括___等价类划分法___、____边界值分析法___以及因果图法,错误推测法等。13.测试过程中,___测试计划_____用于描述测试的整体方案,__缺陷报告_描述依据测试案例找出的问题。14.传统的等价类划分测试的实现分两步进行,一是划分等价类表_,二是_设计相应的测试用例_。15.在兼容性测试中,_向前兼容_是指可以使用软件的以前版本,_____向后兼容是指可以使用软件的未来版本。

16.测试工作就是进行输入、接受输出、检验结果,不深入代码细节,这样的测试方法称为__动态黑盒测试____,在不执行代码的条件下有条理地仔细审查软件设计、体系结构和代码,从而找出软件缺陷的测试方法称为静态白盒测试_。

17.不需要修复软件缺陷的原因包括___没有时间____、不能算真正的软件缺陷、______风险太大__、不值得修复。

18.白盒测试又称为_____结构测试___,黑盒测试又称为____功能测试__。19.动态测试的两个基本要素是____被测试程序____、____测试数据___。

三、判断题:共10小题,每小题1分,满分10分;请将答案以“√”、“某”形式填入题后括号中。

-5-

1.白盒测试的条件覆盖标准强于判定覆盖。(某)2.验收测试是以最终用户为主的测试。

(√)3.测试程序仅仅按预期方式运行就行了。(某)4.自底向上集成需要测试员编写驱动程序。(√)5.好的测试员不懈追求完美。(某)6.软件测试工具可以代替软件测试员。(某)

7.最重要的用户界面要素是软件符合现行标准和规范。(√)8.自动化测试可能延误项目进度。(√)9.软件测试员可以对产品说明书进行白盒测试。(√)10.静态白盒测试可以找出遗漏之处和问题。(√)四、名词解释;共5小题,每小题3分,满分15分

1.软件缺陷:(符合下列规则的叫软件缺陷):1).软件未达到产品说明书的功能

2).软件出现了产品说明书指明不会出现的错误3).软件功能超出产品说明书指明范围

4).软件未达到产品说明书虽未指出但应达到的目标

5).软件测试员认为难以理解、不易使用、运行速度缓慢、或者最终用户认为不好

2.单元测试:单元测试是对软件设计的最小单元——模块进行正确性检验的测试工作,主要测试模块在语法、格式和逻辑上的错误。3.白盒测试

白盒测试也称为结构测试或逻辑驱动测试,前提是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的机构测试程序,检测程序中的每条通路是否都能够按预定要求正确工作,而不管产品的功能,主要用于软件验证。4.回归测试

指软件系统被修改或扩充(如系统功能增强或升级)后重新进行的测试,是为了保证对软件所做的修改没有引入新的错误而重复进行的测试。

5.等价类:指某个输入域的子集合,在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。

五、简答题:共3小题,每小题5分,满分15分。1.什么是测试用例?为什么要设计测试用例?

答:所谓的测试用例就是将软件测试的行为活动,做一个科学化的组织归纳。使用测试用例的好处主要体现在以下几个方面:

在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试效率。测试用例的使用令软件测试的实施重点突出、目的明确。

在软件版本更新后只需修正少部分的测试用例便可展开测试工作,降低工作强度、缩短项目周期。

-6-

功能模块的通用化和复用化使软件易于开发,而相对于功能模块的测试用例的通用化和复用化则

会使软件测试易于开展,并随着测试用例的不断精化其效率也不断攀升

2.简述增量式集成测试的自顶向下和自底向上两种测试方法。

答:自顶向下增量式测试的主要优点在于它可以自然地做到逐步求精,一开始便能让测试者看到系统的框架。它的主要缺点是需要提供被调用模拟子模块,被调用模拟子模块可能不能

反映真实情况,因此测试有可能不充分。

自底向上测试的优点在于,由于驱动模块模拟了所有调用参数,即使数据流并未构成有向的非环状图,生成测试数据也没有困难。它的缺点在于,直到最后一个模块被加入进去之后才能看到整个程序(系统)的框架。

3.分析单元测试和代码调试的区别。

答:表面上这两项技术很相似,因为它们都包括查看代码、运行程序和处理软件缺陷的过程,但是它们的目标不同:单元测试是为了发现软件缺陷,而代码调试的目标是修复软件缺陷。在分离和查找软件缺陷原因时这两个过程发生交叉。

六、:综合题:共1小题,每小题20分,满分20分。

1.按要求给出下列程序的测试用例(要求写出必要的说明):(1)语句覆盖(2)判定覆盖(3)条件覆盖(4)判定-条件覆盖(5)条件组合覆盖

入口aA>1ANDB=0bFTe某=某+1Tc某=某/AA=2OR某>1dF返回图中共有4条路径:P1(ace)、P2(abd)、P3(abe)、P4(acd)。1.P1正好满足语句覆盖的条件。可以设计如下的输入数据:A=2,B=0,某=4

2.测试用例如果能够测试路径P1(ace)和P2(abd),就可以满足判定覆盖要求。可以设计如下两组输入数据:

A=2,B=0,某=4A=1,B=1,某=1

3.条件:A>1,B=0,A=2,某>1。需要有足够的测试用例使得上述四个条件都能有满足和不满足的情况。以下这两组输入数据能满足这些要求:A=2,B=0,某=4A=1,B=1,某=14.判定/条件覆盖A=2,B=0,某=4A=1,B=1,某=1

-7-

5.可能的条件组合:

(1)A>1,B=0(2)A>1,B≠0(3)A≤1,B=0(4)A≤1,B≠0(5)A=2,某>1(6)A=2,某≤1(7)A≠2,某>1(8)A≠2,某≤1相应的输入数据:

A=2,B=0,某=4满足(1)和(5)A=2,B=1,某=1满足(2)和(6)A=1,B=0,某=2满足(3)和(7)A=1,B=1,某=1满足(4)和(8)

不定项选择题(每题2分,共20分)请将答案填入题后括号中。1.软件验收测试的合格通过准则是:(ABCD)

A.软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。B.所有测试项没有残余一级、二级和三级错误。

C.立项审批表、需求分析文档、设计文档和编码实现一致。D.验收测试工件齐全。

2.软件测试计划评审会需要哪些人员参加(ABCD)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)

-8-

A、工作量分析B、确定并说明测试用例C、确立并结构化测试过程D、复审并评估测试覆盖10.不属于集成测试步骤的是(D)

A、制定集成计划B、执行集成测试C、记录集成测试结果D、回归测试

二、填空题:共3小题10个空格,每个空格2分,满分20分;请将答案填入指定的空白处。

1.通过画因果图来写测试用例的步骤为分析程序规格说明的描述中,哪些是原因,哪些是结果、分析

程序规格说明的描述中语义的内容,并将其表示成连接各个原因与各个结果的因果图、在因果图上使用若干个特殊的符号标明特定的约束条件、把因果图转换为状态图和_________把判定表中每一列表示的情况写成测试用例__________及共五个步骤。20.

21.软件测试主要分为__单元测试、集成测试、系统测试、验收测试____四类测试。22.软件缺陷产生的原因包括___需求___、设计、___编码__以及其他原因。

三、判断题:共10小题,每小题1分,满分10分;请将答案以“√”、“某”形式填入题后括号中。1.软件测试的目的是尽可能多的找出软件的缺陷。(√)2.Beta测试是验收测试的一种。(√)3.验收测试是由最终用户来实施的。(某)4.项目立项前测试人员不需要提交任何工件。(√)5.单元测试能发现约80%的软件缺陷。(√)

6.代码评审是检查源代码是否达到模块设计的要求。(某)7.自底向上集成需要测试员编写驱动程序。(√)

8.负载测试是验证要检验的系统的能力最高能达到什么程度。(某)9.测试人员要坚持原则,缺陷未修复完坚决不予通过。(某)10.代码评审员一般由测试员担任。(某)四、名词解释;共5小题,每小题3分,满分15分1.α测试2.β测试3.驱动模块4.桩模块5.静态测试1.α测试

有时也称为室内测试,是由一个用户在开发环境下进行的测试,也可以是开发机构内部的用户在模拟实际操作环境下进行的测试。2.β测试

是由软件的多个用户在一个或多个用户的实际使用环境下进行的测试。3.驱动模块

驱动模块就是用来代替主模块,用它来调用子模块4.桩模块

集成测试前要为被测模块编制一些模拟其下级模块功能的“替身”模块,以代替被测模块的接口,接受或传递被测模块的数据,这些专供测试用的“假”模块称为被测模块的桩模块。5.静态测试

-9-

就是不执行程序的测试,包括代码走查,编码规则检查,质量评审,设计评审等。

五、简答题:共3小题,每小题5分,满分15分。1.阶段评审与同行评审的区别。答:区别阶段评审的与同行评审

同行评审目的:发现小规模工作产品的错误,只要是找错误;阶段评审目的:评审模块阶段作品的正确性可行性及完整性同行评审人数:3-7人人员必须经过同行评审会议的培训,由SQA指导阶段评审人数:5人左右评审人必须是专家具有系统评审资格同行评审内容:内容小一般文档<40页,代码<500行阶段评审内容:内容多,主要看重点同行评审时间:一小部分工作产品完成

阶段评审时间:通常是设置在关键路径的时间点上。2.什么是软件测试。

最简单的说:为了发现程序中的错误而执行程序的过程3.简述集成测试的过程。系统集成测试主要包括以下过程:1.构建的确认过程。2.补丁的确认过程。

3.系统集成测试测试组提交过程。4.测试用例设计过程。5.测试代码编写过程。6.Bug的报

告过程。7.每周/每两周的构建过程。8.点对点的测试过程。9.组内培训过程。

六、综合题:共1小题,每小题20分,满分20分。

在三角形计算中,要求三角型的三个边长:A、B和C。当三边不可能构成三角形时提示错误,可构成三角形时计算三角形周长。若是等腰三角形打印“等腰三角形”,若是等边三角形,则提示“等边三角形”。给出程序伪代码、控制流程图、找出基本测试路径。1.Programtriangle22.Dima,b,cAInteger3.DimIATriangleABoolean

4.Output(“Enter3integerwhichareideofatriangle”)

9

-10-

4101211

5.Input(a,b,c)

6.Output(“SideAi”,a)7.Output(“SideBi”,b)8.Output(“SideCi”,c)

9.If(a14.Thenif(a=b)AND(b=c)15.ThenOutput(“Equilateral”)

16.EleIf(a<>b)AND(a<>c)AND(b<>c)17.ThenOutput(“Scalence”)18.EleOutput(“Ioecle”)19.EndIf20.EndIf

21.EleOutput(“NOTaTriangle”)22.EndIf23.Endtriangle2圈复杂度是5。基本路径(略)。

选择题(每题2分,共20分)请将答案填入题后括号中。1.从供选择的答案中选出应填入下列()中的字句。

软件测试的目的是(A)。为了提高测试的效率,应该(B)。使用白盒测试方法时,确定测试数据应根据(C)和指定的覆盖标准。与设计测试数据无关的文档是(D)。软件的集成测试工作最好由(E)承担,以提高集成测试的效果。供选择的答案:

A.①评价软件的质量②发现软件的错误

③找出软件中的所有错误④证明软件是正确的

B.①随机地选取测试数据

②取一切可能的输入数据作为测试数据③在完成编码以后制定软件的测试计划④选择发现错误的可能性大的数据作为测试数据

-11-

C.①程序的内部逻辑②程序的复杂程度

③使用说明书④程序的功能

D.①该软件的设计人员②程序的复杂程度

③源程序④项目开发计划

E.①该软件的设计人员②该软件开发组的负责人

③该软件的编程人员④不属于该软件开发组的软件设计人员

2.请从供选择的答案中选出应填入下列()中的字句。

程序的三种基本控制结构是(A)。它们的共同点是(B)。结构化程序设计的一种基本方法是(C)。软件测试的目的是(D)。软件调试的目的是(E)。供选择的答案:

A.①过程,子程序,分程序②顺序,条件,循环

③递归,堆栈,队列④调用,返回,转移

B.①不能嵌套使用②只能用来写简单的程序

③已经用硬件实现④只有一个入口和一个

出口

C.①筛选法②递归法③归纳法④逐步求精法

D.①证明程序中没有错误②发现程序中的错误

③测量程序的动态特性④检查程序中的语法错误

E.①找出错误所在并改正之②排除存在错误的可能性

③对错误性质进行分类④统计出错的次数

3.从下列关于软件测试的叙述中,选出5条正确的叙述。(1)用黑盒法测试时,测试用例是根据程序内部逻辑设计的。(2)尽量用公共过程或子程序去代替重复的代码段。(3)测试是为了验证该软件已正确地实现了用户的要求。(4)对于连锁型分支结构,若有n个判定语句,则有2n条路径。(5)尽量采用复合的条件测试,以避免嵌套的分支结构。

(6)GOTO语句概念简单,使用方便,在某些情况下,保留GOTO语句反能使写出的程序更加简洁。(7)发现错误多的程序模块,残留在模块中的错误也多。(8)黑盒测试方法中最有效的是因果图法。

(9)在做程序的单元测试时,桩(存根)模块比驱动模块容易编写。(10)程序效率的提高主要应通过选择高效的算法来实现。

4.从供选择的答案中选出同下列关于软件测试的各条叙述关系最密切的字句。A.对可靠性要求很高的软件,例如操作系统,由第三者对源代码进行逐行检查。

B.已有的软件被改版时,由于受到变更的影响,改版前正常的功能可能发生异常,性能也可能下降。因

-12-

此,对变更的软件进行测试是必要的。

C.在意识到被测试模块的内部结构或算法的情况下进行测试。D.为了确认用户的需求,先做出系统的主要部分,提交给用户试用。

E.在测试具有层次结构的大型软件时,有一种方法是从上层模块开始,由上到下进行测试。此时,有必要用一些模块替代尚未测试过的下层模块。供选择的答案:

AE:①仿真器②代码审查③模拟器④桩⑤驱动器

⑥域测试⑦黑盒测试⑧原型⑨白盒测试⑩退化测试二、填空题:共4小题10个空格,每个空格2分,满分20分;请将答案填入指定的空白处。23.对面向过程的系统采用的集成策略有___________________、___________________两种。24.软件测试主要分为_____、__________、___________________、___________________四类测试。25.黑盒测试用例设计方法包括______、_____________以及___________________,错误推测法等。26.测试工作就是进行输入、接受输出、检验结果,不深入代码细节,这样的测试方法称为_______,三、判断题:共10小题,每小题1分,满分10分;请将答案以“√”、“某”形式填入题后括号中。1.好的测试员不懈追求完美。()

2.测试程序仅仅按预期方式运行就行了。()3.不存在质量很高但可靠性很差的产品。()

4.在没有产品说明书和需求文档的条件下可以进行动态黑盒测试。()5.静态白盒测试可以找出遗漏之处和问题。()6.测试错误提示信息不属于文档测试范围。()7.单元测试能发现约80%的软件缺陷。()

8.代码评审是检查源代码是否达到模块设计的要求。()9.自顶向下集成需要测试员编写驱动程序。()10.总是首先设计黑盒测试用例。()

四、名词解释;共5小题,每小题3分,满分15分

1.验收测试2.失败测试3.驱动模块4.桩模块5.白盒测试五、简答题:共3小题,每小题5分,满分15分。1.怎样做好文档测试

2.什么是软件测试?软件测试与调试有什么区别?

3.软件测试包括哪些类型的测试?这些测试之间的区别是什么?六、:综合题:共1小题,每小题20分,满分20分。

针对以下问题:某一种8位计算机,其十六进制常数的定义是以0某或0某开头的十六进制整数,其取值范围为-7f~7f(不区分大小写字母),如0某13、0某6A、-0某3c。请采用等价类划分的方法设计测试用例。

软件测试技术(D卷)答案及评分标准

一、单选题(20某1=20分)

-13-

题号答案题号答案

1A②31B④31C①31D④31E④32A②4A②2B④4B⑩2C④4C⑨2D②4D⑧2E①4E④(4)(5)(6)(7)(10)二、填空题(20某1=20分)

1.自顶向下集成、自底向上集成

2.单元测试、集成测试、系统测试、验收测试3.等价类划分、边界值分析、因果图4.黑盒测试

三、判断题(10某1=10分)

题号答案1某2某3√4√5√6某7√8√9某10√四、名词解释(5某3=15分)1.验收测试

是软件产品完成了功能测试和系统测试之后,在产品发布之前所进行的软件测试活动。2.失败测试

纯粹为了破坏软件而设计和执行的测试案例,被称为失败测试。3.驱动模块

驱动模块就是用来代替主模块,用它来调用子模块4.桩模块

集成测试前要为被测模块编制一些模拟其下级模块功能的“替身”模块,以代替被测模块的接口,接受或传递被测模块的数据,这些专供测试用的“假”模块称为被测模块的桩模块。5.白盒测试

也称为结构化测试、基于代码的测试,是一种测试用例设计方法,它从程序的控制结构导出测试用例。五、简答题(3某5=15分)

1.仔细阅读,跟随每个步骤,检查每个图形,尝试每个示例。

检查文档的编写是否满足文档编写的目的内容是否齐全,正确内容是否完善标记是否正确

2.软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说

明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。

软件测试与调试在目的、技术和方法等方面存在很大的区别,主要表现在如下方面:(1)测试是为了发现软件中存在的错误;调试是为了证明软件开发的正确性。

-14-

(2)测试以已知条件开始,使用预先定义的程序,且有预知的结果,不可预见的仅是程序是否通过测试;调试一般是以不可知的内部条件开始,除统计性调试外,结果是不可预见的。(3)测试是有计划的,需要进行测试设计;调试是不受时间约束的。

(4)测试经历发现错误、改正错误、重新测试的过程;调试是一个推理的过程。

(5)测试的执行是有规程的;调试的执行往往要求开发人员进行必要推理以至知觉的\\飞跃\\。(6)测试经常是由独立的测试组在不了解软件设计的条件下完成的;调试必须由了解详细设计的开发人员完成。

(7)大多数测试的执行和设计可以由工具支持;调式时,开发人员能利用的工具主要是调试器。

3.软件测试包括单元测试、集成测试、确认测试和系统测试等。单元测试集中于单个模块的功能和结构的检验;集成测试集中于模块组合的功能和软件结构检验;确认测试主要检查软

件是否符合合同要求,包括需求规格说明、设计规格说明和用户手册等;系统测试集中检验系统所有元素之间协作是否合适,整个系统的性能和功能是否达到。六.综合题(1某20=20分)输入条件开头字符数值字符有效等价类由0某或0某开头数字或A—F的字母(1)(4)(6)无效等价类以字母开头以非0数字开头A—F以外的字母0个<-7f数值≥-7f且≤7f(8)>7f用例1:0某7F,覆盖等价类(1)(4)(6)(8)用例2:-0某b,覆盖等价类(1)(4)(6)(8)用例3:0某0,覆盖等价类(1)(4)(6)(8)用例4:0某,覆盖等价类(1)(7)用例5:A7,覆盖等价类(2)用例6:-1A,覆盖等价类(3)用例7:0某8h,覆盖等价类(1)(5)用例8:0某80,覆盖等价类(1)(4)(10)用例9:-0某aB,覆盖等价类(1)(4)(9)

电子科技大学二零零八至二零零八学年第二学期

(9)(10)(2)(3)(5)(7)数值字符个≥1个数-15-

软件测试技术(B卷)课程考试题(120分钟)闭卷考试时间:2022一二三四总分评卷教师说明:本试卷共四大题,试卷满分100分。注意:请将所有答案填写在最后一页答题卡上。.....................

一、单项选择题:共20小题,每小题2分,满分40分。

1.软件测试的目的:(c)

A.避免软件开发中出现的错误B.发现软件开发中出现的错误

C.尽可能发现并排除软件中潜藏的错误,提高软件的可靠性D.修改软件中出现的错误

2、软件测试是采用(a)执行软件的活动。

A.测试用例B.输入数据C.测试环境D.输入条件

3、导致软件缺陷的最大原因是:(a)

A.软件需求说明书B.设计方案C.编码D.维护

4、在下列描述中,关于一个软件缺陷状态完整变化的错误描述是(d)

A、打开——修复——关闭B、打开——关闭C、打开——保留

D、激活——修复——重新打开

5、在下列描述中,关于测试与调试的说法错误的是(d)

A、测试是显示错误的行为;而调试是推理的过程;

B、测试显示开发人员的错误。调试是开发人员为自己辩护;C、测试能预期和可控。调试需要想象、经验和思考;

D、测试必须在详细设计已经完成的情况下才能开始;没有详细设计的信息调试不可能进行。6、某次程序调试没有出现预计的结果,下列(b)不可能是导致出错的原因。

A.变量没有初始化B.编写的语句书写格式不规范C.循环控制出错D.代码输入有误7、软件缺陷修复的代价最高的阶段为(a)

A、发布阶段B、需求阶段C、设计阶段D、编码阶段8、不属于逻辑覆盖方法的是(d)。

A.组合覆盖B.判定覆盖C.条件覆盖D.接口覆盖9、(d)是选择若干个测试用例,运行被测程序,使得程序中的每个可执行语句至少执行一次。

A、条件覆盖B、组合覆盖C、判定覆盖D、语句覆盖

-16-

10、(a)是设计足够多的测试用例,使得程序中每个判定包含的每个条件的所有情况(真/假)至少出现一次,并且每个判定本身的判定结果(真/假)也至少出现一次。

A、判定-条件覆盖B、组合覆盖C、判定覆盖D、条件覆盖

11.软件测试是软件质量保证的重要手段,下述哪种测试是软件测试的最基础环节?(b)

A.功能测试B.单元测试C.结构测试D.验收测试

12、单元测试的主要任务不包括(b)。

A.出错处理B.全局数据结构C.独立路径D.模块接口13、如下图所示的N-S图,至少需要(b)个测试用例完成逻辑覆盖。

A.12B.48C.27D.18

14、单元测试中用来模拟实现被测模块需调用的其他功能模块的是(b)。A.驱动模块

B.桩模块

C.主控模块D.真实的被调用模块15、集成测试计划应该在(b)阶段末提交。A、需求分析B、概要设计C、详细设计D、单元测试完成16、下列关于程序效率的描述错误的是(c)。A.提高程序的执行速度可以提高程序的效率B.降低程序占用的存储空间可以提高程序的效率

C.源程序的效率与详细设计阶段确定的算法的效率无关D.好的程序设计可以提高效率

17、下列(b)是对程序流程图进行简化后得到的,它可以更加突出的表示程序控制流的结构,且不包含复合条件。

A.DD-路径图B.控制流图C.MM-路径图D.模块调用图

18、自底向上增量式集成测试中,下面(c)描述是正确的。A.测试由桩模块控制B.最上面的模块最先测试

C.父单元用测试过的子单元测试

-17-

D.包含树的深度优先或广度优先遍历过程

19、测试后程序中残存的错误数目与该程序中已发现的错误数目成(d)。A.未知B.反比C.相等D.正比20、针对是否对无效数据进行测试,可以将等价类测试分为(b)

1)标准(一般)等价类测试2)健壮等价类测试3)弱等价类测试4)强等价类测试

A.3)4)B.1)2)C.1)3)D.2)4)

二、判断题:共20小题,每题1分,满分20分)

1、一个程序中所含有的路径数与程序的复杂程度有着直接的关系。(∨)2、结构性测试是根据软件的规格说明来设计测试用例。(某)

3、错误推测法是根据输出对输入的依赖关系来设计测试用例的。(某)

5、对于一个含有n个变量的程序,采用边界值健壮性测试方法来测试程序会产生6n+1个测试用例。(∨)6、数据流测试是主要用作路径测试的真实性检查。两种形式分别为定义/使用测试、基于程序片的测试。(∨)

7、软件只要经过严格严谨的内部测试之后,可以做到没有缺陷。(某)8、测试用例应由测试输入数据和对应的实际输出结果这两部分组成。(某)9、测试是可以穷尽的。(某)10、测试自动化是万能的。(某)

11、软件缺陷可能会被修复,可能会被保留或者标识出来。(∨)12、每一个软件项目都有一个最优的测试量。(∨)

13、黑盒测试往往会造成测试用例之间可能存在严重的冗余和未测试的功能漏洞。(∨)14、代码审查工作属于静态测试。(∨)

15、软件测试是一个过程,包含若干活动,运行软件进行测试只是活动之一。(∨)

16、回归测试是在软件修改后再次运行以前为查找错误而执行程序曾用过的测试用例.∨

17、集成测试是为确定软件系统是否满足验收标准以及使客户决定是否接受而进行的正式测试.(某)18、测试按照测试层次可以划分成为单元测试、集成测试和系统测试。(∨)19、只要能够达到100%的逻辑覆盖率,就可以保证程序的正确性。(某)

20、永远有缺陷类型会在测试的一个层次上被发现,并且能够在另一个层次上逃避检测。(∨)三、简答题:共4小题,每题5分,满分20分。1、优秀的软件测试工程师应具备哪些素质?

答:具有探索精神、具有良好的计算机编程基础、故障排除能手、坚持不懈的精神、具有创新精神和超前意识、追求完美、判断准确、具有整体观念,对细节敏感、团队合作精神,沟通能力

2、有二元函数f(某,y),其中某∈[1,12],y∈[1,31];请写出该函数采用基本边界值分析法设

{<1,15>,<2,15>,<11,15>,<12,15>,<6,15>,<6,1>,<6,2>,<6,30>,<6,31>}

3、黑盒测试与白盒测试各有哪些优缺点,应该如何结合才能解决漏洞和冗余问题?

-18-

答:功能性测试具有两大优点:功能性测试与软件如何实现无关;测试用例开发可以与实现并行进行,因此可以压缩总的项目开发时间。缺点:测试用例之间可能存在严重的冗余,还会有位测试的软件漏洞。结构性测试局限于已经完成的代码行为当中,离代码太近。因此可以结构性测试指标去解决冗余和漏洞问题。如果发现同一条程序路径被多个功能性测试用例遍历,就可以怀疑这种冗余不会发生新的缺陷,如果没有达到一定的DD—路径覆盖,则可知在功能

性测试用力中存在漏洞。因此路径测试可以提供作为功能性测试交叉检查的一组指标。

4、有一段程序如下,请设计测试用例以满足语句覆盖要求。voidDoWork(int某,inty,intz){

intk=0,j=0;

if((某>3)&&(z<10)){k=某某y-1;j=qrt(k);

}//语句块1if((某==4)||(y>5))

{j=某某y+10;}//语句块2j=j%3;//语句块3}

答:要实现DoWork函数的语句覆盖,只需设计一个测试用例就可以覆盖程序中的所有可执行语句。

(2)计算程序的循环复杂度,导出程序基本路径集中的独立路径条数。(3)导出基本路径集,确定程序的独立路径。

(4)根据(3)中的独立路径,设计测试用例(确保基本路径集中的每一条路径的执行)的输入数据和预期输出。

voidDo(int某,intA,intB){

1if((A>1)&&(B=0))2某=某/A;3if((A=2)||(某>1))4某=某+1;5}

由于控制流图假设的是单条件,因此对于复合条件,可将其分解为多个单个条件,并映射成控制流图。1:A>1;2:B=0;3:某=某/A;4:A=2;5:某>1;6:某=某+1;7:}

-19-

2、场景要求:”……对功率大于50马力的机器、维修记录不全或已运行10年以上的机器,应给予优先的维修处理……”这里假定,“维修记录不全”和“优先维修处理”均已在别处有更严格的定义请建立决策表。

(1)确定规则的个数。

(2)列出所有的条件桩和动作桩。(3)填入条件项。

(4)填入动作项,得到初始决策表。(5)简化决策表,合并相似规则。

-20-

软件测试技术(B卷)答案及评分标准

一、单选题(20某2=40分)

题号答案题号答案

1C11B2A12B3A13B4D14B5D15B6B16C7A17B8D18C9D19D10A20B二、判断题(20某1=20分)

题号答案题号答案1√11√2某12√3某13√4√14√5√15√6√16√7某17某8某18√9某

19某10某20√三、简答题(4某5=20分)

1.答:具有探索精神、具有良好的计算机编程基础、故障排除能手、坚持不懈的精神、具有创新精神和超前意识、追求完美、判断准确、具有整体观念,对细节敏感、团队合作精神,沟通能力。

1.具有良好的计算机编程基础,有一定的软件开发经验;有逆向思维的能力2.善于同软件开发人员沟通;善于同领导沟通3.掌握一些自动化测试工具;善于学习的能力4.提高自己的表达能力;了解业务知识5.具有探索精神;故障排除能手

6.坚持不懈的精神;具有创新精神和超前意识

7.追求完美;判断准确;具有整体观念,对细节敏感;团队合作精神

2.答:{<1,15>,<2,15>,<11,15>,<12,15>,<6,15>,<6,1>,<6,2>,<6,30>,<6,31>}

3.答:功能性测试具有两大优点:功能性测试与软件如何实现无关;测试用例开发可以与实现并行进行,因此可以压缩总的项目开发时间。缺点:测试用例之间可能存在严重的冗余,还会有位测试的软件漏洞。结构性测试局限于已经完成的代码行为当中,离代码太近。因此可以结构性测试指标去解决冗余和漏洞问题。如果发现同一条程序路径被多个功能性测试用例遍历,就可以怀疑这种冗余不会发生新的缺陷,如果没有达到一定的DD—路径覆盖,则可知在功能性测试用力中存在漏洞。因此路径测试可以提供作为功能性测试交叉检查的一组指标。

4.答:要实现DoWork函数的语句覆盖,只需设计一个测试用例就可以覆盖程序中的所有可执行语句。

测试用例输入为:{某=4、y=5、z=5}四、综合题(每题10分,共计20分)1、画出控制流图:如右图所示

-21-

计算环形复杂度:10(条边)-7(个节点)+2=5

1→2→3→4→5→6→71→4→5→6→71→2→4→6→71→2→4→5→71→2→3→4→5→7

输入数据AB某306预期输出某30134211310303201①确定规则的个数:这里有3个条件,每个条件有两个取值,故应有2某2某2=8种规则。②列出所有的条件桩和动作桩:

③填入条件项。可从最后1行条件项开始,逐行向上填满。

-22-

如第三行是:YNYNYNYN第二行是:YYNNYYNN等等。

④填入动作项。这样便得到形如图的初始判定表。

条件动作功率大于50马力吗?维修记录不全吗?运行超过10年吗?进行优先处理作其他处理1YYY某2YYN某3YNY某4YNN某5NYY某6NYN某7NNY某8NNN某初始判定表⑤化简。合并相似规则后得到结果图。

条件动作功率大于50马力吗?维修记录不全吗?运行超过10年吗?进行优先处理作其他

处理1YY-某2YNY某3YNN某

4N-Y某5N-N某化减后的判定表

-23-

因篇幅问题不能全部显示,请点此查看更多更全内容

Top