Beng Dou

一只站在树上的鸟儿,从来不会害怕树枝断裂,因为它相信的不是树枝,而是它自己的翅膀。

导航

[ 黑盒测试方法 ] 场景分析设计方法

1、场景分析法概念

  分析软件应用的场景,从用户的角度出发,从场景的角度来设计测试用例,是一种面向用户的测试用例设计方法。先搞清楚以下几个概念:

  (1)用例场景:是通过描述流经用例路径来确定的过程。这个流经过程要从用例开始到结束遍历其中所有的基本流和备选流。

  (2)基本流:采用直黑线表示,是经过用例的最简单的路径,也就是功能正常实现的基本流程(流程无任何异常错误,程序从开始直到执行的结束)

  (3)备选流:采用不同颜色表示,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中,也可以起源于另一个备选流,或终止用例,不在加入基本流中。(各种错误情况)

  关于基本流和备选流直观图示如下图:

i

遵循图中每个用例经过的路径,可以确定以下场景:

场景1:基本流

场景2:基本流 备选流1

场景3:基本流 备选流1 备选流2

场景4:基本流 备选流3

场景5:基本流 备选流3 备选流1

场景6:基本流 备选流3 备选流1 备选流2

场景7:基本流 备选流4

场景8: 基本流 备选流3 备选流4

2、场景分析法特点

(1)分析软件应用的场景,从用户的角度出发,从场景的角度来设计测试用例,是一种面向用户的测试用例设计方法。

(2)关心用户做什么,而不是关心产品做什么

(3)优点:实用性强,有效,设计出来的用例有价值

(4)缺点:可能使用的场景不一定能对事件系列进行全面的分析,设计出来的用例不完整。

3、场景分析法设计测试用例步骤

(1)理解业务需求,分析业务基本流和备选流上所有会影响数据流走向的的各种因素,建议从用户操作角度拆分流程中各环节,同时考虑时间、网络等因素。

(2)组合场景中可能发生的事件序列。

(3)将环境因素和事件序列进行组合并进行分析推导,得到不同的场景。

4、场景分析法使用实例

  1、过桥问题。 4个人在晚上过一座小桥,过桥时必须要用到手电筒,只有一枚手电筒,每次最多只可以有两人通过(人多了桥支撑不住就塌了), 4个人的过桥速度分别为1分钟、2分钟、5分钟、10分钟,试问最少需要多长时间4人才可以全部通过小桥?

可能的事件序列1

(1)先过去2个人,其中一个拿手电筒(1分钟和2分钟)

(2)1个人拿手电筒返回(1分钟)

(3)再过去2个人,其中一个拿手电筒(5分钟和10分钟)

(4)1个人拿手电筒返回(2分钟)

(5)拿手电筒返回的人和剩下的那个人一起过桥( 1分钟和2分钟)

可能的事件序列2

(1)先过去2个人,其中一个拿手电筒(1分钟和2分钟)

(2)已过桥的人站在桥头拿手电筒照亮桥。

(3)剩下2个人一起过去(5分钟和10分钟)

环境因素(4个人、桥、手电筒、夜晚)

人:过桥的速度是一定的,所以只有他们的过桥行为会对总的过桥时间有影响。

人:有力学知识

人:4人的情况有所不同(年龄、身体)

桥:长度和承重

手电筒:照射距离和时间

夜晚:光线

由显性的环境因素分析出对结果有影响的因素后,就可以设计具体的过桥时的显性场景了。

  4个人为一家人,一对夫妻、一个老人和小孩,丈夫过桥1分钟,妻子过桥2分钟,小孩10分钟,老人5分钟。当时天上一片漆黑,在过桥的过程中没有手电筒无法看清桥面。手电筒照10米远,维持1小时左右。桥的长度60米,最多可以让2个人同时通过

Step1;丈夫和妻子先过到桥那边去(2分钟);

Step2:丈夫拿手电筒回来(1分钟);

Step3:丈夫背小孩一起过去(2分钟);

Step4:丈夫拿手电筒再回来(1分钟);

Step5:丈夫回来扶老人一起过去(5分钟)

隐性场景分析

(1)手电筒会不会掉到桥下或摔坏?手电筒带电池的吗?电池会不会没电

(2)过桥的过程中是否有山洪爆发或水突然涨高将桥淹没?或者下大雨

(3)会不会在过桥过程中有野兽嚎叫等因素影响他们的过桥速度?

(4)桥下面是什么?是水溪还是无水的沟谷还是很深的悬崖?

    隐性的环境因素和隐性事件很可能是一个无穷大的集合,在其中找出有用的场景是一个极大的挑战。分析隐性场景的几种方法:影响因素分析法、异常情况分析法、空间分解分析法和时间序列分析法。

影响因素分析法

(1)列出场景中的事件的结果;

(2)分析事件结果产生的原因;

(3)从原因中找出隐性环境。

(4)过桥问题中,事件主要是4个人过桥,结果是过桥花费时间。影响结果的因素主要有:过桥的方式、过桥的速度、过桥的过程

异常情况分析法

(1)分析现有场景中的异常情况和异常事件。

(2)异常情况包括已有环境中的异常和外部环境中的异常。

(3)要点:找出那些概率比较大的异常。

空间分解分析法

(1)空间是一个抽象的概念,软件中有许多形式,如数据空间、内存空间、磁盘空间等。

(2)将空间分解成一个个更小的空间块,然后分析这些小的空间块中环境和事件。

时间序列分析法

(1)分析现有场景中事件的发生从之前到之后的各个时间序列的场景。

(2)过桥之前、过桥期间、过桥之后

posted on 2018-06-22 07:24  锅边糊  阅读(1734)  评论(0编辑  收藏  举报