[黑盒测试基本方法]流程分析法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

流程分析法

一、什么是流程分析法

流程分析法主要针对测试场景类型属于流程测试场景的测试项下的测试子项进行设计,这是从白盒测试中的路径覆盖分析法借鉴过来的一种十分重要的方法。(白盒测试中,路径就是指函数代码的某个分支组合,路径覆盖法需要我们构造足够的用例覆盖函数的所有代码路径。)

在黑盒测试中,如果我们将软件系统的某个流程也看成路径的话,我们将可以尝试着用路径分析的方法来设计测试用例。

采用路径分析的方法设计测试用例有两点好处:一是降低了测试用例设计难度,只要搞清楚各种流程,就可以设计出高质量的测试用例来,而不用太多测试方面的经验;二是在测试时间较紧迫的情况下,可以有的放矢的选择测试用例,而不用完全根据经验来取舍。

二、操作步骤及实例分析

本工程方法具体的实施步骤如下:

步骤1:画出业务流程图

针对测试场景类型属于流程测试场景的测试项下的测试子项,先从其最基本的流程入手,将流程抽象成为不同单功能点的顺序执行。在最基本流程的基础上再去考虑次要或者异常的流程,这样将各种流程逐渐细化,最后完成完整的针对该测试子项的流程图。如下图所示,这样既可以逐渐加深对流程的理解,还可以将各个看似孤立的流程关联起来。

画流程图时需要注意:

1.圆圈描述系统状态,箭头描述该状态下的输入或外部因素(条件)引起的状

态迁移;

2.需要描述正常流程和异常流程;

3.若功能流程中涉及到多个实体的,可以画到一个流程图中,在圆圈或箭头的

描述部分对属于那个实体进行说明;

4.对于与被测试子项无关的分支不需要考虑。

步骤2:定义状态节点和条件分支

顺着功能流程,针对被测试特性的每一状态节点分析其输入(条件)、下一状态节点、输出,并填写下表:

1.分析过程是针对功能流程中的各个状态分别分析的;

2.输入需要考虑与被测试对象的各个接口,输入可能是外部用户输入、系统内

部定时触发、周边系统输入等;

3.输入的分析需要详细到参数级别;

4.对系统处理的分析过程中,需要全面考虑处理过程用到那些资源,查过那些

表格,对用户状态做过哪些判断等。这些关键点如果是外部可控的,都可以列入到输入中去;

5.输出是观察点的重要依据,表示系统沿流程分支处理业务时的输出,包括消

息输出、后台输出、本地数据记录等;

6.对于系统不处理的输入,或没有必要测试的输入,在表格中标出。

注:在分析过程中,会发现存在状态是在其他功能流程中已经分析过的,那么不需要重复分析。

分支优先级根据两个原则来选取:一是分支使用的频率,使用越频繁的优先级越高;二是分支点重要程度,如果失败对喜用影响越大的优先级越高。将根据两个原则所得到的路径各分支的优先级相加就得到了整个路径的优先级。

步骤3:确定测试路径

步骤2确定了每个分支的优先级后,将组成路径的各个分支的优先级相加就得到了路径的优先级。给每条路经设定优先级,这样在测试时就可以先测优先级高的,再测优先级低的,在时间紧迫的情况下甚至可以考虑忽略一些低优先级的路径。根据优先级的排序就可以更有针对性的进行测试。

根据每条路经的优先级和测试进度情况,选取需要测试的路径,达到规定的路径覆盖率。这里每条路经对应一个或多个测试用例规格,将测试用例规格填入下表:

其中“覆盖路径”指该用力覆盖的路径的分支序列;“覆盖的样点”指该分支序列上某个或者某几个状态点的输入的等价类点或者边界点。

通常对于有向图,采用基本路径覆盖发,对于每条基本路径规划一个用例对其进行覆盖。这里需要理解以下概念:

- 1. 环路复杂度:又想吐的闭合区域数+1;

- 2. 基本路径:至少包含有一条在其他基本路径中从未有过的边的路径;

- 3. 基本路径数=环路复杂度。

这里计算环路复杂度(圈数)时,入口点要求入度(进入分支数)为0,出度(出发分支数)为1;出口点要求出度为0,入度为1。如果入口点不符合入度、出度要求(如下图),可以在入口点之上增加一个节点作为纯入口节点;出口点也可进行类似处理。经过上述处理后,入口点、出口点不会极可能出现在路径首末端,又可能出现在路径中间。

进行了如上处理后,再分析该有向图的基本路径。按基本路径的定义——至少包含有一条在其他基本路径中从未有过的边的路径,这个定义很容易产生歧义。这里参考线性空间的概念来理解,基本路径相当于所有路径空间(当有循环、为有向有环图时,路径数可能为无穷)的一组基,即路径空间的其他任意路径都可以有这些基本路径组合而成(这里的组合需要理解成向量基的四则运算,只能沿路径的正向和逆向进行运算)。如果一个路径可以由已有基本路径组合而成,则这个路径不是一条基本路径。

例如在某个有向图中,有两个循环,其基路径为:

路径1:1-2-3-6-7

路径2:1-2-3-2-4-6-7

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

若有一条路径4:1-2-3-2-4-6-5-6-7,则路径4不为基路径。因为路径4减去路径2=5-6,路径3减去路径1=5-6,所以

路径4=路径2+路径3-路径1。

步骤4:选取测试数据,构造测试用例

对选定的每条需要测试的路径,结合等价类、边界值分析,确定每个状态节点的输入,沿着该路径通过表格将各种测试数据的输入输出对应起来,这样就完成了测试用例设计。

三、实际应用

流程分析法主要用于又先后顺序的测试,例如

1.业务流程的测试;

2.安装流程的测试。

四、总结

流程分析发的重点在测试流程,因此每个流程用一个测试用例验证几颗,流程测试没有问题并不能说明系统功能就没有问题了,还需要针对单步的功能来进行测试,只有把这两者都测试到了,才能算是比较充分的测试。

相关文档
最新文档