测试用例设计方法六脉神剑——第四剑:石破天惊,功能图法攻阵

这篇具有很好参考价值的文章主要介绍了测试用例设计方法六脉神剑——第四剑:石破天惊,功能图法攻阵。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1 引言

前面几篇文章为我们讲述了因果图、判定表、正交试验等几种方法,主要是针对于不同条件输入输出的组合进行测试,但在实际需求中,我们也常会遇到需要对被测对象的状态流转进行验证的情况,此时前面几种方法将不再适用,对于这种状态转换类问题,功能图法则可大展身手。

2 概念及原理

2.1 基本概念

功能图:也称状态图法,该方法是一种专门解决动态说明问题的测试用例设计方法 ,主要由状态迁移图和逻辑功能模型两部分构成。

2.1.1 状态迁移图

用于描述一个特定对象生命期中满足某些条件的所有状态,以及由于各种事件的发生而引起的状态之间的转移。关于状态迁移图,有如下几点需要注意:

1)一个状态迁移图中包含如下几种状态:

•初态(即初始状态) ——实心圆
•终态(即最终状态) ——一对同心圆(内圆为实心圆)
•中间状态——圆角矩形

2)在一张状态图中只能有一个初态,而终态则可以有0至多个。

3)状态图既可以表示单程生命周期,也可以表示系统循环运行过程。

2.1.2 逻辑功能模型

用于描述静态说明,表示在状态中输入条件和输出条件之间的对应关系。

2.2 核心思想

功能图法的核心思想在于:抽象出待测系统的若干状态以及状态之间的转换条件和转换路径,然后从状态迁移路径覆盖的角度设计测试用例。

3 方法步骤

1)分析需求,明确状态节点,具体关注以下几个信息

•存在的状态;
•状态之间的转换关系;
•状态变化的触发条件。

2)梳理不同状态的转换,输出状态-条件表;

3)画出状态迁移图;

•定义初始状态;
•为初始状态增加一次操作改变初始状态,增加新的状态;
•为上一步步产生的新状态增加一次操作,再增加新的状态;
•循环直到没有新状态产生为止。

4)转换为状态迁移树;

结合广度优先遍历+深度优先遍历算法,遍历状态迁移图的每一条路径,得到状态迁移树。

5)从状态迁移树导出测试路径。

状态迁移树中根节点到每个叶子节点的路径即为一条测试用例。

4 举个栗子

场景:针对客服系统事件状态流转过程设计测试用例

1)分析客服事件可能存在的所有状态。

•已创建/待分配
•已分派
•处理中
•已解决
•已关闭
•升级待分派
•再次打开

 

2)梳理状态之间的转换关系和触发条件,得到状态-条件表。

 

当前状态 下一个状态 状态转换条件
已创建/待分配 已分派 ①系统自动分派②手动领取
已分派 处理中 ①客服操作事件/事件有更新
已创建/待分配 处理中 ①事件转移
已创建/待分配 已解决 ①系统解决事件(如小程序-用户取消服务)
已创建/待分配 已关闭 ①mq触发关闭(如上游取消异常)
处理中 已解决 ①客服手动解决事件②系统自动解决事件
已解决 已关闭 ①归档
已解决 再次打开 ①手动reopen②系统触发reopen
处理中 升级待分派 ①客服升级事件
处理中 已关闭 ①合并
升级待分派 已分派 ①系统自动分派②手动领取
升级待分派 处理中 ①事件转移
再次打开 升级待分派 ①客服升级事件
再次打开 已解决 ①客服手动解决事件②系统自动解决事件
- 已创建/待分配 ①fxm/小程序等生成事件
- 已分派 ①客服手动创建②电话/咚咚等方式进线
- 升级待分派 ①系统升级事件(如邮政投诉事件)

3)根据状态-条件表,画出功能图/状态图。

 

 

 

4)根据功能图输出状态迁移树。

 

 

 

5)输出测试用例,下表举例输出前5条,其余类似不做赘述。

 

用例编号 测试项 标题 预置条件 操作步骤 预期结果
Test_01 改变事件状态 事件状态转变:【已创建/待分配】--【已分派】--【处理中】--【已解决】--【已关闭】 可正常操作事件 1、通过fxm渠道进线生成事件;2、客服手动领取事件;3、客服操作更新事件信息;4、客服点击解决事件;5、事件15天无操作,系统归档事件。 事件状态转变为:【已创建/待分配】--【已分派】--【处理中】--【已解决】--【已关闭】
Test_02 改变事件状态 事件状态转变:【已创建/待分配】--【已分派】--【处理中】--【已解决】--【再次打开】--【已解决】--【已关闭】 可正常操作事件 1、通过fxm渠道进线生成事件;2、客服手动领取事件;3、客服操作更新事件信息;4、客服点击解决事件;5、客服reopen事件;6、客服点击解决事件;7、事件15天无操作,系统归档事件。 事件状态转变为:【已创建/待分配】--【已分派】--【处理中】--【已解决】--【再次打开】--【已解决】--【已关闭】
Test_03 改变事件状态 事件状态转变:【已创建/待分配】--【已分派】--【处理中】--【已解决】--【再次打开】--【升级待分派】--【已分派】--【处理中】--【已解决】--【已关闭】 可正常操作事件 1、通过fxm渠道进线生成事件;2、客服手动领取事件;3、客服操作更新事件信息;4、客服点击解决事件;5、客服reopen事件;6、客服点击升级事件;7、事件分派至其他客服;8、客服操作更新事件信息;9、客服解决事件;10、事件15天无操作,系统归档事件。 事件状态转变为:【已创建/待分配】--【已分派】--【处理中】--【已解决】--【再次打开】--【升级待分派】--【已分派】--【处理中】--【已解决】--【已关闭】
Test_04 改变事件状态 事件状态转变:【已创建/待分配】--【已分派】--【处理中】--【已解决】--【再次打开】--【升级待分派】--【处理中】--【已解决】--【已关闭】 可正常操作事件 1、通过fxm渠道进线生成事件;2、客服手动领取事件;3、客服操作更新事件信息;4、客服点击解决事件;5、客服reopen事件;6、客服点击升级事件;7、主管转移事件;8、客服处理并解决事件;9、事件15天无操作,系统归档事件。 事件状态转变为:【已创建/待分配】--【已分派】--【处理中】--【已解决】--【再次打开】--【升级待分派】--【处理中】--【已解决】--【已关闭】
Test_05 改变事件状态 事件状态转变:【已创建/待分配】--【已分派】--【处理中】--【升级待分派】--【已分派】--【处理中】--【已解决】--【已关闭】 可正常操作事件 1、通过fxm渠道进线生成事件;2、客服手动领取事件;3、客服操作更新事件信息;4、客服点击升级事件;5、事件分派至其他客服;6、客服操作更新事件信息;7、客服解决事件;8、事件15天无操作,系统归档事件。 事件状态转变为:【已创建/待分配】--【已分派】--【处理中】--【升级待分派】--【已分派】--【处理中】--【已解决】--【已关闭】
... ... ... ... ... ...

 

5 总结

 

功能图/状态图方法
适用场景 1、由于某种条件成立导致发生状态改变的情况。2、主要关注状态转移的正确性。
优点 1、通过状态图可以清晰掌握系统的整个交互过程;2、可保证每一个状态的所有可达状态都覆盖到;3、通过验证给定条件内是否能够产生需要的状态变化,可检验出是否存在不可达的状态、不必要的状态或其他非法状态,以及非法的状态迁移。
缺点 针对有效输入输出进行设计,所以无法覆盖无效路径和非法输入。
注意事项 1、每种状态至少需要访问一次;2、重点测试最常见、最普遍的状态转换;3、其次测试最不常用的状态转换路径;4、单个状态之间的转换可通过结合其他用例设计方法保证覆盖全面;5、添加非法测试路径进行测试。(异常输入、状态和条件的非法组合)

 

通过本节讲述的功能图测试用例设计方法,我们可以轻松设计存在对象状态转移变换需求的测试用例,从而清楚的掌握整个系统的交互过程,但如果我们面对的需求中更多描述复杂的业务处理流程,我们又该使用哪种方法呢?一起看看下一节的场景法吧~

作者:京东物流 陈雨婷

来源:京东云开发者社区 自猿其说Tech 转载请注明来源文章来源地址https://www.toymoban.com/news/detail-759998.html

到了这里,关于测试用例设计方法六脉神剑——第四剑:石破天惊,功能图法攻阵的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 测试用例设计方法

    等价类划分法 设计测试用例步骤 需求分析 划分等价类:有效和无效 设计用例 无效有5种情况 规则(需求本身) 长度 类型 是否为空(必填项) 是否重复 案例1:QQ号6-10位自然数 划分等价类 有效等价类 有效数据 无效等价类 无效数据 QQ账号:6-10位自然数 6-10位自然数 12345

    2024年02月11日
    浏览(34)
  • 【测试开发】测试用例的设计方法

    目录 一. 测试用例的基本要素   二. 测试用例的设计方法 1. 测试用例设计的万能公式 水杯测试用例  2. 基于需求的设计方法 邮箱注册测试用例   3. 等价类方法 有效等价类和无效等价类  等价类思想设计测试用例步骤  4. 边界值方法 边界值思想设计测试用例步骤  5. 判定

    2024年02月16日
    浏览(30)
  • app端接口用例设计方法和测试方法

    接口测试作为测试的重要一环,重点关注的是数据层面的输入输出,今天小编介绍一种常用的接口测试用例设计方法和测试方法,希望对大家有所帮助,由于内容较多,分三次给大家讲解,今天先介绍“请求层面的用例设计方法”。 小编先介绍一下自身在测试过程中遇到的接

    2023年04月08日
    浏览(18)
  • 第四章 测试用例编

    本科程目标 1.什么是测试用例 2.测试用例的重要性 3.测试用例的八大要素(重点) 4.测试用例的评审 一、什么叫软件测试用例 测试用例(TestCase)是为项目需求而编制的一组 测试输入 、 执行条件 以及 预期结果 ,以便测试某个程序是否满足客户需求。 可以总结为:每一个

    2024年02月06日
    浏览(22)
  • 史上最全的测试用例设计方法

    目录 前言 等价类划分方法: 边界值分析方法: 错误推测方法 因果图方法 判定表驱动分析方法 总结 今天还是给大家带来一些干货,总结了一下测试用例的设计方法。具体内容太多我总结成了文档,获取方法在文末。这里截取部分给大家展示。      一.方法简介 1.定义  

    2023年04月09日
    浏览(20)
  • 【软件测试学习笔记2】用例设计方法

    说明:在所有测试数据中,具有某种共同特征的数据集合进行划分 分类:有效等价类:满足需求的数据集合            无效等价类:不满足需求的数据集合 步骤:明确需求            划分有效和无效的数据集合            提取数据设计  用例 解决穷举问题 选取正好等

    2024年01月16日
    浏览(49)
  • 软件测试用例设计方法-因果图法

    边界值法是等价类划分法的补充,所以,它们是一对搭档。 那么,判定表法有没有它的搭档呢? 答案是,有的。那就是本篇文章分享的用例设计方法—— 因果图法 。 定义 因果图法: 用来处理等价类划分和边界值考虑不到的情况,适用描述多种条件的组合,产生多个相应动

    2024年02月08日
    浏览(37)
  • 汽车产品测试中测试用例设计方法介绍—全网“最实用”

    目录 1.什么是测试用例? 2.测试用例设计流程 3.测试用例常见设计方法  又是断更的不知道第N天,最近在忙着搭建产品测试环境及写相关测试用例,那么本期就来个大家聊聊在汽车产品测试中测试用例的常用设计方法。

    2024年02月15日
    浏览(27)
  • 软件测试之测试用例设计方法—等价类划分法

    掌握常用测试用例设计方法,再结合测试用例的要素能给快速的实现测试用例的设计和编写.但是由于软件系统大小的不同我们不可能把所有的单个或组合的情况都进行测试,所以我们测试时应该根据不同的场景设计不同的测试用例,尽可能的覆盖到全部需要测试的情况. 常用的测

    2024年02月03日
    浏览(32)
  • 常见的6种软件测试用例设计方法

    常见的软件测试用例设计方法,个人认为主要是下面这6种: 流程图法(也叫场景法) 等价类划分法 边界值分析 判定表 正交法 错误推测法 这6种常见方法中,我分别按照定义、应用场景、使用步骤、案例讲解这4个部分进行讲解。 所以本文行文结构如下 每种用例方法定义、

    2024年01月24日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包