当前位置:文档之家› 2011—2012年软件测试与用例设计期末考试题A卷

2011—2012年软件测试与用例设计期末考试题A卷

2011—2012年软件测试与用例设计期末考试题A卷
2011—2012年软件测试与用例设计期末考试题A卷

2011——2012年软件测试与用例设计期末考试A卷

说明:本试卷共六大题,试卷满分100分,考试时间120分钟,考试为开卷考试。

bd

一、单项选择题;共20小题,每小题1 分,满分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.动态黑盒子测试:( d )

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

(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分;请将答案填入指定的空白处。

1.软件缺陷产生的原因包括___________________、设计、___________________以及其他原因。

2.软件开发模式包括___________________、边写边改模式、___________________、螺旋模式。

3.黑盒测试用例设计方法包括___________________、___________________以及因果图法,错误推测法等。

4.测试过程中,___________________用于描述测试的整体方案,__________________描述依据测试案例找出的问题。

5.传统的等价类划分测试的实现分两步进行,一是_______________________,二是_________________________________。

6.在兼容性测试中,_________________________是指可以使用软件的以前版本,______________________是指可以使用软件的未来版本。

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

8.不需要修复软件缺陷的原因包括________________、不能算真正的软件缺陷、________________、不值得修复。

9.白盒测试又称为________________,黑盒测试又称为________________。

10.动态测试的两个基本要素是________________、________________。

一、判断题(10×1=10分)

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

1.白盒测试的条件覆盖标准强于判定覆盖。 n ()

2.验收测试是以最终用户为主的测试。 y ()

3.测试程序仅仅按预期方式运行就行了。 n ()

4.自底向上集成需要测试员编写驱动程序。 y ()

5.好的测试员不懈追求完美。 n ()

6.软件测试工具可以代替软件测试员。 n ()

7.最重要的用户界面要素是软件符合现行标准和规范。 y()

8.自动化测试可能延误项目进度。 y ()

9.软件测试员可以对产品说明书进行白盒测试。 y ()

10.静态白盒测试可以找出遗漏之处和问题。 y ()

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

1.软件缺陷

2. 单元测试

3.白盒测试

4.回归测试

5.等价类

五、简答题:共3小题,每小题5分,满分15分。

1.什么是测试用例?为什么要设计测试用例?

2.简述增量式集成测试的自顶向下和自底向上两种测试方法。3.分析单元测试和代码调试的区别。

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

1.按要求给出下列程序的测试用例(要求写出必要的说明):

(1)语句覆盖

(2)判定覆盖

(3)条件覆盖

(4)判定-条件覆盖

(5)条件组合覆盖

软件测试基础(B卷)答案及评分标准二、单选题(20×1=20分)

三、填空题(20×1=20分)

1.编写说明书; 编写代码

2.大棒模式; 流水模式

3.等价类划分; 边界值分析法

4.测试计划; 缺陷报告

5.划分等价类表; 设计相应的测试用例

6.向前兼容; 向后兼容

7.动态黑盒测试; 静态白盒测试

8.没有时间; 风险太大

9.结构测试或逻辑驱动测试;

功能测试或数据驱动测试或基于规格说明书的测试

10.被测试程序; 测试数据(测试用例)

四、判断题(10×1=10分)

五、名词解释(5×3=15分)

1.软件缺陷:(符合下列规则的叫软件缺陷):

1).软件未达到产品说明书的功能

2).软件出现了产品说明书指明不会出现的错误

3).软件功能超出产品说明书指明范围

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

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

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

3.白盒测试

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

4.回归测试

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

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

六、简答题(3×5=15分)

1.所谓的测试用例就是将软件测试的行为活动,做一个科学化的组织归纳。

使用测试用例的好处主要体现在以下几个方面:

?在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试效率。

?测试用例的使用令软件测试的实施重点突出、目的明确。

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

?功能模块的通用化和复用化使软件易于开发,而相对于功能模块的测试用例的通用化和复用化则会使软件测试易于开展,并随着测试用例的不断精化其效率也不断攀升

2. 自顶向下增量式测试的主要优点在于它可以自然地做到逐步求精,一开始便能让测试者看到系统的框架。它的主要缺点是需要提供被调用模拟子模块,被调用模拟子模块可能不能反映真实情况,因此测试有可能不充分。

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

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

七、综合题(1×20=20分)

图中共有4条路径:P1(ace)、P2(abd)、P3(abe)、P4(acd)。

1.P1正好满足语句覆盖的条件。可以设计如下的输入数据:

A=2,B=0,x=4

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

A=2,B=0,x=4

A=1,B=1,x=1

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

A=2,B=0,x=4

A=1,B=1,x=1

4.判定/条件覆盖

A=2,B=0,x=4

A=1,B=1,x=1

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)

一、判断题(每小题1分,共10分)。请在正确的题号前画

“√”,错误的题号前画错“×”。

(√)1. Beta测试是验收测试的一种。

(×)2. 软件测试是通过运行程序来查看错误。

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

(×)4.没有安装操作系统的裸机中有软件。

(×)5.集成测试计划在需求分析阶段末提交。

(×)6.软件测试是程序测试。

(×)7.边界测试中所选择的输入测试数据一定是有效数据。

(√)8.软件测试只能发现错误,但不能保证测试后的软件没有错误。

(×)9. 4.测试只要做到语句覆盖和分支覆盖,就可以发现程序中的所有错误。

(×)10.良好的单元测试可以代替集成测试。

二、多项选择题(每小题2分,共20分)。

1.(等价类)方法根据输出对输入的依赖关系设计测试用例。

A)路径测试 B)等价类

C)因果图 D)边界值

2.典型的软件测试过程模型有( XWHV模型)等。

A)V模型、W模型、H模型、迭代模型 B)V模型、W模型、H模型、螺旋模型C)X模型、W模型、H模型、V模型 D)X模型、W模型、H模型、增量模型3.对于软件测试分类,下列各项都是按照不同阶段来进行的划分,除了(黑盒测试)。 A)单元测试 B)集成测试

C)黑盒测试 D)系统测试

4.程序的三种基本控制结构是(顺序,条件,循环)

A)过程、子程序、分程序 B)顺序、条件、循环

C)递归、堆栈、队列 D)调用、返回、转移

5.软件测试类型按开发阶段划分是(单元测试,集成测试,确认测试,系统测试,验收测试)

A)需求测试、单元测试、集成测试、验证测试

B)单元测试、集成测试、确认测试、系统测试、验收测试

C)单元测试、集成测试、验证测试、验收测试

D)调试、单元测试、集成测试、用户测试

6.选出属于黑盒测试方法的选项(测试用例覆盖,输入,输出覆盖)

A)测试用例覆盖 B)输入覆盖

C)输出覆盖 D)分支覆盖

E)语句覆盖 F)条件覆盖

7.使用软件测试工具的目的:(帮助测试寻找问题。协助问题的诊断、节省测试时间) A)帮助测试寻找问题 B)协助问题的诊断

C)节省测试时间 D)提高Bug的发现率

E )更好的控制缺陷提高软件质量

F )更好的协助开发人员

8.用户在真实的工作环境中使用软件,用于测试系统的用户友好性等,这种测试是(Beta 测试 )。

A )集成测试

B )系统测试

C )Alpha 测试

D )Beta 测试 9.黑盒测试用例设计技术包括( A )等。

A )等价类划分法、因果图法、边界值分析法、错误推测法、决策表法

B )等价类划分法、因果图法、路径覆盖法、正交试验法、符号法

C )等价类划分法、因果图法、边界值分析法、功能图法、基本路径法

D )等价类划分法、因果图法、边界值分析法、条件组合覆盖法、场景法

10.关于白盒测试与黑盒测试的最主要区别,正确的是(白盒测试侧重于程序结构,黑盒测试侧重与功能 ) 。

A )白盒测试侧重于程序结构,黑盒测试侧重于功能

B )白盒测试可以使用测试工具,黑盒测试不能使用工具

C )白盒测试需要程序员参与,黑盒测试不需要

D )黑盒测试比白盒测试应用更广泛

三、填空题(每空1分,共20分)

1.黑盒测试方法主要包括 边界值测试 、 等价类测试 、 因果图、 决策表 、 场景法 和 等测试;

2.白盒测试方法主要包括 逻辑覆盖、 基路径 、 数据流 、 静态白盒 等测试;

3.按开发阶段划分软件测试类包括 单元测试 、 集成测试 、 系统测试 、 确认测试和验收测试 ;

4.典型的软件测试过程模型有X 模型 、W 模型 、H 模型 、 V 模型 等。

5.软件= 数据 + 程序 +文档+服务。

四、简答题(每小题5分,共50分)

1.什么是测试用例(P17)

答:(1)测试用例(Test Case TC )是简单来说是执行条件和预期结果的集合。完整来讲是指针对要测试的内容所确定的一组输入信息,是为达到最佳的测试效果或高效地揭露隐藏的错误而精心设计的少量测试数据。(4分)

(2):测试用例= 输入+输出+测试环境(1分)

2.等价类测试

答:(1):等价类测试通过划分有效等价类和无效等价类,将问题域划分,并选择每类的代表数据,从而降低测试工作量,其目的是要达到测试的完备无冗余(3分)

(2):通常基于输入域划分等价类,设计测试用例时主要有两种形式的测试方法:弱组合形式和强组合形式(2分)

3.基路径测试

答:(1):基路径测试是一种白盒测试方法,主要关注条件判定与循环所带来的程序路径爆炸问题,该方法以环复杂度分析为基础,通过寻找一组独立集合来表达其他路径,但要注意剔除不可行路径,补充其他重要路径(3分),其目的是要达到测试的完备无冗余(2分)

4.静态白盒测试

答:静态白盒测试就是不需要设计和执行测试用例,它主要是通过小组评审讨论的方式进行(4分),其优点是定位缺陷,预防缺陷(1分)

5.压力测试

答:压力测试是指持续不断的给被测系统增加压力,直到被测系统被压垮,从而确定系统所能承受的最大压力(5分)

6.集成测试策略

答:(1)集成测试策略分为成对集成,邻居集成,大爆炸集成,自顶向下集成,自顶向上集成,三明治集成,基于功能分解的集成,基于风险的集成。

(1)成对集成:将每个集成测试用例限定在一对调用单元上(2)邻居集成:将每个集成测试用例限定在某个节点的邻居上(3)大爆炸集成:(Big Bang)将所有经过单元测试的模块一次性组装到被测系统中进行测试,完全不考虑模块之间的依赖性和可能的风险(4)自顶向下集成(Top Down):从主控模块(主程序,即根点)开始;按照系统程序结构,沿着控制层从上而下,逐渐将各个模块组装起来(5)自顶向上集成(Down Up) :从最底层模块(即叶子节点)开始,按照调用图的结构,从下而上,逐层将各各个模块组装起来(6)三明治集成

(Sandwich):将系统划分为三层,中间层为目标层,测试时对目标层使用自顶向下的集成策略,,对目标层下面的层使用自顶向上的集成策略(7)基于功能分解的集成(Function Based):从功能的角度出发,对功能树分解展开集成测试(8)基于风险的测试(Risk Based):系统风险最高的模块之间的集成往往是缺陷非常集中的部分,应尽早验证这些接口,从而加速系统的稳定(答对一个得1分,总分不超过5分)

几种集成测试的比较

7.对待缺陷应遵循的原则

答:(1)缺陷的群集现象,(80%的软件缺陷集中在20%的模块)(2分)(2)缺陷有免疫力(软件测试越多,缺陷的免疫力越强)(2分)(3)缺陷的关联和依赖(某个缺陷因其他缺陷而出现或消失,关闭某个缺陷必须先关闭其父类缺陷(1分))

8.简述软件测试过程模型

答:软件测试过程模型包括V模型,W模型,H模型,X模型。。是软件测试专家通过实践活动总结出的很好的测试过程模型,能大大提高测试质量,提高测试结果的准确性和有效性(5分)

9.测试用例的评价标准

答:软件测试的评价标准有:有效性,经济性,可仿效性,独立性,可跟踪性。

10.什么是软件

(1)软件是能能够完成预定功能和性能的,可执行的指令(计算机程序)

(2)软件是使得程序能够适当操作信息的数据结构

(3)软件是描述程序的操作和使用的文档

(4):软件是计算机中与硬件相结合的部分,包括程序和文档

(5)软件=程序+数据+文档+服务。

一、单项选择题:共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、语句覆盖

10、(a )是设计足够多的测试用例,使得程序中每个判定包含的每个条件的所有情况(真/假)至少出

现一次,并且每个判定本身的判定结果(真/假)也至少出现一次。

A、判定-条件覆盖

B、组合覆盖

C、判定覆盖

D、条件覆盖

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

B.单元测试

C.结构测试

D.验收测试

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

A.出错处理B.全局数据结构

C.独立路径D.模块接口

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

A.12 B.48

C.27 D.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.父单元用测试过的子单元测试

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、结构性测试是根据软件的规格说明来设计测试用例。(x )

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

4、软件缺陷属性包括缺陷标识、缺陷类型、缺陷严重程度、缺陷产生可能性、缺陷优先级、缺陷状态、缺陷起源、缺陷来源、缺陷原因。(∨)

5、对于一个含有n个变量的程序,采用边界值健壮性测试方法来测试程序会产生6n+1个测试用例。(∨)

6、数据流测试是主要用作路径测试的真实性检查。两种形式分别为定义/使用测试、基于程序片的测试。(∨)

7、软件只要经过严格严谨的内部测试之后,可以做到没有缺陷。(x )

8、测试用例应由测试输入数据和对应的实际输出结果这两部分组成。(x )

9、测试是可以穷尽的。(x )

10、测试自动化是万能的。(x )

11、软件缺陷可能会被修复,可能会被保留或者标识出来。(∨)

12、每一个软件项目都有一个最优的测试量。(∨)

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

14、代码审查工作属于静态测试。(∨)

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

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

17、集成测试是为确定软件系统是否满足验收标准以及使客户决定是否接受而进行的正式测试. (x )

18、测试按照测试层次可以划分成为单元测试、集成测试和系统测试。(∨)

19、只要能够达到100%的逻辑覆盖率,就可以保证程序的正确性。( x )

20、永远有缺陷类型会在测试的一个层次上被发现,并且能够在另一个层次上逃避检测。(∨)

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

1、优秀的软件测试工程师应具备哪些素质?

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

2、有二元函数f(x,y),其中x∈[1,12],y∈[1,31];请写出该函数采用基本边界值分析法设计的测试用例。答:{ <1,15>, <2,15>, <11,15>, <12,15>, <6,15>,

<6,1>, <6,2>, <6,30>, <6,31> }

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

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

4、有一段程序如下,请设计测试用例以满足语句覆盖要求。

void DoWork (int x,int y,int z)

{

int k=0,j=0;

if ( (x>3)&&(z<10) )

{ k=x*y-1;

j=sqrt(k);

} //语句块1

if ( (x==4)||(y>5) )

{ j=x*y+10; } //语句块2

j=j%3; //语句块3

}

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

四、综合题:共2小题,每题10分,满分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: }

2、场景要求:”……对功率大于50马力的机器、维修记录不全或已运行10年以上的机器,应给予优先

的维修处理……”。这里假定,“维修记录不全”和“优先维修处理”均已在别处有更严格的定义。请建立决策表。

(1)确定规则的个数。

(2)列出所有的条件桩和动作桩。

(3)填入条件项。

(4)填入动作项,得到初始决策表。

(5)简化决策表,合并相似规则。

单项选择题:共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 )

(A)测试不能证明软件的正确性;

(B)测试员需要良好的沟通技巧;

(C)QA与testing属于一个层次的概念;

(D)成功的测试是发现了错误的测试。

14.对Web网站进行的测试中,属于功能测试的是( B )

(A)连接速度测试(B)链接测试

(C)平台测试(D)安全性测试

15.在进行单元测试时,常用的方法是( B )

(A)采用黑盒测试,辅之以白盒测试;

(B)采用白盒测试,辅之以黑盒测试;

(C)只使用黑盒测试;

(D)只使用白盒测试。

16.使用白盒测试方法时,确定测试数据的依据是指定的覆盖标准和( B )

(A)程序的注释

(B)程序的内部逻辑

(C)用户使用说明书

(D)程序的需求说明

17.下列___不是软件自动化测试的优点( D )

(A)速度快、效率高 (B)准确度和精确度高

(C)能提高测试的质量 (D)能充分测试软件

18. 配置测试( C )

(A) 是指检查软件之间是否正确交互和共享信息 (B) 是交互适应性、实用性和有效性的集中体现

(C) 是指使用各种硬件来测试软件操作的过程 (D) 检查缺陷是否有效改正

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

(A)测试资源、进度安排 (B)测试预期输出

(C)测试范围 (D)测试策略

20.下列不属于正式审查的方式是( 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.白盒测试又称为_结构测试或逻辑结构测试_,黑盒测试又称为___功能测试或给予规格说明书的测试_。

10.动态测试的两个基本要素是___被测试程序___、_____测试数据___。

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

1.软件缺陷

2.β测试

3.测试的配置管理

4.测试用例

5.黑盒测试

五、简答题:共3小题,每小题5分,满分15分。

1.如何划分等价类?

2.软件验收测试应完成哪些主要测试工作?

3. 简述软件开发-软件测试的对用关系。

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

1.某城市的电话号码由三部分组成。这三部分的名称和内容分别是

地区码:空白或三位数字;

前缀:非’0’或’1’开头的三位数;

后缀:四位数字。

假定被调试的程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的号码,试用等价分类法来设计它的调试用例。

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

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

软件测试用例设计方法---决策表

决策表,也叫判定表。在所有的功能性测试方法中,基于决策表的测试方法被认为是最严格的,因为决策表具有逻辑严格性。 在一些数据处理问题当中,某些操作的实施以来与多个逻辑条件的组合,既针对不同逻辑条件的组合之,分别执行不同的操作;决策表就是分析和表达多逻辑条件下执行不同操作情况的工具。 1 决策表通常由以下4部分组成: 条件桩(condition stub):列出了问题的所有条件。通常认为列出的条件的次序无关紧要。 动作桩(action stub):列出了问题规定可能采取的操作。这些操作的排列顺序没有约束。 条件项(condition entry):列出针对它所列条件的取值,在所有可能情况下的真假值。作项(action entry):列出在条件项的各种取值情况下应该采取的动作。 2 决策表的生成: (1)确定规则的个数 ?有n个条件的决策表有2n个规则(每个条件取真、假值)。(2)列出所有的条件桩和动作桩 (3)填入条件项 (4)填入动作项,得到初始决策表 (5)简化决策表,合并相似规则

?若表中有两条以上规则具有相同的动作,并且在条件项之间存在极为相似的关系,便可以合并。 ?合并后的条件项用符号“-”表示,说明执行的动作与该条件的取值无关,称为“无关条件”。 举个例子↓↓

3 决策表的优缺点: 决策表最突出的优点是,能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。 ? 利用决策表能够设计出完整的测试用例集合。 ? 运用决策表设计测试用例可以将条件理解为输入,将动作理解为输出 4 何种情况下使用? ? 规格说明以决策表形式给出,或较容易转换为决策表;

软件测试期末考试试题及答案

一,判断 1 √ 2.× 3.√ 4.× 5. × 6. ×7. ×8. ×9.√10. ×二,选择 1. D 2. D 3. B 4. B 5. B 6. A 7. D 8. B 9. C 10. A 三填空 1. 测试计划、测试用例 2. 稳定性测试、负载测试、压力测试 3. 非增量是集成测试自顶向下增量式测试、自底向上增量式测试 4. 回归 5. 软件需求 四简答题(30分) 1.试描述软件测试的定义(3分) 答:利用手工或者自动化的方式,按照测试方案对系统执行测试用例的过程叫做软件测试。 2.什么是软件缺陷(4分) 答:满足以下条件的问题都叫缺陷: 软件未达到产品说明书中已标明的功能 软件出现了产品说明书中指明不会出现的错误 软件功能超出了产品说明书指明的范围 软件未达到产品说明书虽未指出但应达到的目标 软件测试员认为软件难以理解,不易使用,运行速度缓慢,或者最终用户认为该软件使用效果不好。 3.常见的黑盒测试用例的设计方法并分别简单介绍一下各自的思想。(8分)答:等价类划分:等价类划分法是一种重要的、常用的黑盒测试方法,它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。 边界值分析:对输入输出的边界值进行测试的一种黑盒测试方法。 决策表法:决策表是分析和表达多逻辑条件下执行不同操作的情况的工具 因果图分析法:是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。 错误推测法:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对

性的设计测试用例的方法。 4. 列举常见的系统测试方法。答出来5个即可。(5分) 答:恢复测试 安全测试 强度测试 性能测试 正确性测试 可靠性测试 兼容性测试 Web测试 5.文档测试主要测试哪些内容答出来5点即可(5分) 答:(1)检查产品说明书属性 (2)检查是否完整 (3)检查是否准确 (4)检查是否精确 (5)检查是否一致 (6)检查是否贴切 (7)检查是否合理 (8)检查代码无关 (9)检查可测试性 6. 单元测试主要测试那几方面的问题(5分) 答:模块接口、局部数据结构、边界条件、独立的路径和错误处理。五,设计题 1.

系统测试用例设计方法

系统测试用例设计方法 --------------王永安

目录 一、测试用例格式以及写作要点 (3) 二、系统测试用例设计方法 (4) 1、等价类划分法 (5) 2、边界值分析法 (6) 3、判定表法 (7) 4、因果图法 (9) 5、状态迁移图法 (15) 6、流程分析法 (20) 7、正交试验法 (35) 8、错误推测法 (42)

一、测试用例格式以及写作要点 测试用例编号 测试用例编号是由字母和数字组合而成的,用例的编号应该具有唯一性,易识别性。比如可以采用统一的约定,产品编号—ST—系统测试项名—系统测试子项名—编号。这样看到编号就可以知道是做的什么测试,测试的对象是什么。也方便维护。 测试项目 你现在这个测试用例所测的项目名,可以是测试用例所属的大类,被测需求,被测的模块,或者是被测的单元。例如:计算器加法功能。 测试标题 测试标题是对测试用例的简单描述。用概括的语言描述该测试用例的测试点。每个测试用例的标题不能够重复,因为每个测试用例的测试点是不一样的。例如:手机在没有SIM 卡的情况下,拨打119。 重要级别 重要级别分为高中底三等: 高:保证系统基本功能、重要特性、实际使用频率比较高的用例; 中:重要程度介于高和底之间的测试用例; 底:实际使用频率不高、对系统业务功能影响不大的模块或功能的测试用例。 注:一般情况下,重要级别为高的测试用例,一个测试子项里有且尽有一个,大多数都是重要级别为中的测试用例。因为一般我们会进行一个系统测试预测试,如果重要级别为高的太多,则就失去了预测试的实际意义。 预置条件 就是执行当前测试用例的前提条件,如果不满足这些条件,则无法进行测试。 输入 测试用例执行时,需要输入的外部信息。例如某一个文件,数据记录等。

软件测试用例实例非常详细

1、兼容性测试在大多数生产环境中,客户机工作站、网络连接和数据库服务器的具体硬件驱动程客户机工作站可能会安装不同的软件例如,应用程序、规格会有所不同。序等而且在任何时候,都可能运行许多不同的软件组合,从而占用不同的资源。测试目的 操作系统系统软件外设应用软件结果配置说明 Window2000(S) 服务器 WindowXp Window2000(P) Window2003 TestCase_LinkWorks_WorkEvaluate 用例编号LinkWorks项目名称WorkEvaluate模块模块名称研发中心-质量管理部项目承担部门 用例作者2005-5-27 完成日期质量管理部本文档使用部门评审负责人审核日期 批准日期 注:本文档由测试组提交,审核由测试组负责人签字,由项目负责人批准。 历史版本: 备注起止日期参与者作者状态/版本 V1.1 1.1. 疲劳强度测试用例

强度测试也是性能测试是的一种,实施和执行此类测试的目的是找出因资源不足或资源争用而导致的错误。如果内存或磁盘空间不足,测试对象就可能会表现出一些在正常条件下并不明显的缺陷。而其他缺陷则可能由于争用共享资源(如数据库锁或网络带宽)而造成的。强度测试还可用于确定测试对象能够处理的最大工作量。 测试目的 测试说明 用户并发设置添加10连续运行8前提条件小时,输出/响应输入测试需求/动作是否正常运行1 2小时功能4小时6小时8 小时 2小时功能1 4小时6小时 小时8 一、功能测试用例 此功能测试用例对测试对象的功能测试应侧重于所有可直接追踪到用例或业务功能和业务规则的测试需求。这种测试的目标是核实数据的接受、处理和检索是否正确,以及业务规则的实施是否恰当。主要测试技术方法为用户通过GUI(图形用户界面)与应用程序交互,对交互的输出或接受进行分析,以此来核实需求功能与实现功能是否一致。

功能测试用例的设计

功能测试用例的设计 LG GROUP system office room 【LGA16H-LGYY-LGUA8Q8-LGA162】

一、实验目的 1.用因果图法分析原因结果,并决策表设计测试用例。 2.使用场景法设计测试用例。 二、实验内容 1. 将三角形问题的可能结果扩展为:一般三角形、等腰三角形、等边三角形、直角三角形、等腰直角三角形和非三角形,考虑用因果图法设计测试用例,给出完整步骤。 2. 有一个在线购物的实例,用户进入一个在线购物网站进行购物,选购物品后,进行在线购买,这时需要使用帐号密码登录,登录成功后,进行付钱交易,交易成功后,生成订购单,完成整个购物过程。使用场景法设计上述问题的测试用例。 三、实验环境 Windows XP系统 四、实验步骤和结果 1. 将三角形问题的可能结果扩展为:一般三角形、等腰三角形、等边三角形、直角三角形、等腰直角三角形和非三角形,用因果图法设计测试用例,给出完整步骤。具体如下: 1)输入的三边分别为a,b,c(斜边) 且a

2. 行在线购买,这时需要使用帐号密码登录,登录成功后,进行付钱交易,交易成功后,生成订购单,完成整个购物过程。使用场景法设计上述问题的测试用例。

(注:在下面的矩阵中,V(有效)用于表明这个条件必须是 VALID(有效的)才可执行基本流,而 I(无效)用于表明这种条件下将激活所需备选流,“n/a”(不适用)表 对生成的所有测试用例重新复审,去掉多余的测试用例,测试用例确定后,对每一个测

五、实验结果和讨论 成功使用因果图法、场景法设计了测试用例。 六、总结 1.因果图法的定义是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。 2.在事件触发机制中场景法用得最多。在测试一个软件的时候,先确定基本流也就是测试流程中软件功能按照正确的事件流实现的一条正确流程,接着去确定备选流也就是那些出现故障或缺陷的过程,用备选流加以标注。然后可以采用矩阵或决策表来确定和管理测试用例。

软件测试基础期末试卷及参考答案

1、判定覆盖设计足够多的测试用例,使得被测试程序中的每个判断的“真”、“假”分支_至少被执行一次。 2、黑盒测试的具体技术方法 ____________、 __________、 __________、____________。 等价类划分法,边界值分析法,决策表法,因果图法 3、黑盒测试又称之为___________测试。 功能 4、等价类划分有两种不同的情况:____________和____________。 有效等价类,无效等价类 5、根据覆盖目标的不同,逻辑覆盖又可分为:________________,_____________,_______________,__________________,条件组合覆盖,判断/条件覆盖。 语句覆盖,判定覆盖,条件覆盖,路径覆盖 6、根据软件生命周期中的定义,可以把自动化测试工具划分3大类____________,____________和 ____________。 白盒测试工具、黑盒测试工具、测试管理工具 7、软件测试是为发现程序中的______________而执行程序的______________。 错误,过程 8、测试用例是由______________和预期的______________两部分组成。 测试输入数据,输出数据 9、白盒测试又称为______________,可以分为______________和______________两大类。 结构测试,静态测试,动态测试 10、软件是包括____________﹑____________﹑____________的完整集合。 程序,数据,相关文档 11、边界值分析法属于____________。 黑盒测试 12、单元测试是以____________说明书为指导,测试源程序代码。 详细设计 13、集成测试以____________说明书指导,测试软件结构。 概要设计 14、确认测试以____________说明书为指导。 需求分析 15、软件开发的基本过程____________,_____________,_______________,_____________, _____________,______________。 需求分析、概要设计、详细设计,编码,测试、维护 16、代码复审属于____________,不实际运行程序。 静态测试 17、集成测试把模块组成成系统的测试方式:_____________和______________。 一次性集成测试,增量式集成测试 18、黑盒测试有两种基本方法,即:_____________和______________。 通过测试,失败测试 二、选择题(每题3分,共10题,分数为30分) 1. 下列哪一项不是白盒测试(C) A.单元测试 B.集成测试 C.系统测试 D.回归测试 2. 属于黑盒测试的方法(C) A.基于基本路径 B.控制流 C.基于用户需求测试 D.逻辑覆盖 3.在Assert类中断言对象为NULL是_____。(C) 4.___________的目的是对最终软件系统进行全面的测试确保最终软件系统产品满足需求。(A)

软件测试用例设计--场景分析方法

·软件测试用例设计--场景分析方法 方法简介 现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。这种在软件设计方面的思想也可以引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时使测试用例更容易理解和执行。 基本流和备选流:如下图所示,图中经过用例的每条路径都用基本流和备选流来表示,直黑线表示基本流,是经过用例的最简单的路径。备选流用不同的色彩表示,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中(如备选流1和3);也可能起源于另一个备选流(如备选流2),或者终止用例而不再重新加入到某个流(如备选流2和4)。 二.实战演习 1. 例子描述 下图所示是ATM例子的流程示意图。

表3-8 场景设计 注:为方便起见,备选流3和6(场景3和7)内的循环以及循环组合未纳入上表。 3.用例设计 对于这7个场景中的每一个场景都需要确定测试用例。可以采用矩阵或决策表来确定和管理测试用例。下面显示了一种通用格式,其中各行代表各个测试用例,而各 列则代表测试用例的信息。本示例中,对于每个测试用例,存在一个测试用例

ID、条件(或说明)、测试用例中涉及的所有数据元素(作为输入或已经存在于数据库中)以及预期结果。 表3-9 测试用例表 4.数据设计 一旦确定了所有的测试用例,则应对这些用例进行复审和验证以确保其准确且适度,并取消多余或等效的测试用例。

测试用例一经认可,就可以确定实际数据值(在测试用例实施矩阵中)并且设定测试数据,如表3-10所示。 表3-10 测试用例表

软件测试期末试题B卷及答案最终版

………密………封………线………以………内………答………题………无………效…… 电子科技大学二零零八至二零零八学年第二学期 2008 说明:本试卷共四大题,试卷满分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 )。

软件测试中的测试用例设计方法场景VS功能

软件测试中的测试用例设计方法场景VS功能 发布: 2010-7-16 10:20 | 作者: 网络转载 | 来源: 领测软件测试网采编 | 查看: 92次 | 进入软件测试论坛讨论软件测试中的测试用例设计方法场景VS功能 1、目的 不管我们在做哪些测试我想第一我们要站在用户的角度,以用户的使用逻辑及操作习惯为出发点,结合功能用例的设计方法,使用例设计更符合用户使用逻辑更具有可执行性,从而最大程度上覆盖用户需求。2、使用者 在使用者看来,用例设计、执行及热爱测试的人员 3、测试用例设计方法 按照不同的规则可以将测试用例分为四个部分:场景用例(用户场景)、系统用例(用户场景的细化)、功能用例(基于业务规则、界面)、设计指标(基于环境、性能、安全等)。 ◆ 用户场景用例:按照用户的实际操作与业务逻辑设计用例,不必涉及很复杂的操作或逻辑,把用户最常用的、正常的操作流程作为一个场景设计测试用例 ◆ 系统用例:是用户场景的细化,包含正常场景、分支场景和异常场景,是两个或多个有关联的功能组合而成的场景。 ◆ 功能用例:用于验证各功能点的业务规则,包括界面元素和各功能的业务规则验证。主要针对单个功能点。 ◆ 设计指标:系统所需要达到的各级指标。主要包含环境、性能、安全等方面的指标。 第一步:用户场景用例(关键字:模拟用户实际操作)

描述用户的主要业务目标,包含完整的系统级场景和模拟用户实际操作的不同场景,几个功能点的组合也算是用户场景,这类的用例不宜过多。 第二步:系统各角色的系统用例 将系统划分多个角色,再将每个角色分解为多个任务,每个任务就是一个系统用例。系统用例分别正常流程、异常流程,分支流程,以场景的形式描述。 系统用例命名原则:正常(异常、分支)流程_描述 第三步:功能用例 描述单点功能的逻辑规则及页面元素,分层描述逻辑规则,对逻辑规则细化可直接作为用例的操作步骤描述。 第四步:设计指标 设计指标包含三种类型的用例:环境测试用例、性能测试用例、安全性用例。 环境测试用例可依照操作系统版本,浏览器版本不同划分为多个用例。每个用例下可直接调用已有的用户场景用例、系统用例、功能用例,可无须单独编写用例。 4、用例设计规则 规则如下: 1)每个用例需要选择优先级,分为高、中、低三种。 每个用例需要关联项目。 2)需要特别强调的是,用户场景用例,一定要脱离系统提供功能,站在用户角度来设计用例,从用户实际可能的操作场景考虑。

软件测试期末考试试卷A

试卷编号: 期末考试试题(A 卷) 课程: 软件测试 考试班级: 注意事项: 1. 本试题全部为笔答题,共4页,满分100分,考试时间90分钟。 2. 答卷前将答题纸上密封线内的项目填写清楚,密封线内禁止答题。 3. 用钢笔或圆珠笔在答题纸上写清题号,将答案直接答在相应题号后。 4. 本试题为开卷考试。 一、单选题(每题2分,共20分) 1、下面关于软件测试的说法,(_______)是错误的。 A .软件测试就是程序测试 B .软件测试贯穿于软件定义和开发的整个期间 C .需求规格说明、设计规格说明都是软件测试的对象 D .程序是软件测试的对象 2、软件缺陷修复费用最低的阶段是( )。 A 、编制说明书 B 、详细设计 C 、代码编写 D 、产品发布 3、( ) 覆盖是最弱的逻辑覆盖。 A 、路径 B 、判断 C 、条件 D 、语句 4、( )测试可以使用自动化的捕获回放工具来进行。 A 、代码 B 、回归 C 、验收 D 、集成 5、如果运行大量的消耗内存或其他系统资源的测试实例,那么该测试是( )测试。 A 、功能 B 、可靠性 C 、安全 D 、强度 6、面向对象的单元测试,单元是( )。 A 、过程 B 、模块 C 、类 D 、线程 7、导致软件缺陷的最大原因是( )。 (A)编制说明书 (B) 设计

(C)编码 (D)测试 8、在自底向上集成测试中,要编写称为()的模块来测试被测的模块。 (A) 测试存根 (B) 驱动模块 (C)桩模块 (D) 底层模块 9、必须要求用户参与的测试阶段是()。 (A)单元测试(B)集成测试 (C) 确认测试(D)验收测试 10、()是为特定的目的而设计的一组测试输入、执行条件和预期的结果。 (A)测试计划(B)测试报告 (C) 测试用例(D)测试方案 二、多选题(每题2分,共20分) 1、以下属于软件缺陷的是() A、未达到功能 B、出现错误 C、使用效果不良 D、没有杀毒功能 2、软件测试过程,核心问题是()。 A、测试计划 B、测试人员不缺勤 C、测试用例 D、测试报告 3、以下属于黑盒测试用的技术方法有() A、边界值分析法 B、路径测试法 C、等价类划分法 D、判断覆盖法 4、以下属于经过确认测试应该为已开发的软件给出结论性评价的是() A、领导满意 B、缺陷清单 C、有待观察 D、软件合格 5、以下属于网站测试用到的测试技术方法的是() A、黑盒测试 B、白盒测试 C、动态测试 D、灰盒测试 6、以下属于兼容性的是()。 A、向前兼容 B、向后兼容 C、不同版本间兼容 D、数据共享兼容 7、以下属于黑盒测试的是()。 A、软件界面 B、软件功能 C、外部数据库访问 D、软件初始化 8、对于一个含有n个变量的程序,采用健壮性边界值分析法测试程序会产生()个测

报表测试用例设计方法总结

报表测试用例设计方法总结 报表的测试主要分为以下几个方面:界面,安全性,准确性,展示速度(性能) 数据统计方面 1、报表统计数据的正确性; 2、报表统计数据的完整性; 3、报表统计数据的合法性;比如,统计金额字段需求要求有“$”等; 报表格式 1、表头字段表示的正确性; 2、表头字段表示的完整性; 3、表头字段表示的字体,字号,美观程度; 4、各统计字段的显示是否满足需求;比如:数据过长时要求折行还是缩小; 5、页眉和页角的表示; 报表的预览和印刷 1、预览中的显示完整性; 2、多页情况下,第2页的表头显示; 3、能否实现需求要求的特定印刷情况;(比如,印刷使用指定的模板) 4、预览后印刷; 5、不预览,直接印刷 6、需求规定各类打印机的测试; 数据准确性测试,带有报表测试的系统分为两类,一类是业务系统中,带有统计分析功能模块,该模块中包含分析报表,这个系统的主体是业务系统,报表是为**业务的而提供帮助的。 比如说,应年检统计报表,某月应交罚款车辆统计报表,这样的报表数据准确与否,可通过增加、删减、修改相关业务或相关业务的参数,查看统计报表数据变化,检查数据准确性。

另一类是系统只有统计功能,就是我说的数据仓库展现这类,它与业务系统分离,并且经过多层处理,比如数据仓库的数据,经过抽取,清洗,展现前会经过数据挖掘,数据再处理,有些字段在原始数据表中根本就没有。这样的数据准确性测试比较复杂,当然检查出数据错误,修改定位也是很不容易的。 从整个项目节约成本看,逐层测试效果是最好的。完全修改率也是最高的。 首先建立测试数据模型,模拟所有应用表,建立简单易跟踪的数据用例,底层的数据表测试,方法很原始,嘿嘿,通过SQL语句和手工计算,对数据进行比对。对系统中的报表数据准确性测试方法较为灵活, ①系统中报表重叠的进行比对 ②对子报表汇总与父报表比对,就是对月报表汇总与年报表比对,日报表汇总与月报表比对,这只是一个方面,可以从维度关系考虑,地域,行政级别、时间,个人等方面下手,进行汇总比对 ③这个方法如果延伸点呢,可以将报表间的业务逻辑关系作为比对依据。呵呵,这要看测试人员的需求了解深度个人能力了。插几句不想干的话,做测试工作总让我保持快乐状态,前两天我的一个同事说,公司里一直没有人喜欢做测试工作,这个工作太枯燥。嘿嘿,我当时就说我做了这么多年的测试工作从来没有感觉到枯燥。重复性工作不代表枯燥,编程其实不也是重复嘛,人每天谁不重复昨天的事啊,吃饭,吃这个动作重复一生,有谁觉得麻烦枯燥啦? ④使用SQL和手工计算进行比对。以上是差错方式,接下来讲一下查什么错?哪些地方容易出错 ● 原始表使用错误:因为表比较多,又加上没有统一的数据关系对应表,很容易表使用错误,当然这应该是单元测试检查出来的错误。 ● 数据处理逻辑错误:这一点容易因为测试人员和开发人员对需求理解有偏差造成争执,所以在需求评审时,对数据处理规则用表达式或伪代码表示清楚。还有就是程序员失误,逻辑编写有偏差,边界值、特殊情况处理不当。 ● 数据权限:不同用户对数据有着不同的查看权限。这关系到数据的安全性。 ● 数据误差:数据的保留位数,数据是否是处理计算是否是最后一次计算使用了位数保留和四舍五入。 ● 由于字典表,数据错误,而造成的数据错误,如,根据性别统计,购买量,表中的男女颠倒,或者没有考虑性别缺失项,用了if else,这样就是把表中缺失该项内容的算成了

《软件测试基础》期末D卷及参考答案

说明:本试卷共六大题,试卷满分100分,考试时间120分钟,考试为开卷考试。 一、选择题(每题2 分,共20分)请将答案填入题后括号中。 1.从供选择的答案中选出应填入下列( )中的字句。 软件测试的目的是( A )。为了提高测试的效率,应该( B )。使用白盒测试方法时,确定测试数据应根据( C )和指定的覆盖标准。与设计测试数据无关的文档是( D )。 软件的集成测试工作最好由( E )承担,以提高集成测试的效果。 供选择的答案: A. ① 评价软件的质量② 发现软件的错误 ③ 找出软件中的所有错误④ 证明软件是正确的 B. ① 随机地选取测试数据 ② 取一切可能的输入数据作为测试数据 ③ 在完成编码以后制定软件的测试计划 ④ 选择发现错误的可能性大的数据作为测试数据 C. ① 程序的内部逻辑② 程序的复杂程度 ③ 使用说明书④ 程序的功能 D. ① 该软件的设计人员② 程序的复杂程度 ③ 源程序④ 项目开发计划 E. ① 该软件的设计人员② 该软件开发组的负责人 ③ 该软件的编程人员④ 不属于该软件开发组的软件设计人员2.请从供选择的答案中选出应填入下列()中的字句。 程序的三种基本控制结构是( A )。它们的共同点是( B )。结构化程序设计的一种基本方法是( C )。软件测试的目的是( D )。软件调试的目的是( E )。 供选择的答案: A. ① 过程,子程序,分程序② 顺序,条件,循环 ③ 递归,堆栈,队列④ 调用,返回,转移 B. ① 不能嵌套使用② 只能用来写简单的程序 ③ 已经用硬件实现④ 只有一个入口和一个出口 C. ① 筛选法② 递归法③ 归纳 法④ 逐步求精法 D. ① 证明程序中没有错误② 发现程序中的错误 ③ 测量程序的动态特性④ 检查程序中的语法错误 E. ① 找出错误所在并改正之② 排除存在错误的可能性 ③ 对错误性质进行分类④ 统计出错的次数

软件测试用例实例(非常详细)汇总

软件测试用例实例(非常详细)汇总

1、兼容性测试 在大多数生产环境中,客户机工作站、网络连接和数据库服务器的具体硬件规格会有所不同。客户机工作站可能会安装不同的软件例如,应用程序、驱动程序等而且在任何时候,都可能运行许多不同的软件组合,从而占用不同的资源。 测试 目的 配置说明操作系 统 系统 软件 外设应用软件结果 服务器Windo w2000( S) Windo wXp Windo w2000( P) Windo w2003 用例编号TestCase_LinkWorks_W orkEvaluate 项目名称LinkWorks

1.1.

1.2. 疲劳强度测试用例 强度测试也是性能测试是的一种,实施和执行此类测试的目的是找出因资源不足或资源争用而导致的错误。如果内存或磁盘空间不足,测试对象就可能会表现出一些在正常条件下并不明显的缺陷。而其他缺陷则可能由于争用共享资源(如数据库锁或网络带宽)而造成的。强度测试还可用于确定测试对象能够处理的最大工作量。测试目的 测试说明 前提条件连续运行8小时,设置添加 10用户并发 测试需求输入/ 动作 输出/响应是否正常运行 功能1 2小时 4小时 6小时 8小时功能1 2小时 4小时 6小时

8小时 一、功能测试用例 此功能测试用例对测试对象的功能测试应侧重于所有可直接追踪到用例或业务功能和业务规则的测试需求。这种测试的目标是核实数据的接受、处理和检索是否正确,以及业务规则的实施是否恰当。主要测试技术方法为用户通过GUI (图形用户界面)与应用程序交互,对交互的输出或接受进行分析,以此来核实需求功能与实现功能是否一致。 用例标识LinkWorks_ WorkEvaluate _02 项目 名称 https://www.doczj.com/doc/3e17340242.html, 开发人员模块 名称 WorkEvaluate 用例参考工作考核系统界面设计

软件测试期末试题A卷及答案最终版

电子科技大学二零零八至二零零八学年第二学期 2008 说明:本试卷共四大题,试卷满分100分。 注意: .................. ...请将所有答案填写在最后一页答题卡上。 一、单项选择题:共20小题,每小题2 分,满分40分。 1.软件测试按照测试层次可以分为( c ) A.黑盒测试、白盒测试 B. 功能性测试和结构性测试 C.单元测试、集成测试和系统测试 D、动态测试和静态测试 2、软件测试是采用( a )执行软件的活动。 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.当时间用光时

如何设计和执行测试用例

如何设计和执行测试用例测试需求收集完毕后,开始测试设计。 测试用例是什么?测试用例就是一个文档,描述输入、动作、或者时间和一个期望的结果,其目的是确定应用程序的某个特性是否正常的工作。设计测试用例需要考虑以下问题: 测试用例的基本格式: 软件测试用例的基本要素包括测试用例编号、测试标题、重要级别、测试输入、操作步骤、预期结果,下面逐一介绍。 用例编号:测试用例的编号有一定的规则,比如系统测试用例的编号这样定义规则: PROJECT1-ST-001 ,命名规则是项目名称+测试阶段类型(系统测试阶段)+编号。定义测试用例编号,便于查找测试用例,便于测试用例的跟踪。 测试标题:对测试用例的描述,测试用例标题应该清楚表达测试用例的用途。比如“测试用户登录时输入错误密码时,软件的响应情况”。 重要级别:定义测试用例的优先级别,可以笼统的分为“高”和“低”两个级别。一般来说,如果软件需求的优先级为“高”,那么针对该需求的测试用例优先级也为“高” ;反之亦然, 测试输入:提供测试执行中的各种输入条件。根据需求中的输入条件,确定测试用例的输入。测试用例的输入对软件需求当中的输入有很大的依赖性,如果软件需求中没有很好的定义需求的输入,那么测试用例设计中会遇到很大的障碍。 操作步骤:提供测试执行过程的步骤。对于复杂的测试用例,测试用

例的输入需要分为几个步骤完成,这部分内容在操作步骤中详细列出。 预期结果:提供测试执行的预期结果,预期结果应该根据软件需求中的输出得出。如果在实际测试过程中,得到的实际测试结果与预期结果不符,那么测试不通过;反之则测试通过。 软件测试用例的设计主要从上述 6 个域考虑,结合相应的软件需求文档,在掌握一定测试用例设计方法的基础上,可以设计出比较全面、合理的测试用例。具体的测试用例设计方法可以参见相关的测试书籍,白盒测试方法和黑盒测试方法在绝大多数的软件测试书籍中都有详细的介绍。 一般来说,每个软件公司的项目可以分为固定的几大类。可以按业务类型划分,比如 ERP 软件、产品数据管理软件、通信软件、地理信息系统软件等等;可以按软件结构来划分,比如 B/S 架构的软件、 C/S 架构的软件、嵌入式软件等等。参考同类别软件的测试用例,会有很大的借鉴意义。如果,公司中有同类别的软件系统,千万别忘记把相关的测试用例拿来参考。如果,系统非常接近,甚至经过对测试用例简单修改就可以应用到当前被测试的软件。“拿来主义”可以极大的开阔测试用例设计思路,也可以节省大量的测试用例设计时间。 加强测试用例的评审: 测试用例设计完毕后,最好能够增加评审过程。 同行评审是 CMM3 级的一个 KPA ,如果因为公司没有通过 CMM3 级,就不开展同行评审是不恰当的。测试用例应该由产品相关的软件测试人员和软件开发人员评审,提交评审意见,然后根据评审意见更新测试用例。如果认真操作这个环节,测试用例中的很多问题都会暴露出来,比如用例设计错

软件测试用例实例 非常详细

1、兼容性测试 在大多数生产环境中,客户机工作站、网络连接和数据库服务器的具体硬件规格会有所不同。客户机工作站可能会安装不同的软件例如,应用程序、驱动程序等而且在任何时候,都可能运行许多不同的软件组合,从而占用不同的资源。 测试目的 配置说明操作系统系统软件外设应用软件结果 服务器Window2000(S) WindowXp Window2000(P) Window2003 用例编号TestCase_LinkWorks_WorkEvaluate 项目名称LinkWorks 模块名称WorkEvaluate模块 项目承担部门研发中心-质量管理部 用例作者 完成日期2005-5-27 本文档使用部门质量管理部 评审负责人 审核日期 批准日期 注:本文档由测试组提交,审核由测试组负责人签字,由项目负责人批准。历史版本: 版本/状态作者参与者起止日期备注 V1.1

1.1. 疲劳强度测试用例 强度测试也是性能测试是的一种,实施和执行此类测试的目的是找出因资源不足或资源争用而导致的错误。如果内存或磁盘空间不足,测试对象就可能会表现出一些在正常条件下并不明显的缺陷。而其他缺陷则可能由于争用共享资源(如数据库锁或网络带宽)而造成的。强度测试还可用于确定测试对象能够处理的最大工作量。 测试目的 测试说明 前提条件连续运行8小时,设置添加10用户并发 功能1 2小时 4小时 6小时 8小时 功能1 2小时 4小时 6小时 8小时 一、功能测试用例 此功能测试用例对测试对象的功能测试应侧重于所有可直接追踪到用例或业务功能和业务规则的测试需求。这种测试的目标是核实数据的接受、处理和检索是否正确,以及业务规则的实施是否恰当。主要测试技术方法为用户通过GUI(图形用户界面)与应用程序交互,对

软件测试期末考试题

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 、语句覆盖 10、 ( a )是设计足够多的测试用例,使得程序中每个判定包含的每个条件的所 有情况(真 /假)至少出现一次,并且每个判定本身的判定结果(真 /假)也至少 出现一次。 A 、判定-条件覆盖 B 、组合覆盖 11.软件测试是软件质量保证的重要手段, 节?( b ) A ?功能测试 B ?单元测试 12、 单元测试的主要任务不包括( b )。 A ?出错处理 B ?全局数据结构 13、 如下图所示的 N-S 图,至少需要( A .12 B .48 C .27 14、 单元测试中用来模拟实现被测模块需调用的其他功能模块的是( b )。 A .驱动模块 B .桩模块 C .主控模块 D .真实的被调用模块 15、 集成测试计划应该在( b )阶段末提交。 A 、需求分析 B 、概要设计 C 、详细设计 D 、单元测试完成 C 、判定覆盖 D 、条件覆盖 下述哪种测试是软件测试的最基础环 C .结构测试 D .验收测试 C ?独立路径 D .模块接口 b )个测试用例完成逻辑覆盖。 D . 18

软件测试中UI测试及其测试用例设计

界面是软件与用户交互的最直接的层,界面的好坏决定用户对软件的第一印象。而且设计良好的界面能够引导用户自己完成相应的操作,起到向导的作用。同时界面如同人的面孔,具有吸引用户的直接优势。设计合理的界面能给用户带来轻松愉悦的感受和成功的感觉,相反由于界面设计的失败,让用户有挫败感,再实用强大的功能都可能在用户的畏惧与放弃中付诸东流。目前界面的设计引起软件设计人员的重视的程度还远远不够,直到最近网页制作的兴起,才受到专家的青睐。而且设计良好的界面由于需要具有艺术美的天赋而遭拒绝。 目前流行的界面风格有三种方式:多窗体、单窗体以及资源管理器风格,无论那种风格,以下规则是应该被重视的。 按钮名称应该易懂,用词准确,屏弃没楞两可的字眼,要与同一界面上的其他按钮易于区分,能望文知意最好。理想的情况是用户不用查阅帮助就能知道该界面的功能并进行相关的正确操作。 易用性细则: 1) 完成相同或相近功能的按钮用Frame框起来,常用按钮要支持快捷方式。 2) 完成同一功能或任务的元素放在集中位置,减少鼠标移动的距离。 3) 按功能将界面划分局域块,用Frame框括起来,并要有功能说明或标题。 4) 界面要支持键盘自动浏览按钮功能,即按Tab键的自动切换功能。 5) 界面上首先应输入的和重要信息的控件在Tab顺序中应当靠前,位置也应放在窗口上较醒目的位置。 6) 同一界面上的控件数最好不要超过10个,多于10个时可以考虑使用分页界面显示。 7)分页界面要支持在页面间的快捷切换,常用组合快捷键Ct r l+Tab 8) 默认按钮要支持Ent er及选操作,即按Ent er后自动执行默认按钮对应操作。 9) 可写控件检测到非法输入后应给出说明并能自动获得焦点。 10) Tab键的顺序与控件排列顺序要一直,目前流行总体从上到下,同时行间从左到右的方式。 11) 复选框和选项框按选择几率的高底而先后排列。 12) 复选框和选项框要有默认选项,并支持Tab选择。 13) 选项数相同时多用选项框而不用下拉列表框。 14) 界面空间较小时使用下拉框而不用选项框。 15) 选项数叫少时使用选项框,相反使用下拉列表框。

软件测试之测试用例设计

软件测试之测试用例设计 软件和其他工程产品的测试设计与产品本身的设计一样具有挑战性,然而由于已经讨论过的一些原因,软件工程师经常将测试作为一种事后的措施,开发一些“感觉上正确”但是缺乏完整保证的测试用例。再回头看看测试目标,我们必须设计出最可能发现最多数量的错误、并耗费最少时间和最小代价的测试。 在过去的20年,出现了大量的测试用例设计方法,为开发人员进行测试提供了系统的方法。更重要的是,方法提供了一种有助于确保完全测试的机制,并提供了揭示软件错误的最高可能性。 能够采用以下两种方法之一对任何工程化产品(以及大多数其他东西)进行测试: (1)若了解产品的特定功能,则构造测试,以证实各功能完全可执行,同时在各功能中寻找错误; (2)若了解产品的内部构造,则构造测试,以确保“所有齿轮吻合”,即内部操作依据规约执行,而且所有的内部构件被充分利用。第一种测试方法被称为黑盒测试,第二种则被称为白盒测试。 如果考虑计算机软件,黑盒测试指在软件界面上进行的测试,虽然设计黑盒测试是为了发现错误,它们却被用来证实软件功能的可操作性;证实能很好地接收输入,并正确地产生输出;以及证实对外部信息完整性(例如:数据文件)的保持。黑盒测试检验系统的一些基本特征,很少涉及软件的内部逻辑结构。 软件的白盒测试依赖对程序细节的严密检验,提供运用特定条件和/与循环集的测试用例,对软件的逻辑路径进行测试,在不同的点检验“程序的状态”以判定预期状态或待验证状态与真实状态是否相符。

一眼看去,可能认为全面的白盒测试将产生“百分之百正确的程序”,需要我们做的只是定义所有的逻辑路径、开发相应的测试用例,并评估结果,简而言之,详尽地生成用例以测试程序逻辑。不幸的是,穷举测试带来了必然的计算问题,即使是很小的程序,可能的逻辑路径数量也非常大,例如,考虑 100行C语言程序,在一些基本的数据声明之后,程序包含两个嵌套循环,根据输入的条件分别执行1到20次,在内部循环中,需要四个if-then-else结构,该程序中大约有1014条可能路径! 为了正确表达这个数值,我们假设开发了一个有魔力的测试处理器(“有魔力”是因为不存在这样的处理器)进行穷举测试。该处理器能在一毫秒内开发一个测试用例、进行运行并评估结果,如果每天运行24小时,每年运行365天,则需要3170年的时间来测试这个程序。不可否认,这将导致大多数开发进度表的混乱,对大型软件系统不可能进行穷举测试。 然而,白盒测试不应该被抛弃,可选择有限数量的重要逻辑路径进行测试,检测重要数据结构的有效性,可以综合黑盒测试和白盒测试的属性提供一种方法,以验证软件界面,并有选择地保证软件内部工作的正确性。

相关主题
文本预览
相关文档 最新文档