当前位置:文档之家› 基本路径测试法(第4章第4节)

基本路径测试法(第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
9 if(iType==1)
10 x=y+10;
11 else
12 x=y+20;
13 }
14 }
第一步:画出控制流图
第二步:计算圈复杂度
测度的软件度量,将该度量用于计算程序的基本的独立路径数目,为确保所有语句至少执行一次的测试数量的上界。

有以下三种方法计算圈复杂度:
1、流图中区域的数量对应于圈复杂度;
2、给定流图G的圈复杂度-V(G),定义为V(G)=E-N+2,E是流图中边的数量,N是流图中结点的数量;
3、给定流图G的圈复杂度-V(G),定义为V(G)=P+1,P是流图G中判定结点的数量。

第三步:导出测试用例
根据上面的计算方法,可得出四个独立的路径:
路径1:4-6-7-13-4-14
路径2:4-6-9-12-13-4-14
路径3:4-6-9-10-13-4-14
路径4:4-14
根据上面的独立路径,去设计输入数据,使程序分别执行上面四条路径。

课堂练习
Void sort(int i,int j)
{
int m,n,k;
m=n=k=0;
while(i++<11)
{
if (j<5)
m++;
else
if(j<8)
n++;
else
k++;
}
Printf(“%d,%d,%d”,m,n,k);
}
按照基本路径测试方法设计测试用例?
1、画流图,计算复杂度
2、导出测试用例
补充介绍:
复合条件的用例设计
使用幻灯片15、16对课本知识进行扩充。

(课堂思考练习?)
三.小结:
1、基本路径测试方法思想
2、基本路径测试方法举例
3、复合条件的用例设计
作业布置:
1、课本习题105面第
2、3题。

相关主题