软件测试期末复习

软件测试期末复习

第一篇:软件测试期末复习

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

1.软件测试按照测试层次可以分为(C)A.黑盒测试、白盒测试//测试方式B.功能性测试和结构性测试//测试目的C.单元测试、集成测试和系统测试

D、动态测试和静态测试//测试方式

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

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

3.软件测试是软件开发过程的重要阶段,是软件质量保证的重要手段,下列哪个(些)是软件测试的任务?答案:(D)

1预防软件发生错误2发现程序错误3提供诊断错误信息A.只有1 B.只有2 C.只有3 D.都是

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

A.软件需求说明书

B.设计方案 C.编码

D.维护

5、测试用例是为达到最佳的测试效果或高效的揭露隐藏的错误而精心设计的少量测试数据,至少应该包括(A)

A、测试输入、执行条件和预期的结果。

B、测试目标、测试工具

C、测试环境

D、测试配置

6、对已经发现的错误进行错误定位和确定出错性质,并改正这些错误,同时修改相关的文档,这种行为属于(B)

A.测试

B.调试 C.回归测试

D.单元测试

软件测试是软件测试人员和程序员都参与的一项工作,是贯穿整个生命周期的,只需要发现软件的错误,而软件调试主要是程序员自

己参与,对程序(设计、编码)进行修改、排除错误,主要是在开发阶段。

7、软件缺陷修复的代价最高的阶段为(A)

A、发布阶段

B、需求阶段

C、设计阶段

D、编码阶段

8、下列(B)是关于软件缺陷的描述。

A.导致软件包含故障的人的行为//软件错误 B.产品的异常情况

C.引起一个功能部件不能完成所要求的功能的一种意外情况D.功能部件执行其规定功能的能

软件错误是指在软件生存期内的不希望出现或不可接收的人为错误,软件错误导致软件缺陷的产生。

软件缺陷是存在于软件(文档,数据,程序)之中不希望出现或不可接收的偏差;软件缺陷导致软件在运行某一特定条件时出现软件故障;这时软件缺陷被激活。

软件故障是指软件在运行过程中产生的不希望出现或不可接收的内部状态,对软件故障若无适当措施加以及时处理,就会是软件失效。

软件失效是指软件在运行时产生的不希望出现或不可接受的外部行为结果。

9、可作为测试停止的标准是(D)

A.当时间用光时

B.执行了所有的测试用例,但没有发现故障C.当所有缺陷都已经清除时 D.当达到所要求的覆盖时

10、下列描述错误的是(A)

A.软件发布后如果发现质量问题,那是软件测试人员的错B.穷尽测试实际上在一般情况下是不可行的C.软件测试自动化不是万能的

D.测试能由非开发人员进行,调试必须由开发人员进行。

11、如下图所示的N-S图,至少需要(B)个测试用例完成逻辑覆盖。

A.15 B.16 C.17 D.18

12、下列(C)方法设计出的测试用例发现程序错误的能力最强。

A.等价类划分法 B.场景法

C.边界值分析法 D.决策表法

13、功能性测试是根据(A)来设计测试用例。

A、软件的规格说明

B、设计文档

C、程序的内部逻辑

D、维护手册

14、在软件修改之后,再次运行以前为发现错误而执行程序曾用过的测试用例,这种测试称之为(C)

A.单元测试 B.集成测试 C.回归测试 D.验收测试

15、(C)方法是根据输出对输入的依赖关系来设计测试用例的。

A.边界值分析B.等价类C.因果图法D.错误推测法

16、测试工程师的工作范围会包括检视代码、评审开发文档,这属于(B)

A.动态测试

B.静态测试 C.黑盒测试

D.白盒测试

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

A.DD-路径图

B.控制流图 C.MM-路径图

D.模块调用图

18、自底向上增量式集成测试中,下面(C)描述是正确的。

A.测试由桩模块控制

B.最上面的模块最先测试

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

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

19、以下关于测试用例特征的描述错误的是(C)A.最有可能抓住错误的; B.一定会有重复的、多余的; C.一组相似测试用例中最有效的;D.既不是太简单,也不是太复杂。20、(D)是一种关注变

量定义赋值点(语句)和引用或使用这些值的点(语句)的结构性测试,主要用作路径测试的真实性检查。

A、基本路径测试

B、逻辑覆盖

C、决策表

D、数据流测试

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

1.软件测试是有风险的行为,并非所有的软件缺陷都能够被修复。(T)

2.软件质量保证和软件测试是同一层次的概念。(F)

3.我们有理由相信只要能够设计出尽可能好的测试方案,经过严格测试之后的软件可以没有缺陷。(F)

4.程序员兼任测试员可以提高工作效率。(F)

5.在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。(T)

6.传统测试是在开发的后期才介入,现在测试活动已经扩展到了整个生命周期。(T)

7.传统测试以发现错误为目的,现在测试已经扩展到了错误预防的范畴。T

8.软件测试的生命周期包括测试计划、测试设计、测试执行、缺陷跟踪、测试评估。(T)

9.调试从一个已知的条件开始,使用预先定义的过程,有预知的结果;测试从一个未知的条件开始,结束的过程不可预计。(F)

10.白盒测试往往会造成测试用例之间可能存在严重的冗余和未测试的功能漏洞。(F)11.在所有的黑盒测试方法中,基于决策表的测试是最为严格、最具有逻辑性的测试方法。(∨)12.永远有缺陷类型会在测试的一个层次上被发现,并且能够在另一个层次上逃避检测。(∨)13.测试用例的数目越多,测试的效果越好。(x)

14.只要能够达到100%的逻辑覆盖率,就可以保证程序的正确性。(x)15.单元测试属于动态测试。(∨)16.验收测试是以最终用户为主的测试。(∨)17.没有发现错误的测试是没有价值的。(∨)18.可以把不合格的开发人员安排做测试。(x)19.每一个软件项目都有一个最优的测试量。(∨)

20.黑盒测试往往会造成测试用例之间可能存在严重的冗余和未测试的功能漏洞。(∨)

三、简答题:共4小题,每题5分,满分20分。

1、简单描述一下软件测试工程师一般会承担的一些具体工作。1:检视代码,评审开发文档(静态测试方法)

2:进行测试设计,写作测试文档(测试计划,测试方案,测试用例等)3:执行测试,发现软件缺陷,提交缺陷报告,并确认缺陷最终得到了修正。4:通过测试度量软件的质量。

2、黑盒测试与白盒测试各有哪些优缺点?

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

3、画图描述测试层次与传统开发V型瀑布模型的对应

4、有函数f(x,y,z),其中x∈[1900,2100],y∈[1,12],z∈[1,31]的。请写出该函数采用基本边界值分析法设计的测试用例。

(2000,6,1),(2000,6,2),(2000,6,30),(2000,6,31),(2000,1,15),(2000,2,15)(2000,13,15),(2000,12,15),(1900,6,15),(1901,6,15),(1999,6,15),(2100,6,15)(2000,6,15)

测试用例来自等价类的边界;正好等于;刚刚大于;刚刚小于边界的值

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

1、使用基本路径测试方法,为以下程序段设计测试用例。(1)画出程序的控制流图。

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

(3)导出基本路径集,确定程序的独立路径。

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

void Do(int X,int A,int B){ 1 if((A>1)&&(B=0))2 X = X/A;3 if((A=2)||(X>1))4 X = X+1;5 }

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

第二篇:软件测试期末复习知识点总结

1.软件测试:是由“验证(verrificatione)”和“有效性确认(validation)”活动构成的整体:“验证”是检验软件是否已正确地实现了产品规格书所定义的系统功能和特性。验证过程提供证据表明软件相关产品与所有生命周期活动的要求(如正确性、完整性、一致性、准确性等)相一致。相当于以软件产品设计规格说明书为标准进行软件测试的活动。

“有效性确认”是确认所开发的软件是否满足用户真正需求的活动。一切从客户出发,理解客户的需求,对软件需求定义、设计的怀疑,发现需求定义和产品设计中的问题。这主要通过各种软件评审活动来实现,包括让客户参加评审、测试活动。

软件测试过程:(1)测试组织和管理(2)测试计划(3)测试用例实际(4)测试实施(5)测试结果分析(6)测试评审与报告软件测试方法:白盒测试方法、黑盒测试方法、静态测试与动态测试、主动测试与被动测试、形式化测试方法、基于风险的测试、模糊测试方法、ALAC测试和随机测试方法

2.单元测试:是对软件基本组成单元进行的测试,而且软件单元是在与程序的其他部分相隔离的情况下进行独立的测试。

静态测试就是静态分析,对模块的源代码进行研读,查找错误或收集一些度量数据,并不需要对代码进行编译和仿真运行。

动态测试是通过真正运行程序发现错误,通过观察代码运行过程,来获取系统行为、变量实时结果、内存、堆栈、线程以及测试覆盖度等各方面的信息,来判断系统是否存在问题,或者通过有效的测试用例,对于的输入输出关系来分析被测程序的运行情况,来发现缺陷。静态测试、动态测试的区别:1.静态测试用于预防,动态测试用于矫

正;2.多次的静态测试比动态测试的效率高;3,静态测试综合测试程序代码;4.在相当短的时间里,测试的覆盖率能达到100%,而动态测试经常只能达到50%测试左右;5.动态测试比静态测试更花时间;6.静态测试比动态测试更能发现bug;7.静态测试的执行可以在程序编码编译前,动态是中能在编译后才能执行。

3.功能测试:一般须在完成集成测试后进行,而且是针对应用系统进行测试是根据产品规格说明书,来检验被测试的系统是否满足各方面功能的使用要求。

集成测试:也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求,组装成为子系统或系统,进行集成测试,其主要目的是检查软件单位之间的接口是否正确。集成测试包括非增量测试和增量测试两种方式,集成测试的策略主要有自顶向下和自底向上两种。

功能测试、集成测试区别:

4.回归测试:目的是在程序有修改的情况下,保证原有功能正常的一种测试策略和方法。程序在发现严重软件缺陷要进行修改或版本升级要新增功能,这时需要对软件进行修改,修改后的程序要进行测试,这时要检验软件所进行的修改是否正确,保证改动不会带来新的严重错误。

5.桩程序(Stub),也称桩模块:用以模拟被测模块工作过程中所调用的下层模块。桩模块由被测模块调用,它们一般只进行很少的数据处理,例如打印入口和返回,以便于检验被测模块与其下级模块的接口。驱动程序(Driver),也称驱动模块:用以模拟被测模块的上级模块,能够调用被测模块。在测试过程中,驱动模块接受测试数据,调用被测模块并把相关的数据传送给被测模块。

软件缺陷:软件缺陷是指计算机系统或者程序中存在的任何一种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷、瑕疵,其结果会导致软件产品在某种程度上不能满足用户的需求。标准定义,从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题;从外部看,软件缺陷是系统所需要实现的某种功能

的失效或违背。

软件测试步骤:即单元测试、集成测试、确认测试和系统测试。

1.开始是单元测试,集中对用源代码实现的每一个程序单元进行测试,检查各个程序模块是否正确地实现了规定的功能。

2.集成测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。

3.确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。

4.系统测试把已经经过确认的软件纳入实际运行环境中,与其它系统成份组合在一起进行测试。

软件测试流程:需求分析和定义、系统设计、详细功能设计、编码、单元测试、功能测试、系统测试、验收测试

软件测试涉及的关键问题:1.测试过程和开发过程是同时开始,同时结束的,两者保持同步的关系;2.测试过程是对开发过程中阶段性成果和最终产品进行验证的过程,所以两者相互依赖;3.测试过程中的工作重点和开发工作的重点可能不一样,两者有各自的特点黑盒测试的特点:1.不基于对系统内部的设计和实现。2.用例设计基于功能的定义和需求说明书。3.关注于测试数据的选择和测试结果的分析。

测试方法有:等价类划分、边界值分析法、判定表方法、因果图法、正交实验法、功能图法、错误推测法

黑盒测试缺点:1.对用例设计人员的经验要求较高,包括数据的选择,对潜在错误的敏感性;2.对于内部实现的bug不容易发现;3.不能提供直观的测试覆盖率。

白盒测试的特点:1.需要了解系统的整体设计和实现;2.对源代码进行审查;3.在单元测试阶段发现大量的缺陷;4.关注于系统的控制流和数据流;

测试方法有:语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖、路径覆盖、基本路径测试法

白盒测试缺点:1.不能确保系统是否完全符合需求说明书;2.白盒测试的代价会大于黑盒测试;3.需要源代码首先完成才能进行测试;

集成测试中自顶向下和自底向上方法

自顶向下法:从主控模块(主程序)开始,沿着软件的控制层次向下移动,从而逐渐把各个模块结合起来。具体步骤是:1.对主控模块进行测试,测试时用桩程序代替所有直接附属于主控模块的模块;2.根据选定的结合策略,每次用一个实际模块代替一个桩程序;3.在结合下一个模块的同时进行测试;4.为了保证加入模块没有引进新的错误,可能需要进行回归测试。优点:不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,而且能在早期发现上层模块的接口错误。缺点:需要桩程序,可能遇到与此相联系的测试困难,低层关键模块中的错误发现较晚,而且用这种方法在早期不能充分展开人力

自底向上法:从“原子”模块(即在软件结构最底层的模块)开始集成以进行测试,具体策略是:1.把底层模块组合成实现某个特定的软件子功能的族;2.写一个驱动程序,协调测试数据的输入输出;3.对由模块组成的子功能族进行测试;4.去掉驱动程序,沿软件结构自下向上移动,把子功能族组合起来形成更大的子功能族。优缺点:刚好和自顶向上相反

简述增量式集成测试的自顶向下和自底向上两种测试方法:自顶向下增量式测试的主要优点在于它可以自然地做到逐步求精,一开始便能让测试者看到系统的框架。它的主要缺点是

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

集成测试自底向上和自顶向下集成方法优缺点是什么?

自底向上集成方法尽早的对底层实用历程进行测试,可以避免编写众多的桩模块,使得系统底层的众多问题及早得到解决。缺点是在一些顶层构件非常重要的情况下,却将其放到了最后集成。

自顶向下集成方法则尽早进行了顶层控制模块的测试和集成,使

得系统整体上得到验证,但却将底层实用历程的测试放到了最后。某些具有关键性能或作用的底层模块的问题将在最后才可能被发现。

简述系统测试过程的主要步骤及每个步骤的测试依据。

功能测试:测试依据是系统功能需求;

性能测试:测试依据是其他软件需求;

验收测试:测试依据是客户需求规格说明书;

安装测试:测试依据是用户环境

第三篇:软件测试期末复习题

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

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

2、简单描述一下软件测试工程师一般会承担的一些具体工作。

答:(1)检视代码、评审开发文档(静态测试方法)

(2)进行测试设计、写作测试文档(测试计划、测试方案、测试用例等)

(3)执行测试,发现软件缺陷,提交缺陷报告,并确认缺陷最终得到了修正

(4)通过测试度量软件的质量

3、程序员应避免检查自己的程序,为什么?

答:(1)程序员从来不会承认自己写的程序有错误

(2)程序员的测试思路有明显的局限性

(3)多数程序员没有经过严格正规的职业训练,常忽视测试

(4)程序员无良好的BUG跟踪和回归测试的习惯

4、增量式集成测试的策略分为自顶向下、自底向上和混合式三种,请简述自底向上与自顶向下集成测试的优缺点?

答:(1)自顶向下增量式测试:

—主要优点在于它可以自然的做到逐步求精,一开始就能让测试者看到系统的框架。—主要缺点是需要提供桩模块,并且在输入/输出模块接入系统以前,在桩模块中表示测试数据有一定困难。

(2)自底向上增量式测试:

—优点在于,由于驱动模块模拟了所有调用参数,即使数据流并未构成有向的非环状图,生成测试数据也无困难。

—主要缺点在于,直到最后一个模块被加进去之后才能看到整个程序(系统)的框架。

5、如果软件执行了动态测试,静态测试就是毫无意义的,这句话是否正确?为什么?答:这种说法是不正确的。静态测试和动态测试之间并不存在哪种方式更加有效的问题.,两者的关注点不同,能够发现问题的程度也不同。静态测试一般关注的是程序结构、逻辑以及代码的风格,而动态测试更多关注结果与预期的比较。这二者不能够完全一个替代另外一个。针对不同的软件和不同的潜在问题,有可能是静态测试容易发现,也有可能是动态测试更加容易发现.例如,诸如代码结构方面的问题,在动态测试中就难以发现,而在静态测试中就一目了然.

第四篇:软件测试期末总结

1.下列关于软件测试的叙述错误的是(D)。

A.软件测试可以作为度量软件与用户需求间差距的手段

B.没有发现错误的测试也是有价值的

C.软件测试的根本目的是尽可能多地发现软件中存在的问题,最终把一个高质量的软件系统交给用户使用

D.软件测试的主要工作内容包括发现软件中存在的错误并解决存在的问题

2.软件测试技术可以分为静态测试和动态测试,下列说法中错误的是(D)A.静态测试是指不运行实际程序,通过检查和阅读等手段来发现程序中的错误。B.动态测试是指实际运行程序,通过运行的结果

来发现程序中的错误。C.动态测试包括黑盒测试和白盒测试。

D.白盒测试是静态测试,黑盒测试是动态测试。

3.月收入<=800元者免税,现用输入数800元和801元测试程序,则采用的是(A)方法。A.边界值分析 B.条件覆盖 C.错误推测 D.逻辑覆盖

4.等价类划分法的关键是(C)。A.确定等价类的边界条件B.按照用例来确定等价类 C.划分等价类

D.确定系统中相同和不同的部分

5.某教学设备销售部门制定一项销售优惠政策,一次购买100台或100台以上者按八五折优惠,购买者是教师、学生按九折优惠。设C1表示购买的台数,C2为1、2、0分别表示教师、学生和其他人员,则符合九折优惠判定条件为(A)。A.(C1<100)AND NOT(C2=0)B.(C1<100)AND NOT(C2>0)C.NOT(C1>100)AND(C2=0)

D.NOT(C1<100)AND(C2>0)

6.(D)能够有效地检测输入条件的各种组合可能会引起的错误。A.等价类划分 B.边界值分析 C.错误推测 D.因果图

7.软件测试用例主要由输入数据和(C)两部分组成。A.测试计划B.测试规则 C.预期输出结果

D.以往测试记录分析

8.在用白盒测试中的逻辑覆盖法设计测试用例时,有语句覆盖、分支覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖和路径覆盖等,其中(A)是最弱的覆盖准则。A.语句覆盖 B.条件覆盖

C.判定-条件覆盖

D.条件组合覆盖 9.以下不属于白盒测试技术的是(D)A.逻辑覆盖 B.基本路径测试 C.循环覆盖测试 D.等价类划分

10.集成测试的策略一般分为:一次性集成和渐增式集成。下面哪一条真实地反映了前者与后者的不同?(A)。

A.后者比前者更适合大规模应用系统的集成测试

B.在集成测试中发现问题时,前者比后者更容易进行问题定位

C.前者需要开发驱动模块和桩模块,而后者不需要开发驱动模块和桩模块

D.前者不需要所有模块就绪,而后者需要所有模块就绪11.

集成测试又称为组装测试,其主要内容包括(C)。A.对整体的性能进行测试

B.用白盒法设计测试用例进行测试

C.确定组装策略和次序

D.对运行过程进行测试

12.全局数据结构的错误通常在(C)中检查。A.单元测试B.有效性测试 C.集成测试 D.确认测试

13.软件开发公司组织内部人员,模拟各类用户行为对即将面市的软件产品进行的测试我们称之为(B)。A.系统测试

B.α测试

C.β测试

D.综合测试

14.对一个网站的连接速度测试属于(C)?

A.功能测试

B.客户端兼容性测试

C.性能测试

D.安全测试

15.软件测试管理是软件工程的保护性活动,其基本内容不包括(C)。A.测试组织管理 B.测试过程管理 C.效益管理

D.资源和配置管理

32.下面对软件测试流程的描述,哪个是正确的?(A)

A.制定测试计划->设计测试方案及测试用例->部署实施测试->执行测试->缺陷跟踪管理->测试总结报告

B.制定测试计划->部署实施测试->设计测试方案及测试用例->执行测试->缺陷跟踪管理->测试总结报告

C.部署实施测试->制定测试计划->设计测试方案及测试用例->执行测试->缺陷跟踪管理->测试总结报告

D.制定测试计划->设计测试方案及测试用例->执行测试->部署实施测试->缺陷跟踪管理->测试总结报告

15.与设计测试数据无关的是(D)A.该软件的设计人员B.程序的复杂程度 C.源程序

D.项目开发计划

18.McCabe复杂性度量又称(B)。A.代码行度量B.环路度量C.程序量度量 D.功能性度量

1.(A)说明了软件测试与开发的并行关系,体现了测试贯穿于整个开发过程的思想。A.W模型 B.V模型 C.H模型 D.X模型

2.在下面几句中,判断哪一个是正确的。(D)。A.测试工作应在编码阶段结束后开始。

B.测试设计工作与软件开发活动是相互独立、相互无关的。

C.测试脚本是指一个测试包,它由一组逻辑相关的测试用例组成。

D.过度测试会影响进度和增加成本。

3.以下哪种测试方法属于黑盒测试技术(C)。A.基本路径测试B.循环覆盖测试 C.边界值分析测试 D.语句覆盖测试

4.程序功能说明中指出:由三个输入数据表示一个三角形的三条边长。根据黑盒法中的边界值分析法设计测试用例,应选(D)。

A.a=3,b=4,c=5

B.a=1,b=2,c=4

C.上述A、B项目都应选上

D.a=1,b=2,c=3 5.某程序功能说明中列出“规定每个运动员参赛项目为1——3项”,应用黑盒法中的等价类划分法确定等价类是(D)。

A.1<=项目数<=3

B.项目数<1

C.项目数>3

D.以上都是

6.如果某个程序的输入数据的可能值划分为n个合理等价类,m个不合理等价类,这些等价类均为数轴上的一个有限区间范围,则采用边界值测试方法至少需要(D)个测试用例。A.m+n B.2m+n C.2n+m D.2(m+n)

7.在用白盒测试中的逻辑覆盖法设计测试用例时,有语句覆盖、分支覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖和路径覆盖等,在下列覆盖中,(D)是最强的覆盖准则。A.语句覆盖B.条件覆盖

C.判定-条件覆盖

D.条件组合覆盖 8.{ void SelectSort(datalist & list){ //对表list.V[0]到list.V[n-1]进行排序, n是表当前长度。

for(int i = 0;i < list.n-1;i++){ int k = i;

//在list.V[i].key到list.V[n-1].key中找具有最小关键码的对象for(int j = i+1;j < list.n;j++)if(list.V[j].getKey()< list.V[k].getKey())k = j;

//当前具最小关键码的对象

if(k!= i)Swap(list.V[i], list.V[k]);//交换

} } 上面是选择排序的程序,其中datalist是数据表,它有两个数据成员:一是元素类型为Element的数组V,另一个是数组大小n。算法中用到两个操作,一是取某数组元素V[i]的关键码操作getKey(),一是交换两数组元素内容的操作Swap():请问该程序段的McCabe环路复杂性为多少?(D)} A.2 B.3 C.4 D.5 9.对于传统软件来说,按集成粒度不同可以把集成测试分为(C)。①模块间集成测试②类内集成测试③类间集成测试④子系统内集成测试⑤ 子系统间集成测试

A.①②③

B.②③④

C.①④⑤

D.②③⑤

10.在有关集成测试的叙述中,(A)是正确的。A.测试底层模块时不需要桩模块B.驱动模块的作用是模拟被调模块C.自顶向下测试方法易于设计测试结果

D.自底向上测试方法有有利于提前预计测试结果 11.系统测试中主要用到的测试技术是(B)A.回归测试B.黑盒测试C.白盒测试D.功能测试

12.不断执行同样的操作,如不停地启动或关闭程序、反复读写数据或者选择同一个操作。这种测试我们称之为(B)测试。A.强度 B.重复 C.压迫 D.重负

13.以下关于测试管理原则的描述中不正确的是(C)。A.实施全过程测试,有助于及时应对项目变化,降低测试风险。

B.软件应全面测试,不仅对所有产品进行测试,还要求开发人员和测试人员全面参与。

C.不能将测试过程从开发过程中抽象出来,作为一个独立的过程进行管理。

D.尽早开展测试准备工作,能使测试人员较早了解测试难度、预测风险、提高效率。14.下面叙述中,哪一项不是测试项目管理者的职责?(B)。A.合理分配任务 B.负责建立测试环境 C.制订测试策略

D.将已有经验灵活应用到新项目中

15.下列所述的测试原则中,错误的是(D)。A.应设计非法输入的测试用例B.测试用例要给出测试的预期结果C.因维护修改程序后需回归测试 D.开发小组与测试小组合并

1.对于软件测试分类,下列各项都是按照不同阶段来进行的划分,

除了(C)。A.单元测试 B.集成测试 C.黑盒测试 D.系统测试

2.在软件测试中,确认测试主要用于发现(B)阶段的错误。A.软件计划 B.需求分析 C.软件设计 D.编码

3.(C)方法根据输出对输入的依赖关系设计测试用例。A.路径测试 B.等价类 C.因果图

D.边界值分析

4.在功能测试中,假设求实数x的平方根,我们第1次输入“最小的负实数”进行测试,第2次输入“稍小于0”进行测试,第3次输入0进行测试,第4次输入“稍大于0”进行测试,第5次输入“最大的正实数”进行测试,那么这种测试属于(A)。A.边界值分析法B.绝对值分析法 C.相对值分析法 D.等价类划分法

5.为了提高测试的效率,应该(D)。A.随机地选取测试数据B.取一切可能的输入数据作为测试数据C.在完成编码以后制定软件的测试计划

D.选择发现错误可能性大的数据作为测试数据

6.现有一个计算类型的程序,它的输入只有一个Y,其范围是—50≤Y≤50。现从输入的角度考虑设计了一组测试用例:—100,100,0。设计这组测试用例的方法是(B)。A.条件覆盖法B.等价类划分法C.边界值分析法 D.错误推测法

7.实际的逻辑覆盖测试中,一般以(C)为主设计测试用例。A.条件覆盖B.判定覆盖C.条件组合覆盖D.路径覆盖8.{ PROCEDURE averagy i = 1;total.input = total.valid = 0;sum = 0;DO WHILE value[i] <>-999 AND total.input < 100 increment total.valid by 1;IF value[i] >= minimum AND value[i] <= maximum THEN increment total.valid[i];ELSE skip;ENDIF Increment i by 1;ENDDO IF total.valid > 0 THEN averagy = sum / total.valid;ELSE averagy =-999;ENDIF END averagy 上面是一个求平均值的程序,请问该程序段的McCabe环路复杂性为多少?(C)} A.4 B.5 C.6 D.7 9.测试人员在提交软件缺陷报告后,很可能发现开发人员对报告的缺陷存在异议。因此需要一个双方认同的准则,用于判定软件产品是否存在软件缺陷。

在实际的软件项目工作中,我们通常采纳的判定准则是(B)。A.测试人员提供的这个软件缺陷的证据

B.软件产品的运行结果与需求规格说明书不一致

C.可以客观地描述这个软件缺陷

D.软件产品的运行结果与测试人员预期的不一致

10.从供选择的答案中选出同下列关于软件测试的各条叙述关系最密切的字句。

在测试具有层次结构的大型软件时,有一种方法是从上层模块开始,由上到下进行测试。此时,有必要用一些模块替代尚未测试过的下层模块。(A)A.桩 B.仿真器 C.模拟器 D.原型

11.集成测试时,能较早发现高层模块接口错误的测试方法为(A)。

A.自顶向下渐增式测试

B.自底向上渐增式测试

C.非渐增式测试

D.系统测试

12.系统测试一般从客户角度考察和评价软件产品的质量,不考虑开发方关注的质量特性。那么,下面那一个质量特性一般不是系统测试的重点?(D)A.是否符合有关的国家和行业标准B.产品版本升级是否容易

C.软件产品是否易于理解和使用

D.可复用的软件部件所占的比例

13.同时启动上百个模拟连接去请求服务器的服务,这种测试我们称之为(D)测试。A.安全 B.重复 C.容量 D.压力

14.在软件质量概念中,不属于测试要达到的目标为(D)A.确保建立了测试计划,并按照测试计划进行测试B.确保测试计划覆盖了所有的系统规格定义和系统需求C.确保经过测试和调试,软件仍旧符合系统规格和需求定义 D.确保设计变更被正确的跟踪、控制、文档化

15.软件测试是软件质量保证的重要手段,下述哪种测试是软件测试的最基础环节?(B)A.功能测试 B.单元测试 C.结构测试 D.确认测试

1.提高测试的有效性十分重要,“高产”的测(C)。A.用适量的测试用例运行程序,证明被测程序正确无误

B.用适量的测试用例运行程序,证明被测程序符合相应的要求

C.用少量的测试用例运行程序,发现被测程序尽可能多的错误

D.用少量的测试用例运行程序,纠正被测程序尽可能多的错误2.在一个软件项

目中,开发人员主要承担哪项工(D)A.验收测试B.系统测试C.回归测试 D.单元测试

3.某信息管理系统中,允许用户输入8位数字的市话号码。如果使用等价类划分法来设计测试用例,从保证测试效果的角度看,你认为哪一组是最佳的选择(C)。A.63570007、80603805、100080、39103825 B.62570007、80603805 C.62570007、391038255、8252323、空值、h? D.39103825、8252323、@、***

4.如果一个排序程序所设定的测试用例为:(1)表空

(2)表中只有一个元素

(3)表中均有相同的关键字值

(4)元素已排序,则此测试方法称为(D)。A.等价类划分法B.边界值分析法 C.因果图法 D.错误推测法

5.软件测试方法中,黑盒、白盒测试法是常用的方法,其中黑盒测试主要用于测试(B)。A.结构合理性 B.软件的功能 C.程序正确性 D.程序内部逻辑

6.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是(C)A.条件覆盖法B.等价分类法 C.边界值分析法 D.错误推测法

7.{

int GetMax(int n, int datalist[ ])

{

intk=0;

for(int j=1;j

if(datalist[j] > datalist[k])k=j;

returnk;

} 上面是一段求最大值的程序,其中datalist是数据表,n是datalist的长度。请问该程序段的McCabe环路复杂性为多少?(B)} A.2 B.3 C.4 D.5 8.使用程序设计的控制结构导出测试用例的测试方法是(B)A.黑盒测试 B.白盒测试 C.边界测试 D.系统测试 9.集成测试也叫做(A)。①单元测试②部件测试③组装测试④系统测试⑤确认测

试⑥联合测试A.③⑥ B.①② C.⑤⑥ D.③④

10.渐增式集成测试是将模块一个一个地连入系统,每连入一个模块(C)。A.只需要对新连入的模块进行测试 B.都不需要再进行测试 C.要对新子系统进行测试 D.都要进行回归测试

11.软件开发公司组织各方面的典型用户在日常工作中对软件进行实际使用,并要求用户报告异常情况,这种测试我们称之为(C)。A.系统测试

B.α测试

C.β测试

D.综合测试

12.单元测试是发现编码错误,集成测试是发现模块的接口错误,确认测试是为了发现功能错误,那么系统测试是为了发现(C)的错误。

A.接口错误

B.编码错误

C.性能、质量不合要求

D.功能错误

13.在实际的软件项目工作中,测试人员运行测试用例,观察运行结果,当发现软件缺陷时提交软件缺陷报告。那么,测试人员判定一个运行结果中存在缺陷的准则是(C)。A.这个运行结果与测试人员预期的不一致 B.测试人员可以从中找到缺陷的证据

C.这个运行结果与测试用例中的预期结果不一致

D.开发人员承认这个运行结果中存在缺陷

14.软件测试计划开始于需求分析阶段,完成于(B)阶段。A.需求分析 B.软件设计 C.软件实现 D.软件测试

15.与设计测试用例无关的文档是(A)。A.项目开发计划B.需求规格说明书 C.设计说明书 D.源程序

1.下面说法正确的是(C)。

A.经过测试没有发现错误说明程序正确

B.测试的目标是为了证明程序没有错误

C.成功的测试是发现了迄今尚未发现的错误的测试

D.成功的测试是没有发现错误的测试 2.不属于白盒测试的技术是(C)。A.语句覆盖

B.判定覆盖

C.边界值分析

D.基本路径测试

3.单元测试主要针对模块的几个基本特征进行测试,该阶段不能

完成的测试是(A)。A.系统功能 B.局部数据结构

C.重要的执行路径

D.错误处理

4.软件测试过程中的集成测试主要是为了发现(B)阶段的错误。

A.需求分析

B.概要分析

C.详细设计

D.编码 5.软件测试不需要了解软件设计的(D)。

A.功能

B.内部结构

C.处理过程

D.条件

6.(C)方法根据输出对输入的依赖关系设计测试用例。A.路径测试 B.等价类 C.因果图 D.边界值分析

7.通常,在(D)的基础上,将所有模块按照设计要求组装成系统

A.组装测试

B.系统测试

C.验收测试

D.单元测试

9.使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准。

A.程序内部逻辑

B.程序的复杂度

C.使用说明书

D.程序的功能

10.与设计测试用例无关的文档是(A)。A.项目开发计划

B.需求规格说明书

C.设计说明书

D.源程序

1.负载测试是验证要检验的系统的能力最高能达到什么程度。错

2.健壮性测试的测试重点为当出现故障时,是否能够自动恢复或忽略故障继续运行。对

3.可用性测试是对于用户友好性的测试,是指在设计过程中被用来改善易用性的一系列方法。对

4.软件测试管理原则之一是全面测试,它的含义:一是对软件的所有产品进行全面的测试;二是测试人员应对测试的全过程进行全程的跟踪。错

5.程序代码编写完成之后,软件测试工作开始。错

6.软件测试是测试人员的事,与开发人员无关。错

7.软件的Bug就是指程序运行时出现的故障。错

昆明学院软件测试期末复习

1.能够尽可能早的发现软件缺陷,就能够尽可能地节约修复缺陷的成本,因此,在软件的设计阶段修复缺陷的费用最低。(F) 2.根据著名的瀑布模型,软件测试应该处在“编程”的下游、“软件维护”的上游,先有编程,后有测试,测试的位置很清楚。(T) 3.为了能更多测试出软件缺陷,测试用例一般要求越复杂越好。(F) 4.因为软件开发人员不止一人,因此在测试时,只能进行松散地实施测试。(F) 5.每一种测试方法都必须执行程序,才能得到最好的效果。(F) 6.单元测试的主要人员构成是开发人员。(T ) 7.集成测试就是系统测试。(F) 8.在进行系统测试的时候,当发现有错误时候应该及时修正,紧接着修正下一个错误。(T) 9.有时候因为时间紧迫,可以临时安排几个程序员或行业新手做测试工作。(F) 10.在实际的运用中,无论对于白盒测试和黑盒测试,通常使用其中一种方法就可以完成对某一软件的测试工作。(F) 11.验收测试是测试的最后一个环节,该测试完成后,马上可交付用户使用。( F ) 12.软件质量的要求是要满足软件的功能性需求。(F) 13.系统测试的目的是检查已经通过单元测试的单元之间接口是否存在问题。(T) 14.在软件的开发中,每次回归测试都要重新运行完整的测试包。(F ) 15.在整个软件团队中,对软件测试人员的要求比较低,会操作计算机、有一定 的软件使用经验就可以。(F) 16.在对软件缺陷的描述中,测试人员可以对有个人的观点,也可以对开发人员进行评价,有利于开发人员提高开发质量。(F) 17.在整个软件生命周期中的每个阶段,每个时刻都存在着软件测试话动,软件测试伴随着软件开发。(T) 18.验收测试是由用户完成的。(F) 19.在一个规范的软件的开发中,开发人员的人数一般大于测试人员的人数。(F) 20.在整个开发周期中要对测试用例进行有效的跟踪和维护、(T) 21.功能测试也可以采用白盒测试的方法。(F)

软件工程期末复习重点

1.软件危机的介绍 在计算机软件的开发和维护过程中所遇到的一系列严重问题。 2.产生软件危机的原因 与软件本身特点有关: 软件开发与维护的方法不正确有关: 3.消除软件危机的途径 4.软件生命周期由软件定义、软件开发和运行维护3个时期组成,每个时期又进一步划分成若干个阶段。 5.软件定义时期的任务是: 确定软件开发工程必须完成的总目标;确定工程的可行性;导出实现工程目标应该采用的策略及系统必须完成的功能;估计完成该项工程需要的资源和成本,并且制定工程进度表。这个时期的工作通常又称为系统分析,由系统分析员负责完成。 软件定义时期通常进一步划分成3个阶段,即问题定义、可行性研究和需求分析。 6.开发时期具体设计和实现在前一个时期定义的软件,它通常由下述4个阶段组成:总体设计,详细设计,编码和单元测试,综合测试。其中前两个阶段又称为系统设计,后两个阶段又称为系统实现。 7.维护时期的主要任务是使软件持久地满足用户的需要。 8.软件生命周期每个阶段的基本任务:问题定义、可行性研究,需求分析,总体设计,详细设计,编码和单元测试,综合测试。 9.常用软件模型区别原理: (1)瀑布模型: 按照传统的瀑布模型开发软件,有下述的几个特点。 a)阶段间具有顺序性和依赖性: 两重含义:段的输出文档正确,后一阶段的工作才能获得正确的结果。①必须等前一阶段的工作完成之后,才能开始后一阶段的工作;②前一阶段的输出文档就是后一阶段的输入文档,因此,只有前一阶 b) 推迟实现的观点 瀑布模型在编码之前设置了系统分析与系统设计的各个阶段,分析与设计阶段的基本任务规定,在这两个阶段主要考虑目标系统的逻辑模型,不涉及软件的物理实现。 c)质量保证的观点: 软件工程的基本目标是优质、高产。为了保证所开发的软件的质量,在瀑布模型的每个阶段都应坚持两个重要做法。 每个阶段都必须完成规定的文档,没有交出合格的文档就是没有完成该阶段的任务。 每个阶段结束前都要对所完成的文档进行评审,以便尽早发现问题,改正错误。 瀑布模型有许多优点: a可强迫开发人员采用规范的方法(例如,结构化技术); b严格地规定了每个阶段必须提交的文档; c要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。 (2)快速原型模型 概念: 快速原型是快速建立起来的可以在计算机上运行的程序,它所能完成的功能往往是最终产品能完成的功能的一个子集。 快速原型模型是不带反馈环的,这正是这种过程模型的主要优点:软件产品的开发基本上是线性顺序进行的。能基本上做到线性顺序开发的主要原因如下:

软件测试期末复习知识点总结大全

1.软件测试:是由“验证(verrificatione)”和“有效性确认(validation)”活动构成的整体:“验证”是检验软件是否已正确地实现了产品规格书所定义的系统功能和特性。验证过程提供证据表明软件相关产品与所有生命周期活动的要求(如正确性、完整性、一致性、准确性等)相一致。相当于以软件产品设计规格说明书为标准进行软件测试的活动。 “有效性确认”是确认所开发的软件是否满足用户真正需求的活动。一切从客户出发,理解客户的需求,对软件需求定义、设计的怀疑,发现需求定义和产品设计中的问题。这主要通过各种软件评审活动来实现,包括让客户参加评审、测试活动。 软件测试过程:(1)测试组织和管理(2)测试计划(3)测试用例实际(4)测试实施(5)测试结果分析(6)测试评审与报告 软件测试方法:白盒测试方法、黑盒测试方法、静态测试与动态测试、主动测试与被动测试、形式化测试方法、基于风险的测试、模糊测试方法、ALAC测试和随机测试方法 2.单元测试:是对软件基本组成单元进行的测试,而且软件单元是在与程序的其他部分相隔离的情况下进行独立的测试。 静态测试就是静态分析,对模块的源代码进行研读,查找错误或收集一些度量数据,并不需要对代码进行编译和仿真运行。 动态测试是通过真正运行程序发现错误,通过观察代码运行过程,来获取系统行为、变量实时结果、内存、堆栈、线程以及测试覆盖度等各方面的信息,来判断系统是否存在问题,或者通过有效的测试用例,对于的输入输出关系来分析被测程序的运行情况,来发现缺陷。 静态测试、动态测试的区别:1.静态测试用于预防,动态测试用于矫正;2.多次的静态测试比动态测试的效率高;3,静态测试综合测试程序代码;4.在相当短的时间里,测试的覆盖率能达到100%,而动态测试经常只能达到50%测试左右;5.动态测试比静态测试更花时间; 6.静态测试比动态测试更能发现bug; 7.静态测试的执行可以在程序编码编译前,动态是中能在编译后才能执行。 3.功能测试:一般须在完成集成测试后进行,而且是针对应用系统进行测试是根据产品规格说明书,来检验被测试的系统是否满足各方面功能的使用要求。 集成测试:也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求,组装成为子系统或系统,进行集成测试,其主要目的是检查软件单位之间的接口是否正确。集成测试包括非增量测试和增量测试两种方式,集成测试的策略主要有自顶向下和自底向上两种。 功能测试、集成测试区别: 4.回归测试:目的是在程序有修改的情况下,保证原有功能正常的一种测试策略和方法。程序在发现严重软件缺陷要进行修改或版本升级要新增功能,这时需要对软件进行修改,修改后的程序要进行测试,这时要检验软件所进行的修改是否正确,保证改动不会带来新的严重错误。 5.桩程序(Stub),也称桩模块:用以模拟被测模块工作过程中所调用的下层模块。桩模块由被测模块调用,它们一般只进行很少的数据处理,例如打印入口和返回,以便于检验被测模块与其下级模块的接口。 驱动程序(Driver),也称驱动模块:用以模拟被测模块的上级模块,能够调用被测模块。在测试过程中,驱动模块接受测试数据,调用被测模块并把相关的数据传送给被测模块。

软件工程期末考试复习重点

第一章 软件危机:是指在计算机软件的开发和维护过程中所遇到的一系列严重的问题。 软件危机的主要表现: 1、对软件开发成本和进度的估计常常很不准确。 2、用户对“已完成的”软件系统不满意的现象经常发生。 3、软件产品的质量往往靠不住。 4、软件常常是不可维护的 5、软件通常没有适当的文档资料 6、软件成本在计算机系统总成本中所占的比例逐年上升 7、软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势 软件工程: 定义一:是为了经济地获得可靠的且能在实际机器上有效地运行的软件,而建立和使用完善的工程原理。 定义二:1.把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;2.研究1.中提到的途径。 软件工程方法学的三个要素:方法、工具和过程。 目前使用的最广泛的软件工程方法学:传统方法学、面向对象方法学。 软件的生命周期: 软件生命周期有软件定义、软件开发和运行维护3个时期组成; 定义时期分为:问题定义、可行性研究和需求分析阶段; 开发时期分为:总体设计、详细设计、编码和单元测试、综合测试; 维护时期的任务:是软件持久的满足用户的需求; 瀑布模型:最广泛的过程模型; 瀑布模型的特点: 1、阶段间具有顺序性和依耐性; 2、推迟实现的观点; 3、质量保证的观点; Rational统一过程(RUP)四个阶段的工作目标: 初始阶段:建立业务模型,定义最终产品视图,并且确定项目的范围; 精化阶段:设计并确定系统的体系结构,制定项目计划,确定资源需求; 构建阶段:开发出所有构件和应用程序,把他们集成为客户需要的产品,并且详尽地测试所有功能; 移交阶段:把开发出的产品提交给用户使用; 第二章 可行性研究的目的是确定问题是否值得去解决; 可行性研究的方面:技术可行性、经济可行性、操作可行性; 系统流程图描述物理模型;P39(要求会做)

软件工程期末考试复习题

软件工程期末考试复习题 Revised by BETTY on December 25,2020

《软件工程》选择题 一、选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内,每小题1分) 软件工程 1.软件产品的开发主要是( D )。 A.复制 B.再生产 C.拷贝 D.研制 2.作坊式小团体合作生产方式的时代是(C )时代。 A.程序设计 B.软件生产自动化 C.程序系统 D.软件工程 3.软件工程与计算机科学性质不同,软件工程着重于(C )。 A.理论研究 B.原理探讨 C.建造软件系统 D.原理的理论 4.与计算机科学的理论研究不同,软件工程是一门( C )学科。 A.理论性 B.原理性 C.工程性 D.心理性 5.软件工程的出现主要是由于( C )。 A.程序设计方法学的影响 B.其它工程科学的影响 C. 软件危机的出现? D.计算机的发展 6.在项目中,不随参与人数的增加而使软件的生产率增加的主要问题是( D ) A、工作阶段间的等待时间 B、生产原型的复杂性 C、参与人员所需的工作站数 D、参与人员之间的通信困难 7.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实 施的主要保证是( C ) A、硬件环境 B、软件开发的环境 C、软件开发工具和软件开发的环境 D、开发人员的素质 8、下列不属于软件工程方法学三要素的是( D ): A、方法 B、工具 C、过程 D、操作 周期 1.将每个模块的控制结构转换成计算机可接受的程序代码是( A )阶段的任务。 A.编码 B.需求分析 C.详细设计 D.测试 2.可行性研究的目的是决定( B )。 A.开发项目 B.项目值得开发否 C.规划项目 D.维护项目 3.据国家标准GB8566-8计算机软件开发的规定,软件的开发和维护划分为八个阶 段,其中组装测试的计划是在(C )阶段完成的 A.可行性研究和计划 B.需求分析 C.概要设计 D.详细设计

《软件测试》期末复习试题及答案

《软件测试》期末复习试题及答案 阶段测试一 一. 单选题(共16题,65.6分) 1. (单选题)(D )不是正确的软件测试目的。 A. 尽最大的可能找出最多的错误 B. 设计一个好的测试用例对用户需求的覆盖度达到100% C. 对软件质量进行度量和评估,以提高软件的质量 D. 发现开发所采用的软件过程的缺陷,进行软件过程改进 2. (单选题)下面说法正确的是(C)。 A. 经过测试没有发现错误,说明程序正确 B. 测试的目标是证明程序没有错误 C. 成功的测试是发现了迄今尚未发现的错误的测试 D. 成功的测试是没有发现错误的测试 3. (单选题)下列选项中,不属于软件测试工程师职责范围的是(C)。 A. 测试方案设计 B. 测试用例设计 C. 进行代码调优 D. 测试实施 4. (单选题)下面属于软件测试模型的是(A) A. W模型 B. 瀑布模型 C. L模型 D. G模型 5. (单选题)下面关于软件测试模型的描述中,不正确的是(A)。 ①V模型的软件测试策略既包括低层测试,又包括高层测试,高层测试是为了确保源码的正确性,低层测试是为了使整个系统满足用户的需求 ②V模型存在一定的局限性,它仅仅将测试过程作为在需求分析、概要设计、详细设计及编码之后的一个阶段 ③W模型可以说是V模型自然而然的发展,它强调:测试伴随着整个软件开发周期, 而且测试的对象不仅仅是程序,需求、功能和设计同样要测试 ④H模型中,软件测试是一个独立的流程,贯穿产品的整个生命周期,与其他流程并发地进行 ⑤H模型中,测试准备和测试实施紧密结合,有利于资源调配 A. ①⑤ B. ②④ C. ③④

6. (单选题)下列关于W模型的描述中正确的是(A) A. W模型强调测试伴随着整个软件开发周期,测试对象不仅仅是程序,需求、功能和文档同样需要测试 B. 所有开发活动完成后,才可执行测试 C. W模型将软件的开发视为合同签订、需求、设计、编码等一系列串行活动 D. 在W模型中,需求、设计、编码串行进行,也可以并行工作 7. (单选题)V模型描述了软件基本的开发过程和测试行为,描述了不同测试阶段与开发过程各段的对应关系。其中,集成测试阶段对应的开发阶段是(B)。 A. 需求分析阶段 B. 概要设计阶段 C. 详细设计阶段 D. 编码阶段 8. (单选题)软件测试类型按开发阶段划分为(B) A. 需求测试、单元测试、集成测试、验证测试 B. 单元测试、集成测试、确认测试、系统测试、验收测试 C. 单元测试、集成测试、验证测试、确认测试、验收测试 D. 调试、单元测试、集成测试、用户测试 9. (单选题)为了使软件测试更加高效,应遵循的测试原则包括(D). ①所有的软件测试都应追溯到用户需求、充分注意缺陷群集现象 ②尽早地和不断地进行软件测试、回归测试 ③为了证明程序的正确性,尽可能多地开发测试用例 ④应由不同的测试人员对测试所发现的缺陷进行确认 ⑤增量测试,由小到大 A. ①②③④ B. ①③④⑤ C. ②③④ D. ①②④⑤ 10. (单选题)关于白盒测试与黑盒测试的最主要区别,正确的是(B) ①白盒测试侧重于程序结构,黑盒测试侧重于功能 ②白盒测试可以使用测试工具,黑盒测试不能使用工具 ③白盒测试需要程序员参与,黑盒测试不需要 ④白盒测试针对软件代码,进行其逻辑、结果、编程习惯的检查;黑盒测试针对软件成品,对其功能进行测试。 ⑤白盒测试工程师发现的问题价值高于黑盒测试工程师发现的问题。 A. ①②④

软件测试考试题(8)

软件测试期末考试复习 选择题 1】CMU SEI的Watts Humphrey指出:软件产品必须提首先供用户所需要的 D。 A)性能 B)人机界面 C)可靠性 D)功能 2】以下选项中不属于ISO软件质量模型的是C。 A)外部质量模型 B)使用质量模型C)维护质量模型 D)内部质量模型 3】下列关于软件质量模型的说法中正确的是 D 。 A)外部质量是表征软件产品在规定条件下使用时,决定其满足规定的和隐含的要求的能力的B)容错性,通用性,结构性和通信性不全属于软件的质量特性 C)内部质量是表征软件产品在规定条件下使用时,满足规定的和隐含的要求的程度 D)使用质量是软件产品在规定的使用环境中,规定的用户能实现规定目标的要求 【例4】下列选项中不属于使用质量的属性的是 C 。 A)有效性 B)安全性 C)稳定性 D)满意度 解析:软件的使用质量属性分为四种:有效性,生产性,安全性和满意度。 【例5】下列软件属性中,软件产品首要满足的应该是 A 。 A)功能需求B)性能需求C)可扩展性和灵活性D)容错、纠错能力 6】内部质量需求包括 D 。A)静态模型 B)动态模型C)文档和源代码D)以上全部 【例7】在测试和使用软件产品过程中进行的度量是 B 。 A)内部度量B)外部度量C)使用度量D)性能度量解 【例8 C 的结果。 A)功能性B)可靠性C)可维护性D)效率 【例9】内部度量的主要目的是 D 。 A)确保获得所需的外部质量 B)确保获得所需的使用质量 C)在执行前评价软件产品的质量D)以上全部 考点3 软件缺陷的基本知识(考题透解) 例1】以下哪一种选项不属于软件缺陷 D 。 A)软件没有实现产品规格说明所要求的功能 B)软件中出现了产品规格说明不应该出现的功能 C)软件实现了产品规格说明没有提到的功能 D)软件实现了产品规格说明所要求的功能但因受性能限制而未考虑可移植性问题 【例2】软件生存周期过程中,修改错误代价最大的阶段是 D 。 A)需求阶段 B)设计阶段C)编程阶段D)发布运行阶段 【例3】以程序内部的逻辑结构为基础的测试用例设计技术属于 D 。 A)灰盒测试 B)数据测试C)黑盒测试D)白盒测试 【例4】下列能表达程序未按照预期运行,但不会导致整体失效的是 B 。

软件测试期末考试复习题(学生版)

? A.阶段2:分析需求阶段 ? B.阶段3:实现需求阶段 ? C.阶段1:定义需求阶段 ? D.阶段4:校验需求阶段 ? A.一个执行排序功能的函数 ? B.一个类 ? C.类中的一个功能方法 ? D.类中的Getter方法 ? A.对于有效等价类可以不设计测试用例 ? B.利用无效等价类设计的测试用例,可以检验程序中功能和性能是否不符合需求说明书的规定 ? C.利用有效等价类设计的测试用例,可以检验程序是否实现了需求说明书中规定的功能和性能 ? D.对同一个程序可能会划分出多种不同的等价类 A

? A.在程序员眼中,实施单元测试意味着减少工作量,因为测试脚本是测试人员负责编写的 ? B.在程序员眼中,实施单元测试意味着可以随意编码了 ? C.对于领导者来说,要实施单元测试也要控制成本 ? D.对于领导者来说,要实施单元测试就必须牺牲开发进度 ? A.由输入+实际输出+测试环境构成 ? B.反映系统实际执行结果 ? C.描述用户预期输出 ? D.能代表需求的小的测试单元 得分/总分 ? A. ? B.

? C. ? D. 观察下图的结构,该函数的结构复杂度高吗? 得分/总分 ? A.有点高,但可以接受 ? B.不高,完全可以接受 ? C.不好说 ? D.高,应尽量降低复杂度 ? A.①②④

? B.①②③ ? C.①②③④ ? D.②③④ ? A.分别输入1、50、100条记录 ? B.分别输入0、1、50、99、100条记录 ? C.分别输入0、1、99、100、101条记录 ? D.分别输入0、1、50、99、100、101条记录 ? A.可以 ? B.如果作者不是开发人员,则可以,否则不行 ? C.不可以 ? D.如果作者是开发经理,则可以,否则不行 ? A.判定覆盖 ? B.条件覆盖

最新软件测试期末复习题教学教材

1、黑盒测试与白盒测试各有哪些优缺点,应该如何结合才能解决漏洞和冗余问题? 答:黑盒测试与软件如何实现无关,测试用例开发可以与实现并行进行,因此可以压缩总的项目开发时间,但测试用例之间可能存在严重的冗余,还会有未测试的软件漏洞。白盒测试局限于已经完成的代码行为当中,离代码太近。如果黑盒测试结合白盒测试的覆盖率指标执行,冗余和漏洞问题都会被发现并解决。如果发现同一条程序路径被多个功能性测试用例遍历,就可以怀疑这种冗余不会发生新的缺陷,如果没有达到一定的DD—路径覆盖,则可知在功能性测试用例中存在漏洞。 2、简单描述一下软件测试工程师一般会承担的一些具体工作。 答:(1)检视代码、评审开发文档(静态测试方法) (2)进行测试设计、写作测试文档(测试计划、测试方案、测试用例等) (3)执行测试,发现软件缺陷,提交缺陷报告,并确认缺陷最终得到了修正 (4)通过测试度量软件的质量 3、程序员应避免检查自己的程序,为什么? 答:(1)程序员从来不会承认自己写的程序有错误 (2)程序员的测试思路有明显的局限性 (3)多数程序员没有经过严格正规的职业训练,常忽视测试 (4)程序员无良好的BUG跟踪和回归测试的习惯 4、增量式集成测试的策略分为自顶向下、自底向上和混合式三种,请简述自底向上与自顶向下集成测试的优缺点? 答:(1)自顶向下增量式测试: —主要优点在于它可以自然的做到逐步求精,一开始就能让测试者看到系统的框架。 —主要缺点是需要提供桩模块,并且在输入/输出模块接入系统以前,在桩模块中表示测试数据有一定困难。 (2)自底向上增量式测试: —优点在于,由于驱动模块模拟了所有调用参数,即使数据流并未构成有向的非环状图,生成测试数据也无困难。 —主要缺点在于,直到最后一个模块被加进去之后才能看到整个程序(系统)的框架。 5、如果软件执行了动态测试,静态测试就是毫无意义的,这句话是否正确?为什么? 答:这种说法是不正确的。静态测试和动态测试之间并不存在哪种方式更加有效的问题.,两者的关注点不同,能够发现问题的程度也不同。静态测试一般关注的是程序结构、逻辑以及代码的风格,而动态测试更多关注结果与预期的比较。这二者不能够完全一个替代另外一个。针对不同的软件和不同的潜在问题,有可能是静态测试容易发现,也有可能是动态测试更加容易发现.例如,诸如代码结构方面的问题,在动态测试中就难以发现,而在静态测试中就一目了然. 【Office2010应用技巧】 全新升级Office 2010十大优点 无论是在办公室、在家还是在学校,Microsoft Office 2010均可通过基于Windows Mobile 的Smartphone或通过Web浏览器,为您提供通过计算机交付最佳工作的丰富而强大的新方

软件测试复习题海尔

软件测试课程期末复习题 ???????????????????????????????? 一、判断分析题(判断正误并分析说明)。 1、测试是为了验证该软件已正确地实现了用户的要求。(×) 2、用黑盒法测试时,测试用例是根据程序内部逻辑设计的。(×) 3、好的测试员不懈追求完美,力求做到穷举测试。(√) 4、软件测试的目的是尽可能多的找出软件的缺陷。(√) 5、单元测试能发现约80%的软件缺陷。(√) 6、自底向上集成需要测试员编写驱动模块程序。( √ ) 7、代码评审员一般由测试员担任。(× ) 8、发现错误多的程序模块,残留在模块中的错误也多。(√) 9、单元测试多采用白盒测试(结构性测试)技术。(√) 10、系统测试多采用白盒测试(结构性测试)技术。(×)(黑盒测试) 11、进行自底向上集成测试,需要为所测模块或子系统编制相应的驱动模块。(√) 12、软件测试的目的是证明软件没有错误。(×) 13、测试组负责软件质量。( ×) 14、软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性。 (√ ) 15、测试程序仅仅按预期方式运行就行了。( ×) 16、不存在质量很高但可靠性很差的产品。( ×) 17、总是首先设计白盒测试用例。(×) 18、用黑盒法测试时,测试用例是根据程序内部逻辑设计的。(×) 19、黑盒测试方法中最有效的是因果图法。( √) 20、软件测试按照测试过程分为黑盒、白盒测试。(×) 21、白盒测试又称结构测试、逻辑驱动测试或基于程序的测试。(√) 22、黑盒测试是从用户观点出发的测试。(√) 23、白盒测试根据程序外部特征进行测试,黑盒测试根据程序内部逻辑结构进行测试。(×) 24、程序通过了全面的白盒测试,就不需要再进行黑盒测试了。(×) 25、对于同一个测试对象,等价类的测试用例数多于边界值的测试用例数。() 26、如果输入条件规定了取值范围,则可定义一个有效等价类和两个无效等价类。(√)

软件测试-答疑-期末复习

一、选择题 1、面向对象的开发模型突破了传统的瀑布模型,其中面向对象编程简称为(D ) (A) OOA (B) OOD (C) OOF (D) OOP 2、以下关于软件测试原则的说法中,正确的是(B ) (A)在设计测试用例时,只需要合理的输入条件即可 (B)坚持在软件开发各个阶段进行技术评审,才能在开发过程中尽早发现和预防错误 (C)测试过程中某模块中查出的错误越多,该模块残留的错误就越少 (D)完全测试是可能的 3、一般软件生存周期包括问题定义、(A )、软件测试、软件使用与维护等几个部分。 (A) 软件开发(B) 需求分析(C) 架构设计(D) 软件回归 4、以下哪种软件测试不属于软件性能测试的范畴(D ) (A)并发测试(B)压力测试(C)负载测试(D)覆盖测试 5、以下不属于系统测试内容的是(D ) (A)安装测试(B)文档测试(C)背靠背测试(D)合法性检查 6、采用边界值分析法测试程序,对于一个含有n个变量的程序,会产生(C )个测试用例 (A)2n+1 (B) 4n+1 (C) 6n+1 (D) 8n+1 7、以下哪种不是单元测试的主要任务(A ) (A)将各模块连接起来,检查模块相互调用时,数据经过接口是否丢失。 (B)模块局部数据结构测试(C)模块中所有独立执行路径测试(D)模块接口测试 8、以下关于集成测试的说法中错误的是(D ) (A)集成测试主要测试软件的结构问题,所以多为黑盒测试,适当辅以白盒测试。 (B)集成测试的实施方案有很多种,如:非增量式集成测试和增量式集成测试等 (C)集成测试的任务之一是测试一个模块的功能是否会对另一个模块的功能产生不利的影响。 (D)集成测试所需人员一般是专门的测试人员 9、人为设置,使系统资源紧缺检查系统是否发生功能或者性能上的问题的测试是( B ) (A)负载测试(B) 压力测试(C)疲劳测试(D) 配置测试 10、在执行测试活动中,确定成功的测试覆盖率(即执行时未出现失败的测试,如没有出现缺陷或意外结果的测试)评测公式为( C ) (A) T p / Rf T %(B) T i / Rf T % (C)T s/ Rf T % (D)T x/ Rf T % 11、缺陷严重程度按软件测试错误的严重程度分为( C )种 (A)2 (B) 3 (C) 4 (D) 5 12、以下关于软件质量的说法中,错误的是(C ) (A)软件产品必须提供用户所需要的功能,并能正常工作 (B)软件质量是产品、组织和体系或过程的一组固有特性,反映它们满足顾客和其他相关方面要求的程度 (C)程序的正确性足以体现软件的价值 (D)越是关注客户的满意度,软件就越有可能达到质量要求

软件测试复习题

软件测试课程期末复习题 一、判断分析题(判断正误并分析说明)。 1、测试是为了验证该软件已正确地实现了用户的要求。(×) 2、用黑盒法测试时,测试用例是根据程序内部逻辑设计的。(×) 3、好的测试员不懈追求完美,力求做到穷举测试。(√) 4、软件测试的目的是尽可能多的找出软件的缺陷。(√) 5、单元测试能发现约80%的软件缺陷。(√) 6、自底向上集成需要测试员编写驱动模块程序。( √ ) 7、代码评审员一般由测试员担任。(× ) 8、发现错误多的程序模块,残留在模块中的错误也多。(√) 9、单元测试多采用白盒测试(结构性测试)技术。(√) 10、系统测试多采用白盒测试(结构性测试)技术。(×)(黑盒测试) 11、进行自底向上集成测试,需要为所测模块或子系统编制相应的驱动模块。(√) 12、软件测试的目的是证明软件没有错误。(×) 13、测试组负责软件质量。( ×) 14、软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性。 (√ ) 15、测试程序仅仅按预期方式运行就行了。( ×) 16、不存在质量很高但可靠性很差的产品。( ×) 17、总是首先设计白盒测试用例。(×) 18、用黑盒法测试时,测试用例是根据程序内部逻辑设计的。(×) 19、黑盒测试方法中最有效的是因果图法。( √) 20、软件测试按照测试过程分为黑盒、白盒测试。(×) 21、白盒测试又称结构测试、逻辑驱动测试或基于程序的测试。(√) 22、黑盒测试是从用户观点出发的测试。(√) 23、白盒测试根据程序外部特征进行测试,黑盒测试根据程序内部逻辑结构进行测试。(×)

24、程序通过了全面的白盒测试,就不需要再进行黑盒测试了。(×) 25、对于同一个测试对象,等价类的测试用例数多于边界值的测试用例数。() 26、如果输入条件规定了取值范围,则可定义一个有效等价类和两个无效等价类。(√) 27、有n个变量的函数的健壮最坏情况测试用例的个数为:5的n次方。(√) 28、有n个变量的函数的健壮性测试用例的个数为:5n+1。(×) 29、有n个变量的函数的最坏情况测试会产生5的n次方个测试用例。(√) 30、有n个变量的函数的边界值分析会产生4n+1个测试用例(√) 31、语句覆盖是最弱的逻辑覆盖。(√) 32、判定覆盖不一定包含条件覆盖。(√) 33、判定/条件覆盖能同时满足判定、条件两种覆盖标准。(√) 34、详细设计的目的是为软件结构图中的每一个模块确定使用的算法和块内数据结构,并用某种选定的表达工具给出清晰的描述。( √) 35、对于连锁型分支结构,若有n个判定语句,则有2n条路径。(√) 36、尽量采用复合的条件测试,以避免嵌套的分支结构。(√) 37、G OTO语句概念简单,使用方便,在某些情况下,保留GOTO语句反能使写出的程序更加简洁。(√) 38、单元测试属于动态测试。 (× ) 39、单元测试需要从程序的内部结构出发设计测试用例。(√) 40、单元测试需要为每个基本单元开发驱动模块或桩模块。(√) 41、在面向对象语言语言中,单元测试是函数或子过程。() 42、单元测试又称为模块测试,是针对软件测试的最小单位-程序模块进行正确性检验的测试工作。(√) 43、验收测试是由最终用户来实施的。(×) 44、负载测试是验证要检验的系统的能力最高能达到什么程度。(×) 45、我们可以人为的使得软件不存在配置问题。(×) 46、可以发布具有配置缺陷的软件产品。( √) 47、所有软件必须进行某种程度的兼容性测试。(√ ) 48、所有软件都有一个用户界面,因此必须测试易用性。(×) 49、β测试是由软件的多个用户在实际使用环境下进行的测试。(√)

(完整word版)《软件测试技术》期末复习题(5套)+参考答案

《软件测试技术》期末试题(A卷) 单项选择题:共20小题,每小题1 分,满分20分;请将答案填入题后括号中。 1.在软件生命周期的哪一个阶段,软件缺陷修复费用最低( A ) (A)需求分析(编制产品说明书)(B)设计 (C) 编码(D)产品发布 2.单元测试中用来模拟被测模块调用者的模块是 ( C ) (A)父模块(B)子模块 (C)驱动模块(D)桩模块 3.为了提高测试的效率,应该( D ) (A)随机地选取测试数据; (B)取一切可能的输入数据作为测试数据; (C)在完成编码以后制定软件的测试计划; (D)选择发现错误可能性大的数据作为测试数据。 4.侧重于观察资源耗尽情况下的软件表现的系统测试被称为 ( B ) (A)强度测试(B)压力测试 (C) 容量测试(D)性能测试 5.必须要求用户参与的测试阶段是 ( D ) (A)单元测试(B)集成测试 (C) 确认测试 (D)验收测试 6.软件测试员究竟做些什么。( C ) (A)软件测试员的目的是发现软件缺陷 (B)软件测试员的目的是发现软件缺陷,尽可能早一些 (C)软件测试员的目的是发现软件缺陷,尽可能早一些,并确保其得以修复 (D)软件测试员的目的是发现软件缺陷,尽可能早一些,并将其得以修复 7.下面四种说法中正确的是( C ) (A)因果图法是建立在决策表法基础上的一种白盒测试方法; (B)等价类划分法是边界值分析法的基础; (C)健壮性等价类测试的测试用例要求在有效等价类中取值; (D)在任何情况下做黑盒测试皆应首先考虑使用错误推断法。 8.不属于单元测试内容的是( A ) (A)模块接口测试(B)局部数据结构测试 (C)路径测试(D)用户界面测试 9.划分软件测试属于白盒测试还是黑盒测试的依据是( C ) (A)是否执行程序代码 (B)是否能看到软件设计文档 (C)是否能看到被测源程序 (D)运行结果是否确定 10.下列项目中不属于测试文档的是( C ) (A)测试计划(B)测试用例 (C) 程序流程图(D)测试报告 11.几乎没有产品计划、进度安排和正规的开发过程的软件开发模式是( B ) (A)大棒模式(B)边写边改模式 (C)瀑布模式(D)快速原型开发模式 12.如果某测试用例集实现了某软件的路径覆盖,那么它一定同时实现了该软件的 ( A ) (A)判定覆盖(B)条件覆盖 (C) 判定/条件覆盖(D)组合覆盖 13.下列说法不正确的是( D )

【必过宝典】软件工程期末考试复习题库之判断题部分(共80题)【2020最新整理版】

软件工程期末考试复习分类题型 判断题部分 1.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。(√) 2.数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行 详细定义。(×) 3.JA V A语言编译器是一个CASE工具。(√)。 4.软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序, 软件开发实际上就是编写程序代码。(×) 5.软件模块之间的耦合性越弱越好。(×) 6.数据库设计说明书是一个软件配置项(×) 7.在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实 例,对象是生成类的模板。(×) 8.过程描述语言可以用于描述软件的系统结构。(×) 9.如果通过软件测试没有发现错误,则说明软件是正确的。(×) 10.快速原型模型可以有效地适应用户需求的动态变化。(√) 11.模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低 耦合度的软件产品。(√) 12.集成测试主要由用户来完成。(×) 13.确认测试计划应该在可行性研究阶段制定(×) 14.白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即 可。(×) 15.软件概要设计包括软件系统结构设计以及数据结构和数据库设计。(√) 16.在可行性研究中最难决断和最关键的问题是经济可行性。(×) 17.耦合是指一个模块内各个元素彼此结合的紧密程度。(×) 18.一笔交易、一个动作、甚至操作人员按一个按钮都可以看做是一次事物。(√) 19.概要设计阶段完成的主要文档是概要设计说明书。(√) 20.过大的模块可能是由于分解不充分造成的,即使降低模块独立性也必须继续 分解。(×) 21.程序设计语言中应绝对禁止使用GOTO语句。(×) 22.类是关于对象性质的描述,由方法和数据组成。(√)

软件测试期末复习

一、单项选择题:共20小题,每小题2分,满分40分; 1.软件测试按照测试层次可以分为C A.黑盒测试、白盒测试能性测试和结构性测试 件测试是有 风险的行为,并非所有的软件缺陷都能够被修复;T 2.软件质量保证和软件测试是同一层次的概念;F 3.我们有理由相信只要能够设计出尽可能好的测试方案,经过严格测试之后的软件可以没有缺陷;F 4.程序员兼任测试员可以提高工作效率;F 5.在设计测试用例时,应当包括合理的输入条件和不合理的输入条件;T 6.传统测试是在开发的后期才介入,现在测试活动已经扩展到了整个生命周期;T 7.传统测试以发现错误为目的,现在测试已经扩展到了错误预防的范畴;T 8.软件测试的生命周期包括测试计划、测试设计、测试执行、缺陷跟踪、测试评估;T 9.调试从一个已知的条件开始,使用预先定义的过程,有预知的结果;测试从一个未知的条件开始, 结束的过程不可预计;F 10.白盒测试往往会造成测试用例之间可能存在严重的冗余和未测试的功能漏洞;F 11.在所有的黑盒测试方法中,基于决策表的测试是最为严格、最具有逻辑性的测试方法;∨ 12.永远有缺陷类型会在测试的一个层次上被发现,并且能够在另一个层次上逃避检测;∨ 13.测试用例的数目越多,测试的效果越好;x 14.只要能够达到100%的逻辑覆盖率,就可以保证程序的正确性;x 15.单元测试属于动态测试;∨ 16.验收测试是以最终用户为主的测试;∨ 17.没有发现错误的测试是没有价值的;∨ 18.可以把不合格的开发人员安排做测试;x 19.每一个软件项目都有一个最优的测试量;∨ 20.黑盒测试往往会造成测试用例之间可能存在严重的冗余和未测试的功能漏洞;∨ 三、简答题:共4小题,每题5分,满分20分; 1、简单描述一下软件测试工程师一般会承担的一些具体工作; 1:检视代码,评审开发文档静态测试方法 2:进行测试设计,写作测试文档测试计划,测试方案,测试用例等 3:执行测试,发现软件缺陷,提交缺陷报告,并确认缺陷最终得到了修正; 4:通过测试度量软件的质量; 2、黑盒测试与白盒测试各有哪些优缺点 黑盒测试与软件如何实现无关,测试用例开发可以实现并行进行,因此可以压缩总的项目开发时间, 缺点:测试用例可以之间可能存在严重的冗余;还会有未测试的软件漏洞;白盒测试局限于已经完

软件工程-期末考试复习总结知识点+必考题型

软件工程复习资料 1.软件危机产生的原因 (1) 软件不同于硬件,它是计算机系统的逻辑部件而不是物理部件。在 写出程序代码并在计算机上试运行之前软件开发过程的进展情况较难衡量。 很难检验开发的正确性且软件开发的质量也较难评价。因此控制软件开发过程相当困难。此外在软件运行过程中发现错误很可能是遇到了一个在开发期间引入的但在测试阶段没有能够检测出来的错误,所以软件维护常常意味着修改原来的设计。这样维护的费用十分惊人,客观上使得软件较难维护。 (2) 软件开发的过程是多人分工合作分阶段完成的过程,参与人员之间 的沟通和配合十分重要。但是,相当多的软件开发人员对软件的开发和维护存在不少错误的观念。在实践的过程中没有采用工程化的方法,或多或少采用了一些错误的方法和技术。这是造成软件危机的主要原因。 (3) 开发和管理人员只重视开发而轻视问题的定义,使软件产品无法满 足用户的要求。对用户的要求没有完整准确的认识就急于编写程序。这是许多软件开发失败的另一主要原因。事实上,许多用户在开始时并不能准确具体地叙述他们的需要。软件人员需要做大量深入细致的调查研究工作,反复多次与用户交流信息,才能真正全面、准确、具体地了解用户的要求。 (4) 软件管理技术不能满足现代软件开发的需要,没有统一的软件质量 管理规范。首先是文档缺乏一致性和完整性,从而失去管理的依据。因为程序只是完整软件产品的一个组成部分。一个软件产品必须由一组的配置组成,不能只重视程序而应当特别重视软件配置。其次,由于成本估计不准确,资金分配混乱,人员组织不合理,进度安排无序,导致软件技术无法实施。 (5) 在软件的开发和维护关系问题上存在错误的观念。软件维护工作通 常是在软件完成之后进行的,因此是极端艰巨复杂的工作,需要花费很大的代价。所以做好软件的定义工作是降低软件成本,提高软件质量的关键。如果软件人员在定义阶段没有正确、全面地理解用户要求,直到测试阶段才发现软件产品不完全符合用户的需要,这时再修改就为时已晚了。另外,在软件生存期的不同结点进行修改需要付出的代价是很不相同的。在早期引入变更涉及面较小,付出的代价较低,在开发的中期软件配置的许多成分已经完成,引入一个变更可能需要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上更复杂。因而付出的代价剧增。在软"已经完成"后再引入变更。则需要付出更高得多的代价。因此,必须把软件维护的观念引入软件开发的各个阶段,建立起软件开发与维护的正确关系。 2.软件工程的概念 软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。 2.软件工程的三要素 方法、工具和过程 3.软件工程的基本原理

软件质量与测试期末复习(概念篇)

软件质量与测试期末复习(概念篇) 软件质量保证与测试期末复习 (概念篇) 1.软件质量: (1)IEEE关于软件质量的定义。 软件质量是:1.系统、部件或者过程满足规定需求的程度。 2.系统、部件或者过程满足顾客或者用户需要或期望的程度。 (2)ANSI关于软件质量的定义。 详细包括:1.软件产品中能满足用户给定需求的所有特性的 集合。2.软件具有所期望的各种属性组合的程度。3.用户主 观得出的软件是否满足其综合期望的程度4.打算所用软件 在使用中能将满足其综合期望程度的软件合成特性。 2.软件质量保证(SQA): (1)一种有方案的,系统化的行动模式,它是为项目或者产品符合己有技术需求提供充分相信所必须的。(2)设计用来评价开収或者创造产品的过程的一组活动,与质量控制有区分。 3.软件测试: 软件测试是使用人工或自动手段来运行或测定某个系统的过程,

检测它是否满足规定的需求或者弄清预期结果与实际结果的差别。 4.软件测试的办法: (1)静态办法和动态办法(2)黑盒测试、白盒测试和灰盒测试 (3)基于软件开収阶段的测试办法 需求测试单元测试集成测试性能测试压力测试容量测试配置测 试回归测试安装测试平安性测5.软件测试的目的: (1)证实:猎取系统在可接受风险范围内可用的信念;尝试在非正常状况和条件下的功能和特性;保证一个工作产品是完整的并且可用或可被集成。 (2)检测:发觉缺陷、错误和系统不足;定义系统的能力和局限性;提供组件、工作产品和系统的质量信息。 (3)预防:澄清系统的规格和性能;提供预防或削减可能创造错误的信息;在过程中尽早检测错误;确认问题和风险,并且提前确认解决这些问题和风险的途径。 6.测试过程中应注重和遵循的原则: (1)测试不是为了证实程序的正确性,而是为了证实程序不能工作。(2)测试应该有重点。(3)事先定义好产品的质量标准。(4)软件项目一启动,软件测试也就开头,而不是等到程序写完才开头举行测试。 (5)穷举测试是不行能的。(6)第三方举行测试会更客观,更有效。(7)软件测试方案是做好软件测试工作的前提。(8)测试用例是设计出来的,不是写出来的。(9)对发觉错误较多的程序段,应举行更深化的测试。(10)重视文档,妥当保存一切测试过程文档。

软件测试和质量保证期末复习资料整理

复习提纲 第一部分软件测试概述 1.软件测试的背景 1.1 软件危机与软件质量 软件质量保证SQA,软件测试ST; 1.2 软件缺陷(分类,来源,累积和放大效应) ●常见的软件缺陷: 1.软件没有达到规格说明书表明的功能 2.软件出现了规格说明书指明不会出现的问题 3.软件没有达到规格说明书虽未指明,但应该达到的功能 4.软件功能超出规格说明书指明的X围 5.软件测试人员或者用户认为软件难以理解、不易使用、运行速度慢。 ●原因: 1.软件的需求规格说明书; 2.软件的设计; 3.代码的错误 ●累积和放大效应:前期的软件缺陷会在后期逐步扩大 1.3 软件测试的意义 为了发现软件缺陷,软件测试必不可少;开销占总成本的30%~50%; 2.软件测试的含义 2.1 什么是软件测试 是为了发现错误而执行程序的过程。 2.2 软件测试的目的 发现问题; 对质量或可接受性做出判断; 2.3 软件测试的对象 1.需求分析 2.概要设计 3.详细设计 4.编码 2.4 测试≠调试 测试→发现错误→调试;这是一个交叉循环的过程; 测试是一种检验,有一套完整的理论,不需要了解设计细节,有非程序设计者完成,且测试的设计和执行能够自动化; 2.5 软件测试的特征 ●风险性——彻底测试程序是不可能的; ●不修复原则——并非所有软件缺陷都需要修复; ●群集现象——错误的集中; ●寄生虫性——找到缺陷越多,残存的缺陷越多

3.软件测试的过程 3.1 软件测试的生命周期 需求规格说明→设计→编码→测试→缺陷分类→缺陷隔离→缺陷解决 3.2 软件测试的步骤 1. 制定测试计划 2. 设计测试用例和测试过程 3. 运行测试用例(核心) 4. 评估测试结果 3.3 测试用例=输入+预期输出 3.4 通过维恩图理解测试用例——相交的地方尽可能大 3.5 测试用例的设计 –3.5.1 功能性测试(黑盒测试) ●依据于软件的规格说明; ●与软件的具体实现无关; ●优:并行进行,测试用例与实现的改变无关; ●缺:用例冗余度大;会有漏洞,不能发现多余缺陷; –3.5.2 结构性测试(白盒测试) ●依据于程序实现; ●利用程序内部的逻辑结构; ●优:具有覆盖率指标; ●缺:不能发现遗漏缺陷; 4.错误与缺陷分类 ●以出现相应错误的开发阶段来划分; ●以相应失效产生的后果来划分; ●以解决难度来划分; ●以不解决会产生的风险来划分 5.软件测试的级别 1.单元测试——详细设计信息,白盒测试为主; 2.集成测试——概要设计信息,模块的组合测试; 3.系统测试——软件需求; 4.确认测试——依照需求规格说明书; 5.验收测试——用户参与,黑盒测试; 6.软件测试的分类 ●静态测试——不运行被测试程序; ●动态测试——运行被测试的程序; ●自动测试——利用自动化测试工具; ●人工测试——人工走查和代码审查;

相关文档
最新文档