当前位置:文档之家› 基本路径测试

基本路径测试

基本路径测试
基本路径测试

白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、Z路径覆盖、程序变异。

其中运用最为广泛的是基本路径测试法。

基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。

设计出的测试用例要保证在测试中程序的每个可执行语句至少执行一次。

在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例。包括以下4个步骤和一个工具方法:

1. 程序的控制流图:描述程序控制流的一种图示方法。

2. 程序圈复杂度:McCabe复杂性度量。从程序的环路复杂性可导出程序基本路径集合中的独立路径条数,这是确定程序中每个可执行语句至少执行一次所必须的测试用例数目的上界。

3. 导出测试用例:根据圈复杂度和程序结构设计用例数据输入和预期结果。

4. 准备测试用例:确保基本路径集中的每一条路径的执行。

工具方法:

图形矩阵:是在基本路径测试中起辅助作用的软件工具,利用它可以实现自动地确定一个基本路径集。

程序的控制流图:描述程序控制流的一种图示方法。

圆圈称为控制流图的一个结点,表示一个或多个无分支的语句或源程序语句

流图只有二种图形符号:

图中的每一个圆称为流图的结点,代表一条或多条语句。

流图中的箭头称为边或连接,代表控制流

任何过程设计都要被翻译成控制流图。

如何根据程序流程图画出控制流程图?

在将程序流程图简化成控制流图时,应注意:

n 在选择或多分支结构中,分支的汇聚处应有一个汇聚结点。

n 边和结点圈定的区域叫做区域,当对区域计数时,图形外的区域也应记为一个区域。

如下页图所示

n 如果判断中的条件表达式是由一个或多个逻辑运算符(OR, AND, NAND, NOR) 连接的复合条件表达式,则需要改为一系列只有单条件的嵌套的判断。

例如:

1 if a or b

2 x

3 else

4 y

对应的逻辑为:

独立路径:至少沿一条新的边移动的路径

基本路径测试法的步骤:

o 第一步:画出控制流图

流程图用来描述程序控制结构。可将流程图映射到一个相应的流图(假设流程图的菱形决定框中不包含复合条件)。在流图中,每一个圆,称为流图的结点,代表一个或多个语句。一个处理方框序列和一个菱形决测框可被映射为一个结点,流图中的箭头,称为边或连接,代表控制流,类似于流程图中的箭头。一条边必须终止于一个结点,即使该结点并不代表任何语句(例如:if-else-then结构)。由边和结点限定的范围称为区域。计算区域时应包括图外部的范围。

画出其程序流程图和对应的控制流图如下

第二步:计算圈复杂度

圈复杂度是一种为程序逻辑复杂性提供定量测度的软件度量,将该度量用于计算程序的基本的独立路径数目,为确保所有语句至少执行一次的测试数量的上界。独立路径必须包含一条在定义之前不曾用到的边。

有以下三种方法计算圈复杂度:

流图中区域的数量对应于环型的复杂性;

给定流图G的圈复杂度V(G),定义为V(G)=E-N+2,E是流图中边的数量,N是流图中结点的数量;

给定流图G的圈复杂度V(G),定义为V(G)=P+1,P是流图G中判定结点的数量。

第三步:导出测试用例

根据上面的计算方法,可得出四个独立的路径。(一条独立路径是指,和其他的独立路径相比,至少引入一个新处理语句或一个新判断的程序通路。V(G)值正好等于该程序的独立路径的条数。)

ü路径1:4-14

ü路径2:4-6-7-14

ü路径3:4-6-8-10-13-4-14

ü路径4:4-6-8-11-13-4-14

根据上面的独立路径,去设计输入数据,使程序分别执行到上面四条路径。

o 第四步:准备测试用例

为了确保基本路径集中的每一条路径的执行,根据判断结点给出的条件,选择适当的数据以保证某一条路径可以被测试到,满足上面例子基本路径集的测试用例是:

举例说明:

例:下例程序流程图描述了最多输入50个值(以–1作为输入结束标志),计算其中有效的学生分数的个数、总分数和平均值。

步骤1:导出过程的流图。

步骤2:确定环形复杂性度量V(G):

1)V(G)= 6 (个区域)

2)V(G)=E–N+2=16–12+2=6

其中E为流图中的边数,N为结点数;

3)V(G)=P+1=5+1=6

其中P为谓词结点的个数。在流图中,结点2、3、5、6、9是谓词结点。

步骤3:确定基本路径集合(即独立路径集合)。于是可确定6条独立的路径:

路径1:1-2-9-10-12

路径2:1-2-9-11-12

路径3:1-2-3-9-10-12

路径4:1-2-3-4-5-8-2…

路径5:1-2-3-4-5-6-8-2…

路径6:1-2-3-4-5-6-7-8-2…

步骤4:为每一条独立路径各设计一组测试用例,以便强迫程序沿着该路径至少执行一次。

1)路径1(1-2-9-10-12)的测试用例:

score[k]=有效分数值,当k < i ;

score[i]=–1, 2≤i≤50;

期望结果:根据输入的有效分数算出正确的分数个数n1、总分sum和平均分average。2)路径2(1-2-9-11-12)的测试用例:

score[ 1 ]= – 1 ;

期望的结果:average = – 1 ,其他量保持初值。

3)路径3(1-2-3-9-10-12)的测试用例:

输入多于50个有效分数,即试图处理51个分数,要求前51个为有效分数;

期望结果:n1=50、且算出正确的总分和平均分。

4)路径4(1-2-3-4-5-8-2…)的测试用例:

score[i]=有效分数,当i<50;

score[k]<0,k< i ;

期望结果:根据输入的有效分数算出正确的分数个数n1、总分sum和平均分average。

连接权为“1”表示存在一个连接,在图中如果一行有两个或更多的元素“1”,则这行所代表的结点一定是一个判定结点,通过连接矩阵中有两个以上(包括两个)元素为“1”的个数,就可以得到确定该图圈复杂度的另一种算法。

2.3.3 基本路径测试法

基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行的路径集合,从而设计测试用例的方法。设计出的测试用例要保证在测试中程序的每个执行语句至少执行一次。

基本路径测试法的重点内容如下:

程序的控制流图:描述程序控制流的一种图示方法。

程序环形复杂度:McCabe复杂性度量。从程序的环路复杂性可导出程序基本路径集合中的独立路径条数,这是确定程序中每个可执行语句至少执行一次所必需的测试用例数目的上界。

导出测试用例:根据圈复杂度和程序结构设计用例数据输入和预期结果。

准备测试用例:确保基本路径集中的每一条路径的执行。

程序控制流图(可简称流图)是对程序流程图进行简化后得到的,它突出表示程序控制流的结构。程序控制流图是描述程序控制流的一种方式,其要点如下:

1)图形符号:圆圈代表一个结点,表示一个或多个无分支的语句或源程序语句。

2)程序控制流边和点圈定的部分叫做区域。当对区域计数时,图形外的一个部分也应记为一个区域。

3)判断语句中的条件为复合条件(即条件表达式由一个或多个逻辑运算符连接的逻辑表达式(a and b))时,则需要改变复合条件的判断为一系列只有单个条件的嵌套的判断。

结点由带标号的圆圈表示,可代表一个或多个语句、一个处理框序列和一个条件判定框(假设不包含复合条件)。控制流线由带箭头的弧或线表示,可称为边,它代表程序中的控

程序的环形复杂度也称为圈复杂度,它是一种为程序逻辑复杂度提供定量尺度的软件度量。

将环形复杂度用于基本路径方法,可以提供程序基本集的独立路径数量,确保所有语句至少执行一次测试。独立路径是指程序中至少引入了一个新的处理语句集合或一个新条件的程序通路,包括一组以前没有处理的语句或条件的一条路径。通常环形复杂度以图论为基础,提供软件度量。可用如下方法来计算环形复杂度:

1)控制流图中区域的数量对应于环形复杂度。

2)给定控制流图G的环形复杂度V(G),其定义为:

V(G)= E-N+2

计算结果为节点数量N=8,

导出边的数量E=10(用①、②、③、④、⑤、⑥、⑦、⑧、⑨、⑩编号表示),V(G)= E-N+2=10-8+2= 10(条边)- 8(个节点)+ 2 = 4,

导出独立路径用路径1、路径2、路径3、路径4编号表示。

四、基本路径测试

如果把覆盖的路径数压缩到一定限度内,例如,程序中的循环体只执行零次和一次,就成为基本路径测试。它是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。

设计出的测试用例要保证在测试中,程序的每一个可执行语句至少要执行一次。

1.程序的控制流图

控制流图是描述程序控制流的一种图示方法。基本控制构造的图形符号如图10-4-7所示。符号○称为控制流图的一个结点,一组顺序处理框可以映射为一个单一的结点。控制流图中的箭头称为边,它表示了控制流的方向,在选择或多分支结构中分支的汇聚处,即使没有执行语句也应该有一个汇聚结点。边和结点圈定的区域叫做区域,当对区域计数时,图形外的区域也应记为一个区域。

图10-4-7控制流图的各种图形符号

如果判定中的条件表达式是复合条件时,即条件表达式是由一个或多个逻辑运算符(OR,AND,NAND,NOR)连接的逻辑表达式,则需要改复合条件的判定为一系列只有单个条件的嵌套的判定。例如对应图10-4-8(a)的复合条件的判定,应该画成如图10-4-8(b)所示的控制流图。条件语句ifaORb中条件a 和条件b各有一个只有单个条件的判定结点。

2.计算程序环路复杂性

进行程序的基本路径测试时,程序的环路复杂性给出了程序基本路径集合中的独立路径条数,这是确保程序中每个可执行语句至少执行一次所必需的测试用例数目的上界。所谓独立路径,是指包括一组以前没有处理的语句或条件的一条路径。如在图10-4-9(b)所示的控制流图中,一组独立的路径是

path1:1-11

path2:1-2-3-4-5-10-1-11

path3:1-2-3-6-8-9-10-1-11

path4:1-2-3-6-7-9-10-1-11

路径path1,path2,path3,path4组成了图10-4-9(b)所示控制流图的一个基本路径集。只要设计出的测试用例能够确保这些基本路径的执行,就可以使得程序中的每个可执行语句至少执行一次,每个条件的取真和取假分支也能得到测试。基本路径集不是唯一的,对于给定的控制流图,可以得到不同的基本路径集。

(a)程序流程图

(b)控制流图

图10-4-9程序流程图与对应的控制流图

通常环路复杂性可用以下3种方法求得。

(1)将环路复杂性定义为控制流图中的区域数。

(2)设E为控制流图的边数,N为图的结点数,则定义环路复杂性为V(G)=E-N+2。

(3)若设P为控制流图中的判定结点数,则有V(G)=P+1。

因为图10-4-9(b)所示控制流图有4个区域。其环路复杂性为4。它是构成基本路径集的独立路径数的上界。可以据此得到应该设计的测试用例的数目。

3.导出测试用例

利用逻辑覆盖方法生成测试用例,确保基本路径集中每条路径的执行。

软件测试习题

一、选择题 1.软件测试的目的是(B )。 A)试验性运行软件B)发现软件错误C)证明软件正确D)找出软件中全部错误2.软件测试中白盒法是通过分析程序的( B )来设计测试用例的。 A)应用范围B)内部逻辑C)功能D)输入数据 3.黑盒法是根据程序的( C )来设计测试用例的。 A)应用范围B)内部逻辑C)功能D)输入数据 4.为了提高软件测试的效率,应该( D )。 A)随机地选取测试数据B)取一切可能的输入数据作为测试数据 C)在完成编码以后制定软件的测试计划D)选择发现错误可能性最大的数据作为测试用例5.与设计测试用例无关的文档是(A )。 A)项目开发计划B)需求规格说明书C)设计说明书D)源程序 6.测试的关键问题是(B )。 A)如何组织软件评审B)如何选择测试用例 C)如何验证程序的正确性D)如何采用综合策略 7.软件测试用例主要由输入数据和( C )两部分组成。 A)测试计划B)测试规则C)预期输出结果D)以往测试记录分析 8.成功的测试是指运行测试用例后( B )。 A)未发现程序错误B)发现了程序错误C)证明程序正确性D)改正了程序错误9.下列几种逻辑覆盖标准中,查错能力最强的是( D )。 A)语句覆盖B)判定覆盖C)条件覆盖D)条件组合覆盖 10.在黑盒测试中,着重检查输入条件组合的方法是( D )。 A)等价类划分法B)边界值分析法C)错误推测法D)因果图法 11.单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是(A )。A)系统功能B)局部数据结构C)重要的执行路径D)错误处理 12.软件测试过程中的集成测试主要是为了发现( B )阶段的错误。 A)需求分析B)概要设计C)详细设计D)编码 13.不属于白盒测试的技术是(D )。 A)路径覆盖B)判定覆盖C)循环覆盖D)边界值分析 14.集成测试时,能较早发现高层模块接口错误的测试方法为( A )。

白盒测试的基本路径测试法

白盒测试的基本路径测试法 一、白盒测试的主要测试方法 1、代码检查法 2、静态结构分析法 3、静态质量度量法 4、逻辑覆盖法 5、基本路径测 试法(应用最广泛)6、域测试7、符号测试8、Z路径覆盖9、程序变异 二、基本路径测试法 1、定义:基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。 设计出的测试用例要保证在测试中程序的每个可执行语句至少执行一次。 2、基本路径测试法的基本步骤 1) 程序的控制流图:描述程序控制流的一种图示方法。 2)程序圈复杂度:McCabe复杂性度量。从程序的环路复杂性可导出程序基本路径集合中的独立路径条数,这是确定程序中每个可执行语句至少执行一次所必须的测试用例数目的上界。 3)导出测试用例:根据圈复杂度和程序结构设计用例数据输入和预期结果。 4)准备测试用例:确保基本路径集中的每一条路径的执行。 3、基本路径测试法的工具方法 1)图形矩阵:是在基本路径测试中起辅助作用的软件工具,利用它可以实现自动 地确定一个基本路径集。 三、程序的控制流图 控制流程图是描述程序控制流的一种图示方法。圆圈称为控制流图的一个结点,表示一个或多个无分支的语句或源程序语句流图只有二种图形符号:图中的每一个圆称为流图的结点,代表一条或多条语句。流图中的箭头称为边或连接,代表控制流。任何过程设计都要被翻译成控制流图。

1、根据程序流程图化成控制流图 在将程序流程图简化成控制流图时,应注意: 1)在选择或多分支结构中,分支的汇聚处应有一个汇聚结点。 2)边和结点圈定的区域叫做区域,当对区域计数时,图形外的区域也应记为一个区域。如下页图所示: 如果判断中的条件表达式是由一个或多个逻辑运算符(OR, AND, NAND, NOR) 连接的复合条件表达式,则需要改为一系列只有单条件的嵌套的判断。 例如: 1 if a or b 2 x 3 else 4 y 对应的逻辑为:

软件基础测试题

软件基础测试题 一、选择: 1. 从是否需要被执行测试软件的角度,软件测试可分为哪两种?(B) A. 黑、白盒(软件测试用例设计方法角度) B.静、动态 C.单、集(策略和过程) 2. 下列哪一项不是白盒测试?(C) A.单元测试 B.集成测试 C.系统测试 D.回归测试 3. 计算机环路复杂度(计算方法)(重点:选择简答) V(G)=简单判定节点数+ 1 ; V(G) = E-N+2 ; V(G)=封闭区域数+ 1 (记住这三个公式) 4. 属于黑盒测试的方法?(C) A.基于基本路径 B.控制流 C.基于用户需求测试 D.逻辑覆盖 (基于用户需求的测试,功能图分析方法,等价类划分方法,边界值分析方法,错误推测方法,因果图方法,判定表驱动分析方法,正交实验设计方法和功能图分析方法等。) 5. 测试的报告由五部分。 答:首页、引言部分、测试概要、测试结果及缺陷分析、测试结论与建议。 6. 单元测试环境由三部分构成? 答:所测模块和与它相关的驱动模块及桩模块共同构成了一个“测试环境”

7. 单元测试中综合测试主要是考虑哪些方式? 答:自顶向下的单元测试策略、自底向上的单元测试策略。 8. 不是软件实施活动的进入准则? (D) A.需求工件已经被基线化 B.详细设计工件已经被基线化 C.构架工件已经被基线化 D. 项目阶段成果及被基线化 9. 确定单元测试指导的基本方针? ()(3个,选择其中不是的)答:能够自身编译的最小程序块,单一过程/函数(独立),由一个人完成的小规模工作 10. 对于自动化测试成本从高到底的排序,下列描述正确的是?(A)(PPT6 七章)(进行排序) A. GUI,编译器,用户图形 11. 软件测试是软件开发的重要环节之一。按照软件开发过程可分为:单元测试、集成测试、系统测试、域测试等。 12. 软件测试的任务发现、改正软件错误(找错,修正) 13. 下面哪一项测试步骤中需要进行局部数据结构测试?(A) A.单元测试 B.集成测试 C.确认测试 D.系统测试 14. 白盒测试是根据程序的(C)来选设计测试用例? A.功能 B.性能 C.内部逻辑 D.内部数据 15. 单元测试的终止的标准(3个)(PPT47 三章) 1.硬件资源不足或故障造成软件运行无法运行; 2.软件运行后无法正确显示; 3.所有功能测试均已经完成。

基本路径测试法(第4章第4节)

课题:基本路径测试法(第4章第4节) 课型:新授课 教学内容: 1、本路径测试方法思想 2、路径测试方法举例 教学目标:(思想、知识、能力) 1.了解基本路径测试方法概念 2.掌握基本路径测试方法用例设计过程 3.掌握基本技巧、策略 教学重点、难点: 基本路径测试方法用例设计过程 教法、学法:讲演辅结合(以幻灯片讲解、举例、课堂练习) 教学程序 认知操作 一. 复习提问(复习逻辑覆盖测试用例设计) 1.逻辑覆盖测试有哪些类型? 2.条件覆盖与判定覆盖的概念? 二.新知 1.基本路径测试方法思想 注意:以幻灯片进行讲解,以例题驱动,增加课堂提问。 主要知识: (1)概念:基本路径测试就是这样一种测试方法,它在程序控制流图的基础上,通过分 析控制构造的环形复杂性,导出基本可执行路径集合,从而设计测试用例的方法。设计出的测试用例要保证在测试中程序的每一个可执行语句至少执行一次。

(2)步骤: A、绘制程序控制流图 B、通过分析环形复杂性,计算圈复杂度,导出程序基本路径集合中的独立路径条 数,这是确定程序中每个可执行语句至少执行一次所必须的测试用例数目的上 界。 C、导出测试用例:根据环形复杂性和程序结构设计用例数据输入和预期结果。 D、准备测试用例:确保基本路径集中的每一条路径的执行。 (3)控制流图:为了更加突出控制流的结构,可对程序流程图进行简化,简化后的图称为控制流图。在控制流图中只有两种图形符号: A)节点,用带标号的圆圈表示,代表一个或多个语句、一个处理方框序列和一个菱形判断框(假如不包含复合条件)都可以映射为一个节点; B)控制流线,用带箭头的弧或线表示,称为边或两节点连接。它代表程序的控制流,类似于流程图中的箭头线,控制流线通常标有名字。 2. 基本路径测试方法举例 如下面的C函数: void Sort(int iRecordNum,int iType) 1 { 2 int x=0; 3 int y=0; 4 while (iRecordNum-- > 0) 5 { 6 if(iType==0) 7 x=y+2; 8 else

实训题目基本路径测试用例设计-------上机

实训题目:基本路径测试用例设计------------上机 实训目的: 1、一步熟悉白盒测试的方法和策略 2、点掌握圈复杂度概念和基本路径测试用例设计方法 3、增强测试经验 实训地点:机房 实训课时:2课时 实训重点、难点:基本路径测试用例设计 实训安排:首先讲解基本路径测试设计测试用例的步骤,要求学生注意总结方法和技巧,然后布置上机任务,要求学生对照课件和课本完成上机任务。老师在机房进行辅导。 实训步骤: 一、Void sort(int i,int j,int k) 1 { 2 int m,n,p; 3 m=n=p=0; 4 if (i> 5 and j<8)

5m++; 6else 7 if(k>=9) 8 n++; 9 else 10 p++; 11 Printf(“%d,%d,%d”,m,n,p); 12 } 按照基本路径测试方法设计测试用例? 1、画流图,计算复杂度 2、导出测试用例 阅读下列说明,回答问题1 至问题3,将解答填入答题纸的对应栏内。 【说明】 使用基本路径法设计出的测试用例能够保证程序的每一条可执行语句在测试过程中至少执行一次。以下代码由C 语言书写,请按要求回答问题。 Int IsLeap(int year)

2 if (year % 4 == 0) 3 { 4 if (year % 100 == 0) 5 { 6 if ( year % 400 == 0) 7 leap = 1; 8 else 9 leap = 0; 10 } 11 else 12 leap = 1; 13 } 14 else 15 leap = 0; 16 return leap;

(整理)基本路径测试

白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、Z路径覆盖、程序变异。 其中运用最为广泛的是基本路径测试法。 基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。 设计出的测试用例要保证在测试中程序的每个可执行语句至少执行一次。 在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例。包括以下4个步骤和一个工具方法: 1. 程序的控制流图:描述程序控制流的一种图示方法。 2. 程序圈复杂度:McCabe复杂性度量。从程序的环路复杂性可导出程序基本路径集合中的独立路径条数,这是确定程序中每个可执行语句至少执行一次所必须的测试用例数目的上界。 3. 导出测试用例:根据圈复杂度和程序结构设计用例数据输入和预期结果。 4. 准备测试用例:确保基本路径集中的每一条路径的执行。 工具方法: 图形矩阵:是在基本路径测试中起辅助作用的软件工具,利用它可以实现自动地确定一个基本路径集。 程序的控制流图:描述程序控制流的一种图示方法。 圆圈称为控制流图的一个结点,表示一个或多个无分支的语句或源程序语句 流图只有二种图形符号: 图中的每一个圆称为流图的结点,代表一条或多条语句。

流图中的箭头称为边或连接,代表控制流 任何过程设计都要被翻译成控制流图。 如何根据程序流程图画出控制流程图? 在将程序流程图简化成控制流图时,应注意: n 在选择或多分支结构中,分支的汇聚处应有一个汇聚结点。 n 边和结点圈定的区域叫做区域,当对区域计数时,图形外的区域也应记为一个区域。 如下页图所示 n 如果判断中的条件表达式是由一个或多个逻辑运算符(OR, AND, NAND, NOR) 连接的复合条件表达式,则需要改为一系列只有单条件的嵌套的判断。 例如: 1 if a or b 2 x 3 else 4 y 对应的逻辑为:

实训题目基本路径测试用例设计上机

实训题目基本路径测试用例设计上机 文稿归稿存档编号:[KKUY-KKIO69-OTM243-OLUI129-G00I-FDQS58-

实训题目:基本路径测试用例设计------------上机 实训目的: 1、一步熟悉白盒测试的方法和策略 2、点掌握圈复杂度概念和基本路径测试用例设计方法 3、增强测试经验 实训地点:机房 实训课时:2课时 实训重点、难点:基本路径测试用例设计 实训安排:首先讲解基本路径测试设计测试用例的步骤,要求学生注意总结方法和技巧,然后布置上机任务,要求学生对照课件和课本完成上机任务。老师在机房进行辅导。 实训步骤: 一、Void sort(int i,int j,int k) 1 { 2 int m,n,p; 3 m=n=p=0; 4 if (i> 5 and j<8) 5m++; 6else 7 if(k>=9) 8 n++; 9 else 10 p++;

11 Printf(“%d,%d,%d”,m,n,p); 12 } 按照基本路径测试方法设计测试用例? 1、画流图,计算复杂度 2、导出测试用例 阅读下列说明,回答问题1 至问题3,将解答填入答题纸的对应栏内。 【说明】 使用基本路径法设计出的测试用例能够保证程序的每一条可执行语句在测试过程中至少执行一次。以下代码由C 语言书写,请按要求回答问题。 Int IsLeap(int year) 1 { 2 if (year % 4 == 0) 3 { 4 if (year % 100 == 0) 5 { 6 if ( year % 400 == 0) 7 leap = 1; 8 else 9 leap = 0; 10 } 11 else 12 leap = 1; 13 }

软件测试方法和技术练习题与答案

一、判断题 1. 测试是调试的一个部分(╳) 2. 软件测试的目的是尽可能多的找出软件的缺陷。(√) 3. 程序中隐藏错误的概率与其已发现的错误数成正比(√) 4. Beta 测试是验收测试的一种。(√) 5. 测试人员要坚持原则,缺陷未修复完坚决不予通过。(√) 6. 项目立项前测试人员不需要提交任何工件。(╳) 7. 单元测试能发现约80%的软件缺陷。(√) 8. 测试的目的是发现软件中的错误。(√) 9. 代码评审是检查源代码是否达到模块设计的要求。(√) 10. 自底向上集成需要测试员编写驱动程序。(√) 11. 测试是证明软件正确的方法。(╳) 12. 负载测试是验证要检验的系统的能力最高能达到什么程度。(√) 13. 测试中应该对有效和无效、期望和不期望的输入都要测试。(√)验收测试是由最终用户来实施的。(√) 14. 测试人员要坚持原则,缺陷未修复完坚决不予通过。(√) 黑盒测试也称为结构测试。(╳) 集成测试计划在需求分析阶段末提交。(╳) 15. 软件测试的目的是尽可能多的找出软件的缺陷。(√) 16. 自底向上集成需要测试员编写驱动程序。(√) 17. 负载测试是验证要检验的系统的能力最高能达到什么程度。(╳) 18. 测试程序仅仅按预期方式运行就行了。(╳)19. 不存在质量很高但可靠性很差的产品。(╳) 20. 软件测试员可以对产品说明书进行白盒测试。(╳) 21. 静态白盒测试可以找出遗漏之处和问题。(√) 22. 总是首先设计白盒测试用例。(╳) 23. 可以发布具有配置缺陷的软件产品。(√) 24. 所有软件必须进行某种程度的兼容性测试。(√) 25. 所有软件都有一个用户界面,因此必须测试易用性。(╳) 26. 测试组负责软件质量。(╳) 27. 按照测试实施组织划分,可将软件测试分为开发方测试、用户测试和第三方测试。(√) 28. 好的测试员不懈追求完美。(×) 29. 测试程序仅仅按预期方式运行就行了。( ×) 30. 在没有产品说明书和需求文档的条件下可以进行动态黑盒测试。( √) 31. 静态白盒测试可以找出遗漏之处和问题。( √) 32. 测试错误提示信息不属于文档测试范围。( ×) 33. 代码评审是检查源代码是否达到模块设计的要求。(√) 34. 总是首先设计黑盒测试用例。( √) 35. 软件测试是有风险的行为,并非所有的软件缺陷都能够被修复。(∨) 36. 软件质量保证和软件测试是同一层次的概念。(x ) 37. 程序员兼任测试员可以提高工作效率。(x ) 38. 在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。(∨)

第4次实验基本路径测试(软件工程)

软件测试实验报告 实验题目:白盒测试技术之基本路径测试 姓名:祁兆彧 学号:1012210142 班级:11计本1 指导老师:蒋平

一、实验介绍 1.实验技术 基本路径测试是在程序控制流图的基础上,通过分析控制结构的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。 2.实验对象 #include "stdio.h" void main() { int n,i; int x=0; int y=0; printf("请输入n\n"); scanf("%d",&n); printf("请输入i\n"); scanf("%d",&i); while ( n-- > 0 ) { if ( i==0 ) x=y+2; else if ( i==1 ) y=y+10; else x=y+20; }// while printf("x=%d,y=%d\n",x,y); }// main 三、测试用例设计 程序流程图如下所示:

控制流图如下所示: 1 7 4 6 3 2 9 5 a b c d e f g 8

计算程序环路复杂 V(G)=E-N+2=11-9+2=4 独立路径集合为: 路径1: 1-2-9 路径2: 1-2-3-5-6-8-2-9 路径3: 1-2-3-5-7-8-2-9 路径4: 1-2-3-4-8-2-9 测试用例设计: 测试用例{n,i} 预期路径预期输出 {1,0} a-c-d-b X=2,y=0 {1,1} a-c-e-g-b X=0,y=10 {1,2} a-c-e-f-b X=20,y=0 {0,3} a-b X=0,y=0 三、实验结果 输入输出 n=1 , i= 0 X=2,y=0 n=1,i=1 X=0,y=10 n=1,i=2 X=20,y=0 n=0,i=3 X=0,y=0 四、心得与体会 通过本次实验使我学会了在程序控制流图的基础上,通过分析控制结构的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。

软件测试技术习题参考答案

第1章软件测试概述 1、简述软件缺陷的含义。 答:软件缺陷是软件开发过程中潜在的缺陷,这些缺陷可能在软件运行后出现,因而使软件的性能和可靠性等方面与系统的设计需求不符。 2、说明软件缺陷、软件错误和软件失败的关系。 答:缺陷、缺点、偏差统称为缺陷,是软件故障的根源;错误、谬误、问题、异常、矛盾等统称为错误,软件错误出现的原因是软件缺陷所致;失败、事故、灾难统称失败,失败的直接原因是软件系统存在软件错误。 14、“软件测试是有风险的工作”,试解释这种说法的含义。 答:软件不测试,就会有风险;软件测试,同样也会有风险。因为,软件是个复杂的系统,其复杂性体现在软件实现的内容复杂性、开发过程的复杂性和组织工作的复杂性等方面。而软件测试的目的是为了发现故障,并加以排除。对一个复杂的软件系统来说,故障的排除往往可能又带来新的软件缺陷。所以,软件测试又会带来一定的风险。 第2章软件测试基础 2、条件覆盖是否高于判断覆盖的逻辑覆盖程度如果不是,请给出反例加以说明。 答:条件覆盖是高于判断覆盖的逻辑覆盖程度。 a 、用条件覆盖所设计的测试用例可使得程序中的每一个判断的每一个条件的可能 取值至少执行一次。 b、用判断覆盖所设计的测试用例可使被测程序中的每个判断的真分支和假分支至少经历 一次。 每个判断语句可能包含多个条件(比如,if (A>3&&B<7……)。条件覆盖针对判断语句的每一个条件的所有可能取值编写测试用例;判断覆盖只针对每一个判断语句整体的所有可能取值编写测试用例。所以,条件覆盖的逻辑覆盖程度高于判断覆盖。 4、已知某种计算机程序设计语言的标识符语法规则规定“标示符是由非数字开头的,有效 字符数为32个,最大字符数为128个的任意符号串”。试用等价类划分法设计测试用例。

实验04.使用基本路径测试法求解“自动售货机”问题

实验报告 实验序号:04 实验项目名称:使用基本路径测试法求解“自动售货机”问题

步骤: 1、解压eclemma软件包,并放到eclipse安装目录的dropins文件夹下: 2、重新启动eclipse软件,菜单栏会出现新的图标: 3、查看Windows的Customize perspective项中的Command Groups Availabiity 多了Coverage项: 4、编写待测试类SaleMachine.jav a文件和测试Junit Test Case文件SaleMachineTest.jav a:

5、先点击运行看看,覆盖了33.1%: 6、分析:红色代表未执行、黄色代表条件没有全部执行、绿色代表执行过了:

7、继续修改测试代码,直到覆盖率达到100%: 共编写了12个测试用例,使待测试代码100%被覆盖,运行如图: 四、实验结果与数据处理 a、最终待测试代码如下: public class SaleMachine { private int countOfBeer, countOfOrangeJuice, countOfFiveCents, countOfOneDollar; private String[] typeOfGoods = {"Beer", "OrangeJuice"}; private String resultOfDeal; public SaleMachine() { initial(); } public void initial() { countOfBeer = 6; countOfOrangeJuice = 6; countOfFiveCents = 6; countOfOneDollar = 6; } public SaleMachine(int fiveCents, int oneDollar, int numOfBeer, int

软件测试之基本路径测试

软件测试之基本路径测试 基本路径测试是Tom McCabe[MCC76]首先提出的一种白盒测试技术,基本路径测试方法上”。允许测试用例设计者导出一个过程设计的逻辑复杂性测度,并使用该测度作为指南来定义执行路径的基本集。从该基本集导出的测试用例保证对程序中的每一条语句至少执行一次。 1 流图符号 在介绍基本路径方法之前,必须先介绍一种简单的控制流表示方法,即流图或程序图①。流图使用图1-1中的符号描述逻辑控制流,每一种结构化构成元素有一个相应的流图符号。 为了说明流图的用法,我们采用图1-2中的过程设计表示法,此处,流程图用来描述程序控制结构。图 1-2b将流程图映射到一个相应的流图(假设流程图的菱形决定框中不包含复合条件)。在图1-2b中,每一个圆,称为流图的节点,代表一个或多个语句。一个处理方框序列和一个菱形决测框可被映射为一个节点,流图中的箭头,称为边或连接,代表控制流,类似于流程图中的箭头。一条边必须终止于一个节点,即使该节点并不代表任何语句(例如:参见if-else-then结构的符号)。由边和节点限定的范围称为区域。计算区域时应包括图外部的范围①。 任何过程设计表示法都可被翻译成流图,图 1-3显示了一个程序设计语言(PDL,ProgramDesign Language)片段及其对应的流图,注意,对PDL语句进行了编号,并将相应的编号用于流图中。 程序设计中遇到复合条件时,生成的流图变得更为复杂。当条件语句中用

到一个或多个布尔运算符(逻辑OR,AND,NAND,NOR)时,就出现了复合条件。图1-4中,将一个PDL片段翻译为流图,注意,为语句IF a OR b中的每一个a 和b创建了一个独立的节点,包含条件的节点被称为判定节点,从每一个判定节点发出两条或多条边。 2 环形复杂性 环形复杂性是一种为程序逻辑复杂性提供定量测度的软件度量,将该度量用于基本路径方法,计算所得的值定义了程序基本集的独立路径数量,并为我们提供了确保所有语句至少执行一次的测试数量的上界。 独立路径是指程序中至少引进一个新的处理语句集合或一个新条件的任一路径。采用流图的术语,即独立路径必须至少包含一条在定义路径之前不曾用到的边。例如,图1-2b中所示流图的一个独立路径集合为: 路径1:1-11 路径2:1-2-3-4-5-10-1-11 路径3:1-2-3-6-8-9-10-1-11 路径4:1-2-3-6-7-9-10-1-11 注意,每一条新的路径都包含了一条新边。路径1-2-3-4-5-10-1-2-3-6-8-9-10-1-11不是独立路径,意味它只是已有路径的简单合并,并未包含任何新边。 上面定义的路径1,2,3和4包含了图 1-2b所示流图的一个基本集,简而言之,如果能将测试设计为强迫运行这些路径(基本集),那么程序中的每一条语句将至少被执行一次,每一个条件执行时都将分别取true和false。应该注意到基本集并不唯一,实际上,给定的过程设计可派生出任意数量的不同基本集。

白盒测试方法习题及答案

[试题分类]:[04]白盒测试方法/[0400][综合]白盒测试方法 1. 下面不属于白盒测试能保证的是。 A. 模块中所有独立途径至少测试一次 B. 测试所以逻辑决策真和假两个方面 C. 在所有循环的边界内部和边界上执行循环体 D. 不正确或漏掉的功能 答案:D 分数:1 题型:单选题 难度:1 2. 因果图方法是根据()之间的因果关系来设计测试用例的。 A. 输入与输岀 B. 设计与实现 C. 条件与结果 D. 主程序与子程序 答案:A 分数:1 题型:单选题 难度:1 3. 使用白盒测试方法时,确定测试数据应根据()和指定的覆盖标准 A. 程序的内部逻辑 B. 程序的复杂程度 C. 使用说明书 D. 程序的功能 答案:A 分数:1 题型:单选题 难度:1 4. 软件测试中常用的静态分析方法是()和接口分析。 A. 引用分析 B. 算法分析 C. 可靠性分析 D. 效率分析 答案:A 分数:1 题型:单选题 难度:1 5. 软件测试中常用的静态分析方法是引用分析和()。 A. 引用分析 B. 算法分析 C. 可靠性分析 D. 接口分析 答案:D 分数:1 题型:单选题 难度:1 6?白盒方法中常用的方法是()方法。 A. 路径测试 B. 等价类

C. 因果图 D. 归纳测试 答案:A 分数:1 题型:单选题 难度:1 7. 在软件工程中,白箱测试法可用于测试程序的内部结构。此方法将程序看作是() A. 路径的集合 B. 循环的集合 C. 目标的集合 D. 地址的集合 答案:A 分数:1 题型:单选题 难度:1 8. 软件测试白箱测试是对软件的结构进行测试,下述: I.边缘值分析n .语句测试 皿.分值测试IV .路经测试 )是其应包括的内容。 A. I B. n和皿 C.皿和V D. n .皿和V 答案:D 分数:1 题型:单选题 难度:1 9?在进行单元测试时,常用的方法是()。 A. 采用白盒测试,辅之以黑盒测试 B. 采用黑盒测试,辅之以白盒测试 C. 只适用白盒测试 D. 只适用黑盒测试 答案:A 分数:1 题型:单选题 难度:1 10. 白盒测试法一般使用于()测试。 A. 单元 B. 系统 C. 集成 D. 确认 答案:A 分数:1 题型:单选题 难度:1 [试题分类]:[04]白盒测试方法/[0401]逻辑覆盖法 11. 关于条件测试错误的是() A. 可以检查程序中所包含的逻辑条件 B. 条件中包含的错误有布尔算子错误 C. 条件中包含的错误有布尔变量错误 D. 条件中包含的错误有接口错误

实训题目基本路径测试用例设计上机

实训题目基本路径测试用例设计上机 集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#

实训题目:基本路径测试用例设计------------上机 实训目的: 1、一步熟悉白盒测试的方法和策略 2、点掌握圈复杂度概念和基本路径测试用例设计方法 3、增强测试经验 实训地点:机房 实训课时:2课时 实训重点、难点:基本路径测试用例设计 实训安排:首先讲解基本路径测试设计测试用例的步骤,要求学生注意总结方法和技巧,然后布置上机任务,要求学生对照课件和课本完成上机任务。老师在机房进行辅导。 实训步骤: 一、Void sort(int i,int j,int k) 1 { 2 int m,n,p; 3 m=n=p=0; 4 if (i> 5 and j<8) 5m++; 6else 7 if(k>=9) 8 n++; 9 else

10 p++; 11 Printf(“%d,%d,%d”,m,n,p); 12 } 按照基本路径测试方法设计测试用例 1、画流图,计算复杂度 2、导出测试用例 阅读下列说明,回答问题1 至问题3,将解答填入答题纸的对应栏内。【说明】 使用基本路径法设计出的测试用例能够保证程序的每一条可执行语句在测试过程中至少执行一次。以下代码由C 语言书写,请按要求回答问题。 Int IsLeap(int year) 1 { 2 if (year % 4 == 0) 3 { 4 if (year % 100 == 0) 5 { 6 if ( year % 400 == 0) 7 leap = 1; 8 else 9 leap = 0; 10 }

软件测试习题集及答案(详细版)

一、判断分析题 1.软件测试的目的是尽可能多的找出软件的缺陷。(Y) 2.软件测试的目的是证明软件没有错误。(N) 3.测试组负责软件质量。(N ) 4.程序的效率与程序的复杂性相关。(N ) 5.软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性。(Y ) 6.测试程序仅仅按预期方式运行就行了。(N ) 7.好的测试员不懈追求完美。( Y) 8.不存在质量很高但可靠性很差的产品。(N ) 9.测试是为了验证该软件已正确地实现了用户的要求。( N) 10.发现错误多的程序模块,残留在模块中的错误也多。(Y ) 11.程序效率的提高主要应通过选择高效的算法来实现。( Y) 12.测试人员要坚持原则,缺陷未修复完坚决不予通过。(N) 13.项目立项前测试人员不需要提交任何工件。(Y) 14.缺陷跟踪系统只针对对测试人员来使用。(N ) 15.从用户软件开发者的角度出发,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,以考虑是否可接受该产品。(N ) 16.软件项目在进入需求分析阶段,测试人员应该开始介入其中。( Y) 17.测试是提高产品质量根本手段。() 18.代码评审员一般由测试员担任。(N) 19.代码评审是检查源代码是否达到模块设计的要求。(N) 20.软件测试员可以对产品说明书进行白盒测试。(N ) 21.静态白盒测试可以找出遗漏之处的问题。(Y ) 22.总是首先设计白盒测试用例。(N) 23.用黑盒法测试时,测试用例是根据程序内部逻辑设计的。(N) 24.黑盒测试方法中最有效的是因果图法。(Y ) 25.软件测试按照测试过程分类为黑盒、白盒测试。(N) 26.白盒测试又称结构测试、逻辑驱动测试或基于程序的测试。(Y) 27.白盒测试时一般由开发人员兼任测试人员的角色。(Y) 28.黑盒测试是从用户观点出发的测试。(Y) 29.白盒测试是从用户观点出发的测试。(N) 30.白盒测试根据程序外部特征进行测试,黑盒测试根据程序内部逻辑结构进行测试。(N) 31.程序通过了全面的白盒测试,就不需要再进行黑盒测试了。(N)

基本路径测试法

基本路径测试法 第一步:画出控制流图 流程图用来描述程序控制结构。可将流程图映射到一个相应的流图(假设流程图的菱形决定框中不包含复合条件)。在流图中,每一个圆,称为流图的结点,代表一个或多个语句。一个处理方框序列和一个菱形决测框可被映射为一个结点,流图中的箭头,称为边或连接,代表控制流,类似于流程图中的箭头。一条边必须终止于一个结点,即使该结点并不代表任何语句(例如:if-else-then结构)。由边和结点限定的范围称为区域。计算区域时应包括图外部的范围。 程序代码: 1)#include 2)main() 3){ 4) int A,B,C; 5) printf("请输入三角形的三条边:"); 6) scanf("%d %d %d",&A,&B,&C); 7) if((A>0&&B>0&&C>0)&&((A+B)>C&&(A+C)>B&&(B+C)>A)) 8) { 9)if(A==B&&A==C) 10)printf("该三角形是等边三角形!\n"); 11)else 12)if((A==B&&B!=C)||(B==C&&B!=A)||(A==C&&A!=B)) 13)printf("该三角形是等腰三角形!\n"); 14)else 15)printf("该三角形是普通三角形!\n"); 16)} 17)else 18){ 19)printf("ERROR!\n"); 20)return main(); 21)} 22)}

程序流程图:

控制流图: 第二步:计算圈复杂度 圈复杂度是一种为程序逻辑复杂性提供定量测度的软件度量,将该度量用于计算程序的基本的独立路径数目,为确保所有语句至少执行一次的测试数量的上界。独立路径必须包含一条在定义之前不曾用到的边。 有以下三种方法计算圈复杂度: 流图中区域的数量对应于环型的复杂性; 给定流图G的圈复杂度V(G),定义为V(G)=E-N+2,E是流图中边的数量,N是流图中结点的数量; 给定流图G的圈复杂度V(G),定义为V(G)=P+1,P是流图G中判定结点的数量。 根据以上三种方法得出: 1)图中域的个数为4; 2)V(G)=E-N+2=11-9+2=4; 3)V(G)=P+1=3+1=4。

最新软件测试习题

填空题 1、测试用例不仅要选用合理的测试输入数据,还需要选用不合理的测试输入数据,这样能更多地《发现错误》,提高程序的可靠性。对于不合理的测试输入数据,程序应《拒绝执行》,并给出相应的提示。 2、动态测试指通过《运行程序》发现错误。对软件产品进行动态测试时使用黑盒测试法和《白盒测试》法。 3、静态测试指《被测试程序》不在机器上运行,而是采用《人工测试》和《计算机辅助静态分析》的手段对程序进行检测。 4、黑盒测试依据《软件规格说明》,检查程序是否满足《功能需求》。因此,黑盒测试由称为功能测试或《数据驱动》测试。 5、白盒测试以检查处理过程的细节为基础,对程序中尽可能多的《逻辑路径》进行测试,检查内部《逻辑结构》和《运行原理》是否有错,程序的《运行状态》与预期的状态是否一致。 6、在基本路径测试中,独立路径是指包括一组以前没有处理过的《语句或条件》的一条路径。从程序图来看,一条独立路径是至少包含有一条《从未走过》的边的路径。 7、在单元测试中,驱动模块的作用是用来模拟被测模块的《上层调用模块》。它的工作是接受《测试输入数据》,以上层模块调用被测模块的形式《把数据传送给》被测模块,接收被测模块的《实测结果》并输出。 8、在单元测试中,桩模块用来代替被测模块的《子模块》。其作用是《返回被测模块所需》的信息。 9、错误的群集现象是指模块错误发现率与模块的残留错误数成《正比》关系。 判断题 1 、好的测试员不懈追求完美。( T) 2、测试程序仅仅按预期方式运行就行了。(F ) 3、不存在质量很高但可靠性很差的产品。(F ) 4、软件测试员可以对产品说明书进行白盒测试。(F ) 5、静态白盒测试可以找出遗漏之处和问题。( T)

实验六_三角形问题的基本路径测试解答

实验六三角形问题的基本路径测试 主要代码如下: 1.If (inta >= intb + intc) _ 2. Or (intb > =inta + intc) _ 3.Or (intc >= intb + inta) Then 4. strMsg = "三角形两边之和必须大于第三边" + vbCrLf + "非三角形" 5.Else 6. If (inta = intb) _ 7.And (intb = intc) Then 8. strMsg = "三角形的三条边都相等" + vbCrLf + "等边三角形" 9. Else 10. If (inta = intb) _ 11.Or (inta = intc) _ 12.Or (intc = intb) Then 13. strMsg = "三角形的任意两边相等" + vbCrLf + "等腰三角形" 14. Else 15. strMsg = "三角形的各边均非等" + vbCrLf + "普通三角形" 16. End If 17. End If 18.End If

1.根据上面的代码画出程序的控制流图。 2.计算环路复杂度。 V(G)=9 3.求出基本路径组合。 P1: 1-4-18 P2: 1-2-4-18 P3: 1-2-3-4-18 P4: 1-2-3-6-7-8-17-18 P5: 1-2-3-6-10-13-16-17-18 P6: 1-2-3-6-10-11-13-16-17-18 P7: 1-2-3-6-10-11-12-13-16-17-18 P8: 1-2-3-6-10-11-12-15-16-17-18

往届考题-测试基础

试题结构说明 1.共四大题 1.单选40题 2.多选20道题 3.判断10道题 4.简答1道题 字体标注为红色的为不确定的,可能与原题不相符 标注为“?”的表示没有收集到 文档说明 1.共四大题 1.单选40题 2.多选20道题 3.判断10道题 4.简答1道题 字体标注为红色的为不确定的,可能与原题不相符 标注为“?”的表示没有收集到 测试基础 一、单项选择题(选择一个正确的答案,将相应的字母填入题的括号中) 1、白盒测试方法不包括 (A) 数据流测试;(B) 控制流测试;(C) 随机测试;(D) 符号求值 解析:白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、Z路径覆盖、程式变异。答案C为黑盒测试的一种方法。 2、白盒测试缺点不包括 (A) 无法检测数据敏感性错误 (B) 代码覆盖率低 (C) 测试基于代码,可能会漏掉一些功能需求 (D) 当系统庞大时,测试开销会非常大 解析:白盒测试的优缺点 ------- 优点 ·迫使测试人员去仔细思考软件的实现 ·可以检测代码中的每条分支和路径 ·揭示隐藏在代码中的错误 ·对代码的测试比较彻底,故答案为B。 ·最优化 -------缺点 ·昂贵 ·无法检测代码中遗漏的路径和数据敏感性错误 ·不验证规格的正确性 3、关于性能测试说确的是 (A) 不是为了发现软件缺陷 (B) 压力测试与负载测试的目的是为了探测软件在满足预定性能情况下而能承受的最大压力 (C) 通常需要对测试结果进行分析才能获得结论 (D) 在性能下降曲线下,最大建议用户数通常处于性能轻微下降区和急剧下降区临界处 解析:性能测试通用模型(PTGM模型)的最后一步就是测试结果分析,说明性能测试通常要对测试结果进行分析才能获得测试结论,故C正确。软件的性能是软件的一种非功能特性。软件性能测试包括以下几方面的目标:①发现性能缺陷;②性能调优;③能力检验和规划。其中性能测试的首要目标应该就是发现软件性能缺陷,说明A说法不正确。压力测试与负载测试虽然都是要对软件施加业务压力,但其根本目的完全不同,负载测试的目的是为了探测软件在满足预定性能需求的情况下所能负担的最大压力,但压力测试的目的是利用压力来揭示软件中存在的潜在缺陷,故B说法不正确。在性能下降曲线上,最大建议用户数通常处于平坦区和性能轻微下降区的交界处,所以D说法错误。

实训题目基本路径测试用例设计上机

实训目的: 1、一步熟悉白盒测试的方法和策略 2、点掌握圈复杂度概念和基本路径测试用例设计方法 3、增强测试经验 实训地点:机房实训课时:2 课时实训重点、难点:基本路径测试用例设计实训安排:首先讲解基本路径测试设计测试用例的步骤,要求学生注意总结方法和技巧,然后布置上机任务,要求学生对照课件和课本完成上机任务。老师在机房进行辅导。 实训步骤: 一、Void sort(int i,int j,int k) 1{ 2int m,n,p; 3m=n=p=0; 4if (i>5 and j<8) 5m++; 6else 7if(k>=9) 8n++; 9else 10 p++; 12 } 按照基本路径测试方法设计测试用例? 1 、画流图,计算复杂度 2、导出测试用例

阅读下列说明,回答问题1 至问题3,将解答填入答题纸的对应栏内。【说明】 使用基本路径法设计出的测试用例能够保证程序的每一条可执行语句在测试过程中至少执行一次。以下代码由C 语言书写,请按要求回答问题。 Int IsLeap(int year) 1{ 2if (year % 4 == 0) 3{ 4if (year % 100 == 0) 5{ 6if ( year % 400 == 0) 7leap = 1; 8else 9leap = 0; 10 } 11 else 12 leap = 1; 13 } 14 else 15 leap = 0; 16 return leap;

17 } 【问题1】(3 分) 请画出以上代码的控制流图 【问题2】(4 分) 请计算上述控制流图的圈复杂度V (G)(独立线性路径数) 【问题3】(8 分) 假设输入的取值范围是1000 < year < 2001请, 使用基本路径测试法为变 year 设计量测试用例,使其满足基本路径覆盖的要求。

1407040248_周立群_白盒测试试题详解

第五章白盒测试 一、判断分析题 1.语句覆盖是最弱的逻辑覆盖。(√) 2.语句覆盖是最强的逻辑覆盖。(X) 3.判定覆盖不一定包含条件覆盖。(X) 4.条件覆盖不一定包含判定覆盖。(√) 5.判定/条件覆盖能同时满足判定、条件两种覆盖标准。(√) 6.判定/条件覆盖指满足判定覆盖标准或条件覆盖标准。(X) 7.DD-路径图是一种压缩图。(X) 8.详细设计的目的是为软件结构图中的每一个模块确定使用的算法和块内数据结构,并用 某种选定的表达工具给出清晰的描述。(X ) 9.尽量用公共过程或子程序去代替重复的代码段。(X) 10.对于连锁型分支结构,若有n个判定语句,则有2n条路径。(√) 11.尽量采用复合的条件测试,以避免嵌套的分支结构。(√) 12.GOTO语句概念简单,使用方便,在某些情况下,保留GOTO语句反能使写出的程序 更加简洁。(√) 二、简答题 1.请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区 别与联系。 答:黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。单元测试(模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。集成测试(也叫组装测试,联合测试)是单元测试的逻辑扩展。它的最简单的形式是:两个已经测试过的单元组合成一个组件,并且测试它们之间的接口。从这一层意义上讲,组件是指多个单元的集成聚合。在现实方案中,许多单元组合成组件,而这些组件又聚合成程序的更大部分。方法是测试片段的组合,并最终扩展进程,将您的模块与其他组的模块一起测试。最后,将构成进程的所有模块一起测试。系统测试是将经过测试的子系统装配成一个完整系统来测试。它是检验系统是否确实能提供系统方案说明书中指定功能的有效方法。(常见的联调测试)系统测试的目的是对最终软件系统进行全面的测试,确保最终软件系统满足产品需求并且遵循系统设计。验收测试是部署软件之前的最后一个测试操作。验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。

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