-
1 电子教材
-
2 PPT
第一章 使用场景法设计测试用例
简介
前面所讨论的黑盒测试方法更侧重于测试数据的选择,例如,边界值测试重点考查边界及附近的数据,等价类测试侧重于在整个输入域中搜索代表性数据,落脚点仍在输入数据。对于复杂系统来说,首先需要从全局把握系统的招个业务流程,了解功能模块,在熟悉流程的基础上才能讨论局部细节的测试设计,如测试数据的选择。如何设计高层的测试用例呢?目前越来越多的软件采用事件触发来控制流程,事件触发时的情景形成场景,同一事件不同的触发顺序和处理结果就形成了事件流。以事件流为核心的场景法是高层测试设计的基础,在功能测试中使用较多。下面我们就来详细讨论场景法。
9.1 什么是场景法
9.1.1 使用场景法之前要考虑的问题
场景法的核心是事件流和场景,其中事件流包括基本流和备选流。用例场景用于描述流经用例的路径,从用例开始到用例结束应遍历该路径上所有的基本流和备选流。
注意,基本流只有一个,而备选流的数目则取决于基本流上判定节点的数目与事务分析的颗粒度,颗粒度越细,考虑越周全,得到的备选流数目就越多,相应的测试工作量就越大。
场景法要解决的问题如下。
(1)如何获取基本流和备选流。
(2)当路径上存在数量众多的备选流时,如何处理场景爆炸的问题。
9.1.2 试用场景法的一般步骤
场景法的一般步骤如下:
(l)构造基本流和备选流。
(2)根据基本流和备选流构造场景。
(3)根据场景设计测试用例。
(4)对每个测试用例补充必要的测试数据。
9.1.3 选用场景法的测试过程介绍
先以一个例子来简要说明场景法的测试过程,如图9-1所示。
图9-1中包含己知的基本流和4个备选流,共4个分支点,其中备选流1、2和4涉及的是条件判定节点,而备选流3涉及的是循环的情况。
1)基本流
基本流是从系统某个初始态开始,经一系列状态后到达终止状态的过程中最主要的一个业务流程。基本流涉及的业务规则并不一定很复杂,但它一般包含多数用户最经常操作的系统功能,应能反映绝大多数用户操作系统的特征。所谓基本,意指该事件流是整个业务流程中最基本的一个流程。因此,至少应确保系统基本流的执行正确无误。

图9-1 基本流和备选流
对于一个事件流图示而言,基本流只有一个。
2)备选流
备选流是以基本流为基础,在经过的每个判定节点(包括条件判定和循环判定)处满足不同的触发条件而导致的其他事件流。
与基本流不同的是。基本流是一条从初始状态到终止状态的完整业务流程,而备选流仅是业务流程中的一个执行片段。备选流的起始和终止节点具有多种形式。
Ø 起始节点从基本流的某个判定节点开始。
Ø 起始节点从其他备选流的某个判定节点开始。
Ø 终止节点是基本流上的某个状态。
Ø 终止节点是其他的系统终止状态。
对于一个事件流图示而言,备选流可以有多个。表9-1列出了基本流与备选流的区别。
表9-1基本流与备选流的区别
条目 | 基本流 | 备选流 |
测试重要性 | 重要 | 次要 |
数目 | 1条 | 1条或多条 |
初始节点位置 | 系统初始状态 | 基本流或其他备选流 |
终止节点位置 | 系统终止状态 | 基本流或系统其他终止状态 |
是否是完整的业务流程 | 是 | 否,仅为业务流程的执行片段 |
能否构成场景 | 能 | 否,需和基本流共同构成场景 |
3)场景
所谓场景,可以看做是基本流与备选流的有序集合。场景中应至少包含一条基本流。由图9-2所示,可得到以下场景(更多场景不再一一列出)。
Ø 场景 1 :基本流
Ø 场景 2 :基本流+备选流 1
Ø 场景 3 :基本流+备选流 3
Ø 场景 4 :基本流+备选流 4
Ø 场景 5 :基本流+备选流 l +备选流 2
Ø 场景 6 :基本流+备选流 3 +备选流 1
Ø 场景 7 :基本流十备选流 3 +备选流+备选流 2
Ø 场景 8 :基本流十备选流 3 +备选流 4
从以上场景中我们可以发现,每个场景中可以包含的备选流数目并不确定,而且可以多次包含相同的备选流。当然,场景中包含的事件流数目越大,则场景越复杂,测试越困难。场景的设计其实就是业务执行路径的构造,备选流越多,特别是包含循环情况的备选流越多,则生成的场景数量就越多,可能会引发场景数量的爆炸。因此,为了控制测试工作量,应选择最少的场景展开测试。
4)测试用例
己知测试场景,应进一步分析针对每个场景需要设计哪些测试用例,即系统需要哪些输入条件,哪些输入条件是触发条件,哪些条件必须有效,这些输入在该测试用例中可以取得哪些测试数据,最终将会得到怎样的系统预期输出。

