第一篇:软件测试期末复习
一、单项选择题:共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就是指程序运行时出现的故障。错 8.在n个变量的程序中,用边界值分析法设计测试用例,测试用例的个数为4n+1。对 9.缺陷状态为“已解决”表示该缺陷已经被测试人员回归测试完毕,准备归档移除。错 10.处于“已解决”状态的缺陷,下一步状态只能是“重新提交”或者“已关闭”。对 1.在进行负载测试的同时进行安全性测试是不合情理的。错 2.在性能测试中,如果发现SQLServer资源监控中的一个指标缓存点击率偏高,这说明系统运行效率较高。对 3.在程序有修改的情况下保证原有功能正常的一种测试方法是回归测试。对 4.所有测试的标准都是建立在用户需求之上。对 5.黑盒测试用例在软件编码完成后才可以设计。错 6.软件测试技术要求不高,至少比编程容易多了。错 7.设计-实现-测试,软件测试是开发后期的一个阶段。错 8.在n个变量的程序中,采用健壮性边界值分析法设计测试用例,测试用例的个数为6n+1。对 9.缺陷状态为“打开”表示该缺陷已被开发人员看到。对 10.缺陷状态为“已拒绝”表示该缺陷开发人员拒绝修改。对 1.系统测试的目标是要找出软件在与系统其他部分协调工作时出现的所有故障。错 2.压力测试是通过逐步增加系统负载来测试系统性能的变化,并最终确定在什么负载条件下系统性能处于失效状态,以此来获得系统性能提供的最大服务级别的测试。对 3.安全性测试最终证明应用程序是安全的。错 4.软件开发是一个渐进的过程,测试计划需要根据需求变更及时调整。对 5.项目立项前测试人员不需要提交任何工件。对 6.软件测试随便找一个能力差的人就能做。错 7.永远也不可能完成软件测试,这个重担将从开发方转移到客户/用户的身上,用户的每一次使用就是一次测试。对 8.当被测软件仍存在严重影响系统功能实现的缺陷,但存在合理的更正办法时,该软件可以发布。错 9.缺陷状态为“打开”表示该缺陷刚提交,开发人员还未看到该缺陷。错 10.处于“已拒绝”状态的缺陷,下一步状态只能是“重新提交”或者“已关闭”。对 1.性能测试的重点在于前期数据的设计与后期数据的分析。对 2.通常使用平均无故障时间MTBF来衡量系统的可靠性。对 3.先对每个模块分别测试,然后统一组装成软件系统的方法称为渐增式测试。错 4.测试计划是做好测试工作的前提。对 5.如果发布出去的软件有质量问题,那是软件测试人员的错。错 6.有时间就多测试一些,来不及就少测试一些。错 7.当用于软件测试的时间或资金不够用时,就完成了软件测试。错 8.当被测软件仍存在严重影响系统功能实现的缺陷,但不存在合理的更正办法时,该软件可以发布。错 9.缺陷状态为“已解决”表示该缺陷已经被开发人员修改好,但是测试人员还未进行回归测试。对 10.处于“打开”状态的缺陷,下一步状态只能是“已解决”或者“已拒绝”。对 软件测试的定义: 软件测试是为了发现错误而执行程序的过程”,明确提出了“寻找错误”是测试的目的。 使用人工或自动手段运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清楚预期结果与实际结果之间的差别”。软件测试是一种重要的软件质量保证活动,包括“分析”软件和“运行”软件,是软件质量保证的关键步骤。测试用例: 测试用例是为特定的目的而设计的一组测试输入、执行条件和预期的结果;测试用例是执行测试的最小实体。为什么要设计测试用例: 1.在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试效率。2.测试用例的使用令软件测试的实施重点突出、目的明确。3.在软件版本更新后只需修正少部分的测试用例便可展开测试工作,降低工作强度、缩短项目周期。4.功能模块的通用化和复用化使软件易于开发,而相对于功能模块的测试用例的通用化和复用化则会使软件测试易于开展,并随着测试用例的不断精化其效率也不断攀升 软件测试的对象: 需求规格说明 概要设计规格说明 详细设计规格说明 源程序 软件测试的目的(1)测试是程序的执行过程,目的在于发现错误;不能证明程序的正确性,除非仅处理有限种情况。2)检查系统是否满足需求也是测试的期望目标。(3)一个好的测试用例在于能发现还未曾发现的错误;一次成功的测试则是发现了至今未发现的错误的测试。 软件测试模型: V模型、W模型、H模型、X模型 软件缺陷的定义:最终产品同用户的期望不一致。功能错误 功能遗漏 超出需求的部分 性能不符合要求 软件测试人员认为软件难以理解、不易使用,或者最终用户认为该软件使用效果不良。 软件缺陷产生的原因:软件产品说明书(需求)56% 编写代码7% 设计27% 其他10% 缺陷的管理:缺陷严重程度;严重、较大、较小、轻微 缺陷优先级;立即、排队、不紧急缺陷状态;提交、打开、拒绝、解决、关闭 黑盒测试法的概念 黑盒测试被称为功能测试或数据驱动测试。在测试时,把被测程序视为一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下进行。 黑盒测试主要根据规格说明书设计测试用例,并不涉及程序内部构造和内部特性,只依靠被测程序输入和输出之间的关系或程序的功能设计测试用例,检查程序功能是否按照规格说明书的规定正常使用。 如何划分等价类: 1)如果输入条件规定了取值范围或值的个数就可确定一个有效等价类和两个无效等价类 (2)输入条件规定了输入值的集合,或是规定了“必须如何”的条件,则可确定一个有效等价类和一个无效等价类 (3)如果输入条件是一个布尔量,则可以确立一个有效等价类和一个无效等价类。 (4)如果规定了输入数据的一组值, 且程序要对每一个输入值分别进行处理, 要对每一个规定的输入值确立一个有效等价类,而对于这组值之外的所有值确立一个无效等价类。 (5)如果规定了输入数据必须遵循的规则,可确定一个有效等价类和若干个无效等价类(从不同角度违反规则)。 (6)如已划分的等价类各元素在程序中的处理方式不同,则应将此等价类进一步划分成更小的等价类。 用等价类设计测试用例步骤 (1)划分等价类,形成等价类表(2)设计一新的测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类,重复这一步骤,直到所有的有效等价类都被覆盖为止;(3)设计一新测试用例,使其只覆盖一个无效等价类,重复这一步骤直到所有无效等价类均被覆盖; 等价类测试的分类: 单缺陷与多缺陷假设产生弱等价类与强等价类测试之分;是否进行无效数据的处理产生健壮与一般等价类测试之分; 等价类测试的分类:弱一般等价类测试 强一般等价类测试 弱健壮等价类测试 强健壮等价类测试 边界值分析法:对输入或输出的边界值进行测试的一种黑盒测试方法。 边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。 边界值测试方案分两种方案:五点法: min、min+、nom、max-和max七点法: min-、min、min+、nom、max-和max、max+ 选择测试用例的原则 (1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界值以及刚刚超过这个范围边界的值作为测试输入数据。 (2)如果输入条件规定了值的个数,则用最大个数、最小个数和比最大个数多1个、比最小个数少1个的数作为测试数据。 (3)根据程序规格说明的每个输出条件,使用原则(1)。 (4)根据程序规格说明的每个输出条件,使用原则(2)。 (5)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合中的第一个和 最后一个元素作为测试用例。 (6)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。 (7)分析程序规格说明,找出其它可能的边界条件。 判定表,叫决策表,分析和表达多逻辑条件下执行不同操作的工具。 条件桩:出问题的所有条件;动作桩:可能采取的操作 条件项:列出条件桩的取值;动作项:列出条件项各种取值下应该采取的动作;规则:在判定表中贯穿条件项和动作项的一列就是一条规则; 判定表建立步骤①列出所有的条件桩和动作桩;②确定规则的个数;③填入条件项;④填入动作项,得到初始决策表;⑤简化,合并相似规则(相同动作)。 因果图法:是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。因果图基本符号(ppt34) 程序插桩技术:软件动态测试中,程序插桩是一种基本的测试手段;借助于往被测程序中插入操作来实现测试目的方法,最简单的插桩:在程序中插入打印语句printf(“…”)语句 基本路径测试 通过分析程序控制流图的环路的复杂性,导出基本路径集合,从而设计测试用例,保证这些路径至少通过一次。独立路径:至少沿一条新的边移动的路径 单元测试:又称模块测试,是针对软件设计的最小单位——程序模块,进行正确性检验的测试工作,是代码级的测试。基本单元本身不是一个独立的程序,自己不能运行,要靠其它部分来调用和驱动。 驱动模块:被测基本单元的主程序,它接收测试数据,并把数据传送给被测单元,最后输出实测结果。 桩模块──存根模块,用来代替被测基本单元调用的其他基本单元。 单元测试的内容:主要对模块的五个基本特性进行评价(模块接口 局部数据结构 边界条件 重要的执行路径 错误处理)单元测试策略: 自顶向下的单元测试 自底向上的单元测试 孤立单元测试 集成测试:叫组装测试或联合测试,集成测试遵循特定的策略和步骤将已经通过单元测试的各个软件单元(或模块)按照设计要求逐步集成为系统或子系统,并进行测试,以期望通过测试发现各软件单元接口之间存在的问题,验证程序和概要设计说明的一致性 集成测试对象:理论上凡是两个单元(如函数单元)的组合测试都可以叫做集成测试。实际操作中,通常集成测试的对象为模块级的集成和子系统间的集成,其中子系统集成测试称为组件测试。 集成测试内容: 集成功能测试 接口测试 全局数据结构测试 资源测试 任务优先级冲突测试 性能和稳定性测试 集成测试方法: 基于功能分解的集成 非渐增式集成 渐增式集成;基于调用图的集成有两种:成对集成 相邻集成 其他集成 客户/服务器集成: 分层集成 高频集成增量式集成测试两种方法的比较 自顶向下增量式测试的主要优点在于它可以自然地做到逐步求精,一开始便能让测试者看到系统的框架。它的主要缺点是需要提供被调用模拟子模块,被调用模拟子模块可能不能反映真实情况,因此测试有可能不充分。 自底向上测试的优点在于,由于驱动模块模拟了所有调用参数,即使数据流并未构成有向的非环状图,生成测试数据也没有困难。它的缺点在于,直到最后一个模块被加入进去之后才能看到整个程序(系统)的框架。 系统测试:是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其它系统元素结合在一起,在实际运行环境下,为了发现缺陷并度量产品质量,按照系统的功能和性能需求进行的一系列组装测试和确认测试。 系统测试的依据: 开发人员提供的“需求规格说明书”,凡是和规格书不一致的地方都可以认为是问题。当然也不排除规格书有误的地方,这些也需要提出来要求开发人员改正,以保证资料的正确性和权威性。 系统测试类型 web系统测试:功能测试、性能测试、安全性测试、兼容性测试、易用性测试、配置测试; 通讯类系统:功能测试、可靠性测试、鉴权测试、产品许可测试、多终端测试; 单机版系统:功能测试、安装测试、容量测试、界面测试、恢复测试; 自动化测试: 通过测试工具或其他手段来部分替代手工测试,并按照测试工程师预定计划进行自动测试的活动,它是软件测试的一个重要组成部分,能够完成许多手工无法完成或者难以实现的一些测试工作。 正确、合理地实施自动化测试,能够快速、全面地对软件进行测试,从而提高软件质量,节省经费、缩短产品发布周期。自动化测试的基本原理: 录制 脚本编辑 回放 运行脚本 分析结果 自动化测试的优点: 1、对程序的回归测试更方便。 2、可以运行更多更繁琐的测试 3、可以执行一些手工测试困难或不可能进行的测试。 4、更好地利用资源,将繁琐的任务自动化,将测试技术人员解脱出来投入更多精力设计更好的测试用例。 5、测试具有一致性和可重复性 6、测试具有复用性,自动化测试的脚本技术可在不同的测试过程重用。 7、增加软件信任度。自动化测试的缺点: 1、不能取代手工测试; 2、手工测试比自动测试发现的缺陷更多; 3、对测试质量的依赖性极大; 4、测试自动化不能提高有效性; 5、测试自动化可能会制约软件开发。由于自动测试比手动测试更脆弱,所以维护会受到限制,从而制约软件的开发。 6、工具本身并无想像力。 测试工具分类: 白盒测试工具: JUnit 黑盒测试工具:QuickTest 性能测试工具: LoadRunner 用于测试管理: TestDirector第五篇:软件测试复习