基于场景的测试方法
要点:
场景是一种有假设条件的故事,可以辅助我们来把一个复杂的问题或系统像过电影一样过一遍。对,我们就像电影导演一样来把整个场景都设想出来。在1950年前后,场景在军事计划中非常流行(对我们又一次看到,最好的技术和最先进的想法总源于军事需要)。在1970年,皇家荷兰壳牌石油公司采用了基于场景的计划方法,大获成功,随之带动了基于场景的计划方法在商业领域的盛行。基于场景的测试方法就是在场景的基础上进行测试。
场景分析法概述
场景 :事件触发时的情景便形成了场景
通过运用场景来对系统的功能点或业务流程的描述,从而提高测试效果的一种方法
注意:分析软件应用的场景,从用户的角度出发,从场景的角度来设计测试用例,是一种面向用户的测试用例设计方法
模拟用户在不同的场景下进行冒烟测试,主要针对主要流程与业务功能进行测试的一种方法叫做场景测试分析法
1.基于场景测试的难点
基于场景的测试中需要解决的核心和难点问题在于:
(1)如何根据测试的业务构建基本流和备选流.
(2)如何基于这些事件流构建场景,以满足测试完整性和无冗余的要求.
(3)如何根据场景设计测试用例.
2.基本流和备选流的设置:
针对每个要测试的业务,将构建一个基本流和若干备选流。
(1)基本流:
基本流是从系统的某个初始状态开始,经一系统列状态变化后到达终止状态的过程中最主要的一个业务流程。所谓“基本”意指该事件流是整个业务流程中最基本的一个流程,基本流所涉及的业务规则不一定很复杂,但通常被认为是一条最高风险的业务流程,例如(该业务流程所包含的功能点是用户最常使用的功能,该流程所对应的用户操作是需求中规定的正确的操作,能反应绝大多数用户操作被测试系统的顺序,或者该流程所包含的功能点涉及某个复杂的核心算法,必须确保其正确性),从风险的角度来说围绕某个被测业务的基本流只有一个,且应确保基本流的执行正常无误。
基本流:正常的用例场景(有效等价)正向思维
例如动脑商城:注册成功--登录商城→选择商品→加入购物车→结算→填写地址→生成订单→支付→收货→好评
2.备选流
备选流是以基本流为基础,在经过基本流为基础,在经过基本流上每个判定节点(包括条件判定和循环判定)处满足不同的触发条件而导致的其它事件流。
与基本流不同的是,基本流是一条从初始状态到终止状态的完整的业务流程,而备选流仅仅是业务流程中的一个执行片段。根据起始节点和终止节点的形式不同,得到的备选流的类型也不同,备选流是反向执行的,类似于程序中循环结构。
1.基本流
测试重要性:重要
数目:1条
初始节点数:系统初始状态
是否完整的业务流程:是
是否构成场景:是
2.备选流
测试重要性:次要
数目:1条或多条
初始节点数:基本流或系统其它终止状态
是否完整的业务流程:否,仅业务流程的执行片段
是否构成场景:否,需要基本流共同构成场景
场景是基本流流与备选流的有序集合。一个场景可以仅包含一个基本流,也可由基本流和至少一条备选流共同构成,场景实际是用于描述流经用例路径,从一个测试用例开始到该测试用例结束应遍历该路径上所有的基本流和备选流,因此,一个测试用例唯一对应一个场景。
基本原理:
场景1:基本流;
场景2:基本流+备选流1;
场景3:基本流+备选流2;
场景4:基本流+备选流2+备选流3;
场景5:基本流+备选流2+备选流4;
场景6:基本流+备选流5;
场景7:基本流+备选流1+备选流2+备选流5;
场景8:基本流+备选流1+备选流2+备选流3;
场景9:基本流+备选流1+备选流2+备选流4;
除了以上8个场景之外还可以构建更多的场景,由此带来一个棘手的问题,当备选流数量众多时,场景的构建实际上等同于业务执行路径的构建,备选流越多,则执行路径越多,与程序执行路径问题类似,将导致场景爆炸的问题
(1) 最少的场景数等于事件流总数,即基本流与备选流总数.
(2) 有且唯一有一个场景仅包含基本流。
(3) 对应某个备选流至少应有一个场景覆盖该备选流,且在该场景中应尽量避免覆盖其它的备选流
基本。
基于场景测试用例设计一般步骤如下:
(1)分析被测业务,基于风险的思想找到基本流和备选流;
(2)根据基本流和备选流构造适当规模的场景;
(3)根据场景设计测试用例;
(4)对每个测试用例补充测试数据,并实施测试;
1.正常流程:
1.用户注册-成功
2.用户登录-成功
3.购物流程 -买买买成功-商品库存量足够
2.异常流程:
1.用户注册-成功
2.用户登录-成功
3.购物流程-买买买失败,失败原因:商品库存量不足-商品缺货
3.购买流程:
有一个在线购物的实例,用户进入一个在线购物网站进行购物,选购物品后,进行在线购买,这时需要使用帐号登录,登录成功后,进行支付交易,交易成功后,生成订购单,完成整个购物过程。