热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

测试流程图_牛鹭学院:流程类测试用例设计方法和测试策略

对于测试人员来说,流程类测试是测试过程中必不可少的一类,那有哪些方法技巧能够保证流程类测试用例的设计比较高效呢?牛鹭学院今天就分享给大家&
a54014380258b68ee53a52a54f38ecb9.png

对于测试人员来说,流程类测试是测试过程中必不可少的一类,那有哪些方法技巧能够保证流程类测试用例的设计比较高效呢?牛鹭学院今天就分享给大家:

b682a580b3131f926db626a99bdfad7b.png

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

流程类用例设计四步走:

  1. 流程图分解
  2. 测试点整理
  3. 测试数据填充
  4. 测试场景完善

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

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

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

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

举个例子,从北京到上海可以有多种交通工具,飞机、火车、汽车、骑车都可以。假定飞机是从首都机场到上海虹桥机场,火车是从北京西站到上海站,汽车是从北京天安门到上海外滩,骑车是从北京颐和园到上海迪士尼。

通过步骤一,可以将只有一个输入和一个输出的先找出来,比如乘坐飞机模式下的首都机场和上海虹桥机场。

通过步骤二,可以将分解后的流程图肢解出一个一个的单点,比如说首都机场到上海虹桥机场,可以有两种类型,直飞或者中转,每种类型又有多个航班和日期可供选择。

通过步骤三,可以细化单个测试点的数据输入,如飞机的大小、起飞落地时间、起飞日期、机票价格、航空公司等。

通过步骤四,可以根据实际多种场景补充和完善,如天气模拟、特殊节假日模式、突发事件模拟等。步骤四阶段补充设计的测试用例通常属于系统级别类的,需要对产品实现、业务流程、客户真实场景等非常的熟悉。

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

示例一:

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

03ce0084715a124b7f857ec7b8de96af.png

步骤一:分解流程图

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

a3188bb6396aef33284ebc6e0a9b770f.png

第二次分解如下

340772d176e8ba0cbf934858505e6d11.png

步骤二:整理测试点

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

步骤三:

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

步骤四:

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

示例二:

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

70b5a5b1a251651c51361b928ad53878.png

步骤一:分解流程图

f644476d10bd5763e067baeac0b891f3.png

步骤二:整理测试点

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

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

步骤三:

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

步骤四:

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


流程类的测试用例设计,可以理解为路径的选择和覆盖。流程类用例设计四步走(流程图分解;测试点整理;测试数据填充;测试场景完善),我们可以用八字口诀法简单记忆:分路、选路、铺路、补路;其中分路类比流程图分解、选路类比测试点整理、铺路类比测试数据填充、补路类比测试场景完善。

用例的编写需要非常多的经验积累和实战操作,编写方法本身不难,但是应用起来会变幻莫测,尤其是在最后一步“测试场景完善”中,你的测试功底(包括业务能力和技术能力)有多深,会体现的非常明显。

————————————————

获取更多课程资讯、技术干货、学员笔记,关注牛鹭学院官方公众号:牛鹭软件测试训练营



推荐阅读
author-avatar
xuzhaotong
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有