状态迁移图是对特定系统需求设计测试用例的工具之一,它描述了测试对象和测试数据之间的关系。测试对象的输出行为不仅仅和当前的输入数据有关,而且和测试对象当前的状态有关。状态迁移图是设计状态转换测试用例的基础,基于状态迁移图进行的测试就是状态迁移测试。


1.状态迁移图法步骤

  1. 画出状态迁移图
  2. 通过状态迁移图画出状态转换树
  3. 从状态转换树推导出测试路径
  4. 根据测试路径编写合法测试用例

2.状态迁移图法例子

  • 向航空公司预定机票—>此时机票信息处于“未支付”状态
  • 在规定时间内固定如果未支付费用,则机票会变成“超时取消”状态
  • 规定时间内顾客支付了机票费用后—>机票信息就变为“已支付”状态
  • 旅行当天到达机场后,拿到机票后—>机票信息就变为“已出票”状态
  • 登机检票后—>机票信息就变为“已使用”状态
  • 在登上飞机之前任何时间可以取消自己的订票信息,如果已经支付了机票的费用,则还可以得到退款,取消后—>订票信息处于“取消”状态

3.解答

(1)画出状态迁移图

(2)通过状态迁移图画出状态转换树

(3)从状态转换树推导出测试路径

  • 路径1:未支付-->超时取消
  • 路径2:未支付-->取消
  • 路径3:未支付-->已付款-->取消
  • 路径4:未支付-->已付款-->已出票-->已使用
  • 路径5:未支付-->已付款-->已出票-->取消

(4)根据测试路径编写合法测试用例

软件测试 | 状态迁移法相关推荐

  1. 3年测试经验,用例设计竟然不知道状态迁移法?

    1.概念 状态迁移法主要关注在测试状态转移的正确性上面.对于一个有限状态机,通过测试验证其在给定的条件内是否能够产生需要的状态变化,有没有不可达的状态和非法的状态,是否可能产生非法的状态转移等.通过构 ...

  2. 都3年测试经验了,用例设计还不知道状态迁移法?

    1.概念 状态迁移法主要关注在测试状态转移的正确性上面.对于一个有限状态机,通过测试验证其在给定的条件内是否能够产生需要的状态变化,有没有不可达的状态和非法的状态,是否可能产生非法的状态转移等.通过构 ...

  3. 一文自测中级门槛:用例设计状态迁移法

    1.概念 状态迁移法主要关注在测试状态转移的正确性上面.对于一个有限状态机,通过测试验证其在给定的条件内是否能够产生需要的状态变化,有没有不可达的状态和非法的状态,是否可能产生非法的状态转移等.通过构 ...

  4. 状态迁移法你还不会?看看这篇文章

    文章末尾给大家留下了大量的福利 前言 今天笔者想和大家来聊聊状态迁移,详细的讲解笔者就放在正文中了,废话不多说咱们直接进入正题. 1.概念 状态迁移法主要关注在测试状态转移的正确性上面.对于一个有限状 ...

  5. 编写测试用例基本要求、非功能性测试和状态迁移法介绍

    编写测试用例基本要求 1.项目测试流程 (1)需求评审 (2)编写测试计划与测试方案 (3)测试用例设计与评审 (4)测试执行与BUG跟踪 (5)编写测试报告 2.测试用例需求来源 (1)需求说明书, ...

  6. 功能测试---状态迁移法

    前言:通过状态能否迁移,从而设计测试用例的方法 状态迁移法主要关注在测试状态转移的正确性上面 实例: MP3播放器功能状态-事件表如下,请用状态迁移法设计用例. 并且当MP3曲目在起点时不能按R键,当 ...

  7. 状态迁移法——测试权限审批功能

    运用状态迁移法来设计测试用例,关键是划出有限状态机,再根据状态之间转换的条件来设计测试用例. 比如说,我们测试一个权限审批的功能.用户在登录系统之前需要申请权限,管理员审批通过后,用户才能正常登录.在 ...

  8. 碎片试自学软件测试?我靠自己整理的这套方,案既充实了自己也得到了涨薪

    一.首先看一下我们官网为大家更新的课程路径: 我们根据上图可以清晰的知道学了什么样的技能在市场价值是如何的,大致上可以分为四类:手工测试.自动化测试.性能测试,测试开发. 为了帮助大家更好的自学,我们 ...

  9. 2022最新软件测试学习路线图

    2022最新软件测试学习路线图! 正在学习或者考虑学习软件测试的小伙伴们有时候是不是觉得很迷茫,学习了软件测试职业到底有哪些发展方向呢?又需要学习哪些内容,掌握到什么程度呢?学习过程中,学习路线是必不 ...

  10. 软件测试基础知识汇总(问答篇)

    ●请你分别介绍一下单元测试.集成测试.系统测试.验收测试.回归测试 1.单元测试:完成最小的软件设计单元(模块)的验证工作,目标是确保模块被正确的编码,使用过程设计描述作为指南,对重要的控制路径进行测 ...

最新文章

  1. memcached和redis的区别和应用场景
  2. 一个切割PDF文件的简单的方法 -只需要chrome浏览器
  3. android computescroll_Android问题:自定义ViewGroup,重载computeScroll()方法有什么用?...
  4. STM8L芯片启动时钟分频问题及发现(转)
  5. an 转换器_400V耐压场效应管替代IRF730B型号参数,使用在DC-DC电源转换器。_场效应管吧...
  6. linux df命令无反馈,Linux-df命令
  7. Mysql 零距离-入门(六)数据唯一约束性
  8. c语言输出单链表最大值与最小值,数据结构(C语言版)---顺序表与链表的比较...
  9. Eclipse 构建Maven项目--普通web项目 复制另外一个项目的配置文件导致的问题
  10. BZOJ 3203 Sdoi2013 保护出题人 凸包+三分
  11. UVA 12657 Boxes in a Line
  12. [转载]Yahoo!的分布式数据平台PNUTS简介及感悟
  13. 关于Javascript表单验证
  14. 区块链java开发教程,JAVA区块链项目实战视频课程
  15. 由内而外全面进化,影像娱乐都出彩,vivo S12 Pro上手
  16. Detecting Causality in Complex Ecosystems(检测复杂生态系统中的因果关系)
  17. uiautomator xpath筛选父级通框架内子元素调用
  18. 关于用户表空间配额的问题
  19. 法国内政部选择IDEMIA和Sopra Steria为其开发新标准边境管制系统
  20. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java智能物流管理系统k852w

热门文章

  1. 日志表数据量大查询慢问题
  2. (C++后台面经)网络编程1
  3. 世界排名第一的免费开源CRM客户关系管理系统介绍
  4. 网站换服务器会降权,网站更换IP地址,对SEO有什么影响?
  5. 安装 VS2010 中文旗舰版
  6. java 执行class文件
  7. C#实现QQ自动登录器实现原理
  8. ASP.Net网站管理工具配置
  9. 最新免费wap网址大全
  10. PostgreSQL客户端无法访问数据库问题