流程类测试用例设计方法和测试策略

对于测试人员来说,流程类测试是测试过程中必不可少的一类测试,有没有一些方法或者技巧,能够保证流程类测试用例的设计比较高效呢?下面我跟大家分享一下:

流程类测试方法主要有四类,语句覆盖、分支覆盖、全覆盖、最小无关覆盖。语句覆盖和分支覆盖的覆盖面相对比较窄,其场景主要适用在单元测试和集成测试中;全覆盖工作量比较大,常见于业务流程都比较重要且需要全部覆盖的场景;最小无关覆盖是相对最优的选择,性价比最高,可以适用于各个测试阶段和测试场景。

流程类用例设计四步走:1、流程图分解;2、测试点整理;3、测试数据填充;4、测试场景完善;

步骤一:流程图分解原则是每个流程图都只有一个输入和一个输出;

步骤二:根据分解后的流程图进行测试点整理;可以根据全覆盖或者最小无关覆盖进行编写;

步骤三:根据等价类、边界值、正交法整理测试数据,填充到测试点中;

步骤四:根据产品设计流程、业务处理流程、线上应用场景等补充和完善测试场景;

举个例子,从北京到上海可以有多种交通工具,飞机、火车、汽车、骑车都可以。假定飞机是从首都机场到上海虹桥机场,火车是从北京西站到上海站,汽车是从北京天安门到上海外滩,骑车是从北京颐和园到上海迪士尼。通过步骤一,可以将只有一个输入和一个输出的先找出来,比如乘坐飞机模式下的首都机场和上海虹桥机场。通过步骤二,可以将分解后的流程图肢解出一个一个的单点,比如说首都机场到上海虹桥机场,可以有两种类型,直飞或者中转,每种类型又有多个航班和日期可供选择。通过步骤三,可以细化单个测试点的数据输入,如飞机的大小、起飞落地时间、起飞日期、机票价格、航空公司等。通过步骤四,可以根据实际多种场景补充和完善,如天气模拟、特殊节假日模式、突发事件模拟等。我认为步骤四是最难的,因为这个阶段补充设计的测试用例通常属于系统级别类的,需要对产品实现、业务流程、客户真实场景等非常的熟悉。

通过以下两个流程图来具体示例。

示例一:客户通过企业WIFI进行网络连接场景,有两种连接方式,公共WIFI(无需密码即可以登录)和内部WIFI(需要密码才可以登录)。比较典型的单输入两输出场景。

流程类测试用例设计方法和测试策略_第1张图片

步骤一、分解流程图

第一次分解如下,其实还不满足只有一个输入和输出;需要进行二次分解。

流程类测试用例设计方法和测试策略_第2张图片

第二次分解如下。

流程类测试用例设计方法和测试策略_第3张图片

步骤二、整理测试点;

根据全覆盖,可以分为五个测试点。

步骤三、填充测试数据,手机机型、选择WIFI名称、密码设置、连接成功验证等。

步骤四、补充测试场景,连接内部WIFI时不输入密码、在不同位置连接WIFI、WIFI和数据网络同时连接、WIFI上传下载速率等。

示例二:用户使用不同的开锁方式进行手机解锁,假设设定了三种解锁方式(指纹解锁、密码解锁、团解锁),连续三次解锁失败则锁定(一定时间内禁止解锁)。比较典型的多输入多输出场景。

流程类测试用例设计方法和测试策略_第4张图片

步骤一、分解流程图

流程类测试用例设计方法和测试策略_第5张图片

步骤二、整理测试点

原来的流程图分解为了6个小流程图,从左到右依次编号为图1-图6。

图1分解为3个测试点,图2为1个,图3-6与图1-2类似,故图1-6分解为12个测试点。

步骤三、填充测试数据,指纹解锁(几个指纹、那个手指等)、密码解锁(密码难易度、密码长度等)、图案解锁(图案复杂度等);

步骤四、补充测试场景,指纹解锁(有汗、有灰尘等场景下)、各种解锁场景交叉和跳跃(比如第一次指纹、第二次密码、第三次图案等)、异常场景模拟(一种解锁方式连续失败三次后,一定时间内停止解锁,在这个时间段内尝试切换为另一种解锁方式,在这个时间段外尝试另一种解锁方式)、多种解锁方式反复解锁等。

总之,我认为流程类的测试用例设计,可以理解为路径的选择和覆盖。流程类用例设计四步走(流程图分解;测试点整理;测试数据填充;测试场景完善),我认为可以用八字口诀法简单记忆:分路、选路、铺路、补路;其中分路类比流程图分解、选路类比测试点整理、铺路类比测试数据填充、补路类比测试场景完善。用例的编写需要非常多的经验积累和实战操作,编写方法本身不难,但是应用起来会变幻莫测,尤其是在最后一步“测试场景完善”中,你的测试功底(包括业务能力和技术能力)有多深,会体现的非常明显。

你可能感兴趣的:(测试杂谈--测试技术,测试方子)