功能测试基础之业务流程测试

文章目录

  • 功能测试基础之业务流程测试
  • 前言
  • 一、面向结构分析
    • 定义
    • 实例分析
  • 二、面向过程分析
    • 定义
    • 面向过程分析过程与步骤
    • 主事件流和备选事件流说明
    • 实例分析
  • 三、面向角色分析
    • 定义
    • 测试注意事项
    • 怎样分析系统中的角色
    • 实例分析(以一个流程为例)
  • 四、面向状态分析
    • 定义
    • 交手机费状态图
    • 生成状态事件表
    • 交手机费状态图分析,生成事件状态表
    • 状态图与流程图的区别
  • 五、面向数据分析
    • 定义
    • 实例分析

前言

业务流程分析方法从不同的角度分析,有以下六种方法,分别是:
面向结构分析、面向过程分析、面向角色分析、面向状态分析、面向场景分析和面向数据分析。
通过上述方法的分析及结合使用,能对系统的业务比较清楚的描述出来,使得测试过程中业务流程覆盖率更全面。


一、面向结构分析

定义

面向结构分析主要是针对软件系统结构的分析,根据软件系统相互间的关系,得出系统中各各子系统、子系统各块间各功能的相互间关系和数据传输间的关系,从整体上来把握系统业务关系。特点是软件系统间的架构分析
系统功能模块间的关联关系的分析
数据结构是系统间的数据条件和结果


实例分析

例如信用卡系统进行不同的交易,就会与各子系统和外部系统产生不同的操作,以下面的两个例子进行分析。 信用卡进行行外交易,要做哪些操作,且在实际测试时如何要考虑系统间的关系? 行外交易——》中国银联——》龙卡系统——》信用卡核心系统——》银行卡综合业务系统——》总账系统。 在这个操作中,除了行外交易产生的最终结果处理正确时,在实际测试时,因为信用卡核心系统还要与总账系统交互,来保证平帐,所以发生交易后,信用卡核心系统数据变化正确,且总账系统的数据也要保证发生相同的变化,保持系统间的数据一致性。 信用卡发卡:信用卡核心系统——》制卡/发卡系统 由信用卡核心系统记录客户信息,把客户信息发送给制卡/发卡系统,生成信用卡账号及卡号。


二、面向过程分析

定义

面向过程分析主要是在分析系统业务时,清楚的分析出业务流转过程中正常操作所经历的步骤,及其在各步骤所产生的场景,这些场景形成了测试过程中的业务测试案例。


面向过程分析过程与步骤

1.首先确定业务流程过程的步骤划分,即整个业务流程都有那些核心步骤,并进行标号。
2.确定业务操作流程的主事件流,即业务能得到正常进行下去的业务操作。
3.确定业务操作的备选事件流,即此业务流程在流转过程中,由于条件的变化产生的其他业务流程。
4.根据主事件流和备选事件流的的结果,构造出场景,并形成场景表。
5.形成业务流程的测试案例,每个场景为一案例。


主事件流和备选事件流说明

1.主事件流
1)每一个步骤都需要用数字编号以清楚地标明步骤的先后顺序。
2)用一句简短的标题来概括每一步骤的主要内容,然后针对每一步骤详细描述参与者和系统之间所发生的交互。每一步骤都需要从正反两个方面来描述:
− 参与者向系统提交了什么信息;
− 对此系统有什么样的响应。
3)在 描述参与者和系统之间的信息交换时,需指出来回传递的具体信息。例如,只表述参与者输入了客户信息就不够明确,最好明确地说参与者输入了客户姓名和地址。
4)描述主事件流时应该使用主动语态,不要出现被动式。
2.备选事件流
在描述备选事件流时,应该包括以下几个要素:
1) 起点:该备选事件流从事件流的哪一步开始;
2) 条件:在什么条件下会触发该备选事件流;
3) 动作:系统在该备选事件流下会采取哪些动作;
4) 恢复:该备选事件流结束之后,该Use Case应如何继续执行。
备选事件流的描述格式可以与基本事件流的格式一致,也需要编号并以标题概述其内容,编号前可以加以字母前缀A(Alternative)以示与基本事件流步骤相区别


实例分析

在网银系统上交手机费,怎样来进行分析。
1.业务流程的过程步骤确定
1) 选择缴费支付功能,交手机费;
2) 输入手机号码信息,提交移动系统认证
3) 移动系统认证通过,显示应缴费信息;
4) 选择缴费账户,提交
5) 进行密码确认,输入密码提交
6) 网银将从银行账户把手机费转入到移动系统账户,并对银行系统系统提交一个转账请求
7) 银行核心系统认证通过帐户动态口令后,将转出方帐户的钱转移到一个 转入方帐户上,并将转账成功的消息通知网银系统
8) 网银在获知银行系统转账成功后,通知移动计费系统对客户手机号码充值
9) 网银在获知移动计费系统对客户手机号码充值成功后,通知客户缴费成功
10) 客户通过缴费支付记录查询,进一步确认交易成功
从以上的手机缴费操作过程来看,如果不能做到对于缴费过程清晰表明出来,那么就会漏测某些功能。
2.主事件流
1)在网银系统首页,客户选择缴费支付功能区的缴费支付激活此用例。
2)输入手机号码信息
− 客户选择收费单位所在地区:北京市
− 客户选择缴费支付项目类别:通讯服务类
− 客户选择收费单位:北京移动手机费
− 客户选择缴费内容:北京移动手机代理缴费
− 客户输入手机号码:1360*******
客户点击下一步,网银将收机号码提交移动系统认证
3)移动系统认证通过后,返回 “请输入缴费信息”页面,显示应缴费金额
4)在“请输入缴费信息”页面,客户选择缴费帐户:62270000147100860**,点击下一步,进入“请确认缴费信息”页面
5) 客户输入动态口令:423597
6)网银将缴费金额,转出方(客户帐户)以及转入方帐户(移动公司)信息,构造成转账请求消息提交给银行核心系统
7)银行核心系统认证通过帐户动态口令后,将转出方帐户的钱转移到一个 转入方帐户上,并将转账成功的消息通知网银系统
8)网银在获知银行系统转账成功后,通知移动计费系统对客户手机号码充值
9)网银在获知移动计费系统对客户手机号码充值成功后,通知客户缴费成功
10)客户通过缴费支付记录查询,进一步确认交易成功
11)客户退出缴费支付功能区,用例结束
3.备选事件流的分析
备选事件流a.1
手机号码不正确 在主事件流的步骤2- 输入手机号码中,如果输入的手机号码不正确,则系统提示“非法手机号”,客户点击确定后,回到主事件流步骤2,重新输入手机号码。
备选事件流a.2
帐户状态不对 在主事件流的步骤6-银行认证中,如果该帐户状态不正确,如挂失、冻结等不能取款的状态,系统将提示帐户状态错误信息。客户确认后,回到主事件流步骤4,重新选择账号
备选事件流a.3
帐户中现金不足 在主事件流的步骤6-银行扣款的过程中,如果客户帐号中的金额小于在主事件流步骤3中移动返回的缴费金额,系统将显示相应的消息,客户确认后,回到主事件流步骤4,重新选择账号
备选事件流a.4
超出每日最大限额 在主事件流的步骤6-银行扣款的过程中,如果银行系统返回一个错误码标明客户所要取的金额已经超出了24小时内所允许取的最大限额,系统将显示相应的消息,客户确认后,回到主事件流步骤4,重新选择账号
备选事件流a.5
用户取消 用户在主事件流的任何一步骤,都可以通过点击取消按钮或关闭网页的方式,中断缴费操作,Use Case执行结束
备选事件流a.6
没有收到充值成功消息 在主事件流的步骤9-如果网银系统没有收到移动计费系统充值成功的消息,则会把从客户帐户中已经扣掉的款项返还给客户,Use Case结束
备选事件流a.7
缴费密码输入错误 在主事件流的步骤5-输入动态口令部分,如果客户输入动态口令有误,网银将会提示客户重新输入,如果输错超过三次,则此Use Case结束
4.构造场景
编号 场景名称
1 正常缴费 主事件流
2 非法手机号 主事件流 备选流1 主事件流
3 账户状态不对 主事件流 备选流2 主事件流
4 账户现金不足 主事件流 备选流3 主事件流
5 超过支取额度 主事件流 备选流4 主事件流
6 取消操作 主事件流 备选流5 主事件流
7 充值失败 主事件流 备选流6 主事件流
8 缴费密码错1次 主事件流 备选流7 主事件流
9 缴费密码错2次 主事件流 备选流7 备选流7 主事件流
5.生成案例
根据上面的场景图,最终此业务流共9个测试案例,1个业务正例,8个业务反例。


三、面向角色分析

定义

面向角色分析是在做业务需求分析时,把系统中的各功能操作按角色及角色权限划分出来,执行业务流程时,按角色权限执行相应的业务操作。


测试注意事项

1.测试过程中每一角色在系统中的操作是否满足该角色的权限。
2.对于角色在系统中的操做是否超出了该角色所具有的操作权限。


怎样分析系统中的角色

1.系统中有哪些角色?
2.每个角色都能做什么事情?
3.每个角色都对应哪些岗位的人?
4.这些角色所要实现的功能是否已实现?
5.是否已分析系统中的所有权限?


实例分析(以一个流程为例)

对于一个公司使用的OA系统统怎么进行角色分析呢?
1.首先确定有哪些角色:系统管理员、普通用户、部门领导、总经理
2.每个角色都包括哪些人呢?
系统管理员:一般指定给一个人
普通用户:公司的普通员工
部门领导:公司内的各部门领导
总经理:公司的最高领导人
3.每种角色都能做什么工作?
系统管理员:维护管理公司OA平台并对公司各人员进行角色划分和权限分配。
普通用户:可以接收邮件,看通知和其他权限内的操作。
部门领导:对部门内员工的管理,例如请假的审批等
总经理:具有最大权限,可以对OA平台内的所有功能具有查询和审批权限。
2.业务流程与角色结合来分析一个业务流程。
1.确定角色:拟稿部门、拟稿部门领导、办公室人员,办公室领导
2.确定角色对应人员
拟稿角色:政府机关的各部门人员
拟稿核稿:政府机关各部门领导
办公室人员:办公室的所有人员
办公室领导:办公室主任
3.每种角色在整个发文流程中的权限
拟稿角色:进行发文拟稿,并发送给部门领导核稿。
拟稿核稿角色:你搞部门核稿
办公室人员:办公室核稿、合法性审核、发文登记、印制、校对、封发和送归档科室。
办公室领导:签发
4.确定角色与流程中的关系后,画出按角色画出流程图,一目了然看清楚角色在流程中的权限。
如下图:


四、面向状态分析

定义

1.状态:是指在对象生命周期中的一个离散的条件或状况,在此期间对象将满足某些条件,执行某些活动或者等待某些事件。
2.事件:是指在事件和空间上占有一定位置,有意义的,能激发状态转换的事情的说明
3.转换:转换是两个状态之间的一种关系,它表明对象在第一个状态中执行一定的动作,并当特定事情发生或特定的条件满足时进入第二个状态。
4.活动:是状态途中进行的非原子执行
5.动作:是一个引起模型状态改变或值的返回的,可执行原子操作


交手机费状态图


生成状态事件表

输入手机号码 手机号码认证 构造转账申请 银行执行转账 手机充值 银行撤销转账
提交手机号码 手机号码认证 • • • • •
手机号码无效 • 输入手机号码 • • • •
客户取消 结束 • 结束 • • •
客户提交帐户信息 • • 银行执行转账 • • •
帐户余额不足 • • • 构造转账申请 • •
超出支付额度 • • • 构造转账申请 • •
客户动态密码输错 • • • 构造转账申请/结束 • •
形成测试案例


交手机费状态图分析,生成事件状态表

在上面流程图中,每个节点都被认为是业务流程中的一个状态,进入某个状态要通过不同的条件(事件)来进行触发,来达到状态的转换。


状态图与流程图的区别

控制流程圖一般描述單一的處理过程,也就是在每一个节点只满足一个条件来进行流程的流转。上图转化成流程图如下:


五、面向数据分析

定义

面向数据分析主要是在业务分析过程中根据输入数据产生的结果,分析数据的一致性和准确性。(数据流通过何种方式进行转换及数据间的关联性)

实例分析

在以上的分析中,通过不同的输入数据,构造了7个测试用例,在实际测试时,按上面的分析为每个输入项确定输入值就可以了 ,如下:
编号 手机号码 动态口令 口令错三次 账户状态 账户余额 支付额度 期望结果
1 V V I V V V 缴费成功
2 I NA NA NA NA NA 报手机号码错
3 V I I NA NA NA 报动态口令错
4 V I V NA NA NA 取消缴费
5 V V NA I NA NA 提示账户状态不对
6 V V NA V NA NA 提示账户余额不足
7 V V NA V V I 提示超过支付额度
编号 手机号码
(假设应交费用320) 动态口令 口令错三次 账户状态 账户余额 累计支付–支付额度 期望结果
1 13810034560 12345 I 正常 500 500 缴费成功
2 13810034666 NA NA NA NA NA 报手机号码错
3 13810034560 12567 I NA NA NA 报动态口令错
4 13810034560 12567 V NA NA NA 取消缴费
5 13810034560 12345 NA 冻结 NA NA 提示账户状态不对
6 13810034560 12345 NA 冻结 200 NA 提示账户余额不足
7 13810034560 12345 NA 冻结 500 -20 提示超过支付额度

功能测试基础之业务流程测试相关推荐

  1. 04- 移动APP功能测试要点以及具体业务流程测试

    5.离线测试: 离线是应用程序在本地的客户端会缓存一部分数据以供程序下次调用. 1.对于一些程序,需要在登录进来后,这是没有网络的情况下可以浏览本地数据. 2.对于无网络时,刷新获取新数据时,不能获取 ...

  2. 软件测试-独立功能测试和业务流程测试及其测试用例设计思维

    一.独立功能测试         (测试方法的核心作用是筛选测试数据)   二.业务流程测试 因为客户不可能只用一个或者其中几个功能且测试人员在测试工作中往往主需要负责其中几个模块,所以需要进行业务流 ...

  3. 软件测试简历模板【功能测试,自动化测试,测试开发】简历模板

    前言: 软件测试是软件开发过程中至关重要的一环,它可以保证软件质量.提高用户体验.增强产品竞争力.因此,在软件测试领域从事职业发展的人员需要具备扎实的基础知识.丰富的实践经验和优秀的沟通能力.而在求职 ...

  4. 如何做好功能测试?5年测试老湿机教你秀好这5点骚操作...

    不论你是什么时候开始接触测试这个行业的,你首先听说的应该是功能测试.通过一些测试手段来验证开发做出的代码是否符合产品的需求?当然你也有自己对功能测试的理解,但是最近两年感觉功能测试好像不太受欢迎,为什 ...

  5. 功能测试Bug频发?测试工作中这点不可忽略

    摘要:近年来,随着互联网行业的快速发展,银行系统更新迭代愈发频繁,在功能测试中特殊字符类测试缺陷频发.需要相关资料,如何有问题可以查看我评论区关注我评论区 笔者参与了众多银行系统项目的功能测试工作,在 ...

  6. 做python自动化得时候怎么添加断言_在编写Web自动化测试用例的时候,如何写断言使新手不解,严格意义上来讲,没有断言的自动化脚本不能叫测试用例。就像功能测试一样,当测试人员做了一些操作...

    在编写Web自动化测试用例的时候,如何写断言使新手不解,严格意义上来讲,没有断言的自动化脚本不能叫测试用例.就像功能测试一样,当测试人员做了一些操作之后必然会判断实际结果是否等于预期结果,只不过,这个 ...

  7. 计算机基础及应用笔试,计算机基础及应用测试笔试题

    计算机基础及应用测试笔试题 站点:专业:学号: 一.选择题 1.下面文件扩展名是不可以直接运行的是: A..exe B..doc. C..com 2.计算机将数据暂存在中等待处理. A.内存 B.硬盘 ...

  8. 知道python测试答案_大数据分析的python基础知道章节测试答案

    大数据分析的python基础知道章节测试答案 更多相关问题 下列是内流湖的是[ ]A.青海湖 B.洪泽湖 C.洞庭湖 D.西湖 下列河流冬季有结冰现象的是[ ]A.松花江 B.黄河 C.珠江 D.长江 ...

  9. html实现用户调查的表单网页,江苏开放大学网页制作基础及HTML测试作业二制作1个E游调查的表单网页...

    资源下载资源下载价格10元立即支付  或  升级VIP后 8 折优惠立即升级 购买问题请提交工单 江苏开放大学网页制作基础及HTML测试作业一制作介绍中国瀑布的图文混排网页:http://www.dd ...

  10. 蓝桥杯基础练习~芯片测试FJ的字符串Sine之舞数的读法完美的代价

    试题 基础练习 芯片测试 提交此题 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 有n(2≤n≤20)块芯片,有好有坏,已知好芯片比坏芯片多. 每个芯片都能用来测试其他芯片.用好芯 ...

最新文章

  1. DNA RNA 蛋白质
  2. 手把手教你webpack4.x从零开始搭建vue项目
  3. 2016年,新的一年,新的元素。
  4. Flink DDL的java代碼中的DeserializationSchemaFactory與TableSourceFactory報錯解決方案記錄彙總
  5. Node.js模块化开发(非常详细,满满的干货)
  6. 如何使用Guitar Pro在乐谱播放时切换效果器音色?
  7. 精讲了33道二叉树经典题目之后,我总结了这些,帮你一举搞定二叉树
  8. 阿里首席架构师分享的Java工程师职业规划
  9. sublime text 前端开发插件安装和配置
  10. 多元统计分析教材推荐
  11. Java项目经验相关常见面试题
  12. 白岩松:40岁左右的男人,比你想象中更难
  13. 【k8s】path does not exist, ignoring“ path=“/etc/kubernetes/manifests“
  14. 遇见--CondaHTTPError: HTTP 000 CONNECTION FAILED for url 怎么解决
  15. echarts 好看的柱形图
  16. 草莓柿子文案:草莓柿子水果店文案,草莓柿子水果朋友圈文案
  17. 论文阅读——(邬江兴院士) 网络空间内生安全综述 Cyberspace Endogenous Safety and Security
  18. (附源码)计算机毕业设计java视频点播系统
  19. Mybatis关系映射一对一的关系
  20. js 兼容事件添加addEvent()

热门文章

  1. 2018百度seo最新算法大全 青岛墨羽SEO统计
  2. AI房产户型图识别3DRender
  3. ESAPI集成官方参考文档
  4. 机器学习(3)--LR算法
  5. 简单html和css静态网页制作
  6. Mysql如何清空数据库中所有的表数据
  7. win10浏览器闪退_Win10专业版下Edge浏览器闪退的多种解决技巧
  8. QT基于Npcap设计的网络抓包小程序
  9. matlab语法——min函数
  10. SoundPool工具类