文章目录
业务流程测试
一、业务流程测试介绍
简介
-
流程测试是测试人员把系统各个模块连贯起来运行、模拟真实用户实际的工作流程,满足用户需求定义的功能来进行测试的过程。
-
业务流程测试是系统测试最重要的内容,而测试的依据就是用户定义的需求和测试人员的测试设计
-
工作重点应该是放在尽可能全面的收集需求要点、了解整体的业务流程、分析主体业务流程和重点业务流程等工作上。
业务流程整理
-
1.充分掌握业务知识,业务流程以及业务的数据流向
- 站在用户的角度思考,而不仅仅考虑在系统中如何操作业务流程;搞清楚每一项业务中的详细流程和各个环节涉及的角色,一项比较复杂的业务其详细流程往往比较多,只有了彻底掌握了这项业务,才能对当前业务环节进行全方位的测试。
-
2.从需求人员或者客户那里了解到各业务流程的重要程度和使用频率。(这点对把握测试重点很重要)
-
3.了解业务流程在系统中对应的功能。(建立业务与系统的映射,为编写测试用例做好准备)
业务流程测试相关
-
业务流程测试的关注点:
- 关注点在核心业务是否能够跑通
-
重点不是关注单个功能模块的细节点
-
进行业务流程测试的时机
- 上线前进行业务流程测试的确认
- 单功能模块基本可用的情况下,尽早进行(冒烟测试)
业务流程测试用例设计
-
需求分析,明确流程
-
画出流程图或者思维导图
-
编写测试用例,一条路径对应一条测试用例
- 路径比较多时,可以对所测业务路径设置优先级
测试执行
-
主要在下面几个阶段执行业务流程测试:
-
1.最主要是在系统测试阶段进行(将优先级高的主要业务流程测试用例作为冒烟测试用例)
-
2.在集成测试的后期,已经对部分业务测试流程进行了测试,可以根据系统集成的顺序,在集成测试阶段对部分业务流程进行测试。集成测试阶段重点是测试功能点,功能点测试存在严重问题,是无法进行业务流程测试的,所以一般是等功能比较稳定的时间才会进行业务流程测试。
-
3.验收测试
-
二、业务流程分析
前言
- 业务流程分析方法从不同的角度分析,对系统的业务比较清楚的描述出来,使得测试过程中业务流程覆盖率更全面。
面向过程分析
定义
- 面向过程分析主要是在分析系统业务时,清楚的分析出业务流转过程中正常操作所经历的步骤,及其在各步骤所产生的场景,这些场景形成了测试过程中的业务测试案例。
面向过程分析过程与步骤
-
1.首先确定业务流程过程的步骤划分,即整个业务流程都有那些核心步骤,并进行标号。
-
2.确定业务操作流程的主事件流,即业务能够正常进行下去的业务操作。
-
3.确定业务操作的备选事件流,即此业务流程在流转过程中,由于条件的变化产生的其他业务流程。
-
4.根据主事件流和备选事件流的的结果,构造出场景,并形成场景表。
-
5.形成业务流程的测试案例,每个场景为一案例。
主事件流和备选事件流说明
-
主事件流
-
1)每一个步骤都需要用数字编号以清楚地标明步骤的先后顺序。
-
2)用一句简短的标题来概括每一步骤的主要内容,然后针对每一步骤详细描述参与者和系统之间所发生的交互。每一步骤都需要从正反两个方面来描述:
- 参与者向系统提交了什么信息;
- 对此系统有什么样的响应。
-
3)在 描述参与者和系统之间的信息交换时,需指出来回传递的具体信息。例如,只表述参与者输入了客户信息就不够明确,最好明确地说参与者输入了客户姓名和地址。
-
4)描述主事件流时应该使用主动语态,不要出现被动式。
-
-
备选事件流
-
在描述备选事件流时,应该包括以下几个要素:
-
起点:该备选事件流从事件流的哪一步开始;
-
条件:在什么条件下会触发该备选事件流;
-
动作:系统在该备选事件流下会采取哪些动作;
-
恢复:该备选事件流结束之后,该UseCase应如何继续执行。
-
-
备选事件流的描述格式可以与基本事件流的格式一致,也需要编号并以标题概述其内容,编号前可以加以字母前缀以示与基本事件流步骤相区别
-
实例分析
-
业务流程的过程步骤确定
-
1.选择缴费支付功能,交手机费;
-
2.输入手机号码信息,提交移动系统认证
-
3.移动系统认证通过,显示应缴费信息;
-
4.选择缴费账户,提交
-
5.进行密码确认,输入密码提交
-
6.网银将从银行账户把手机费转入到移动系统账户,并对银行系统系统提交一个转账请求
-
7.银行核心系统认证通过帐户动态口令后,将转出方帐户的钱转移到一个 转入方帐户上,并将转账成功的消息通知网银系统
-
8.网银在获知银行系统转账成功后,通知移动计费系统对客户手机号码充值
-
9.网银在获知移动计费系统对客户手机号码充值成功后,通知客户缴费成功
-
10.客户通过缴费支付记录查询,进一步确认交易成功
-
-
从以上的手机缴费操作过程来看,如果不能做到对于缴费过程清晰表明出来,那么就会漏测某些功能。
-
主事件流
-
1.在网银系统首页,客户选择缴费支付功能区的缴费支付激活此用例。
-
2.输入手机号码信息
− 客户选择收费单位所在地区:北京市
− 客户选择缴费支付项目类别:通讯服务类
− 客户选择收费单位:北京移动手机费
− 客户选择缴费内容:北京移动手机代理缴费
− 客户输入手机号码:1360*******
客户点击下一步,网银将收机号码提交移动系统认证 -
3.移动系统认证通过后,返回“请输入缴费信息”页面,显示应缴费金额
-
4.在“请输入缴费信息”页面,客户选择缴费帐户:62270000147100860**,点击下一步,进入“请确认缴费信息”页面
-
5.客户输入动态口令:423597
-
6.网银将缴费金额,转出方(客户帐户)以及转入方帐户(移动公司)信息,构造成转账请求消息提交给银行核心系统
-
7.银行核心系统认证通过帐户动态口令后,将转出方帐户的钱转移到一个 转入方帐户上,并将转账成功的消息通知网银系统
-
8.网银在获知银行系统转账成功后,通知移动计费系统对客户手机号码充值
-
9.网银在获知移动计费系统对客户手机号码充值成功后,通知客户缴费成功
-
10.客户通过缴费支付记录查询,进一步确认交易成功
-
11.客户退出缴费支付功能区,用例结束
-
-
备选事件流
-
备选事件流1
手机号码不正确 在主事件流的步骤2- 输入手机号码中,如果输入的手机号码不正确,则系统提示“非法手机号”,客户点击确定后,回到主事件流步骤2,重新输入手机号码。 -
备选事件流2
帐户状态不对 在主事件流的步骤6-银行认证中,如果该帐户状态不正确,如挂失、冻结等不能取款的状态,系统将提示帐户状态错误信息。客户确认后,回到主事件流步骤4,重新选择账号 -
备选事件流3
帐户中现金不足 在主事件流的步骤6-银行扣款的过程中,如果客户帐号中的金额小于在主事件流步骤3中移动返回的缴费金额,系统将显示相应的消息,客户确认后,回到主事件流步骤4,重新选择账号 -
备选事件流4
超出每日最大限额 在主事件流的步骤6-银行扣款的过程中,如果银行系统返回一个错误码标明客户所要取的金额已经超出了24小时内所允许取的最大限额,系统将显示相应的消息,客户确认后,回到主事件流步骤4,重新选择账号 -
备选事件流5
用户取消 用户在主事件流的任何一步骤,都可以通过点击取消按钮或关闭网页的方式,中断缴费操作,Use Case执行结束 -
备选事件流6
没有收到充值成功消息 在主事件流的步骤9-如果网银系统没有收到移动计费系统充值成功的消息,则会把从客户帐户中已经扣掉的款项返还给客户,Use Case结束 -
备选事件流7
缴费密码输入错误 在主事件流的步骤5-输入动态口令部分,如果客户输入动态口令有误,网银将会提示客户重新输入,如果输错超过三次,则此Use Case结束
-
-
构造场景
- 编号 场景名称
1.正常缴费 主事件流
2.非法手机号 主事件流 备选流1 主事件流
3.账户状态不对 主事件流 备选流2 主事件流
4 账户现金不足 主事件流 备选流3 主事件流
5 超过支取额度 主事件流 备选流4 主事件流
6 取消操作 主事件流 备选流5 主事件流
7 充值失败 主事件流 备选流6 主事件流
8 缴费密码错1次 主事件流 备选流7 主事件流
9 缴费密码错2次 主事件流 备选流7 备选流7 主事件流
- 编号 场景名称
-
生成案例
根据上面的场景图,最终此业务流共9个测试案例,1个业务正例,8个业务反例。
面向角色分析
定义
- 面向角色分析是在做业务需求分析时,把系统中的各功能操作按角色及角色权限划分出来,执行业务流程时,按角色权限执行相应的业务操作。
测试注意事项
- 1.测试过程中每一角色在系统中的操作是否满足该角色的权限。
- 2.对于角色在系统中的操做是否超出了该角色所具有的操作权限。
怎样分析系统中的角色
- 1.系统中有哪些角色?
- 2.每个角色都能做什么事情?
- 3.每个角色都对应哪些岗位的人?
- 4.这些角色所要实现的功能是否已实现?
- 5.是否已分析系统中的所有权限?
实例分析(以一个流程为例)
-
对于一个公司使用的OA系统统怎么进行角色分析呢?
-
1.首先确定有哪些角色:系统管理员、普通用户、部门领导、总经理
-
2.每个角色都包括哪些人呢?:
系统管理员:一般指定给一个人
普通用户:公司的普通员工
部门领导:公司内的各部门领导
总经理:公司的最高领导人
-
-
3.每种角色都能做什么工作?
系统管理员:维护管理公司OA平台并对公司各人员进行角色划分和权限分配。
普通用户:可以接收邮件,看通知和其他权限内的操作。
部门领导:对部门内员工的管理,例如请假的审批等
总经理:具有最大权限,可以对OA平台内的所有功能具有查询和审批权限。 -
4.业务流程与角色结合来分析一个业务流程。
-
1.确定角色:拟稿部门、拟稿部门领导、办公室人员,办公室领导
-
2.确定角色对应人员
拟稿角色:政府机关的各部门人员
拟稿核稿:政府机关各部门领导
办公室人员:办公室的所有人员
办公室领导:办公室主任 -
3.每种角色在整个发文流程中的权限
拟稿角色:进行发文拟稿,并发送给部门领导核稿。
拟稿核稿角色:拟搞部门核稿
办公室人员:办公室核稿、合法性审核、发文登记、印制、校对、封发和送归档科室。
办公室领导:签发 -
4.确定角色与流程中的关系后,按角色画出流程图,一目了然看清楚角色在流程中的权限。
如下图:
-
三、状态迁移法
状态迁移法介绍
-
概念:
- 基于系统中模块或节点之间的状态。来描绘状态与状态之间的关系,从而找到状态之间转化的路线设计测试用例的一种方法。
-
适用场景
- 需要针对复杂业务场景设计测试用例时
-
使用步骤:
- 1.找出系统所有的节点
- 2.绘制状态迁移图
- 3.绘制状态迁移树
- 4.找出状态之间的转换路径
订单测试
需求说明:
1.用户在网站完成下单后,订单状态为“等待付款”
2.用户完成付款后,订单状态变为“待发货”
3.管理员对订单进行确认并发货后,订单状态变为“待收货”
4.用户收到商品后,在系统中进行确认收货,订单状态变为“待评价”
5.用户使用商品后,对商品进行评价,评价提交后,订单状态变为“已完成”
6.商品发货前,用户可以对订单进行取消操作,取消后订单状态变为“已取消”
7.用户付款前,管理员可以认定订单无效,此时订单处于“已作废”状态
-
1.找出流程节点与状态
- 【等待付款】、【待发货】、【待收货】、【待评价】、【已完成】、【已取消】、【已作废】
-
2.绘制状态迁移图
-
3.绘制状态迁移树
-
4.找到状态之间转换的所有路径
路径 | 状态 |
---|---|
路径1 | 【等待付款】》【待发货】》【待收货】》【待评价】》【已完成】 |
路径2 | 【等待付款】==》【已作废】 |
路径3 | 【等待付款】==》【已取消】 |
路径4 | 【等待付款】》【待发货】》【已取消】 |
四、流程图绘制
流程图符号解释
- 椭圆:开始/结束
- 箭头:路径,流程的走向
- 平行四边形:数据的输入/输出
- 长方形:处理/步骤/过程
- 菱形:判定/判断
绘制原则
-
不要漏掉流程路径
-
先有判断,再有判断结果
-
推荐将主业务流程放在最中间,便于阅读
案例
案例1:购物下单流程
- 下单流程测试用例: