首页 > 其他分享 >状态转移测试

状态转移测试

时间:2023-05-30 09:45:17浏览次数:33  
标签:状态 产品 覆盖 路径 测试 单步 转移

一、概述
把软件若干种状态之间的转换条件和转换路径抽象出来,从覆盖所有状态转移路径的角度去设计测试用例,关注状态的转移是否正确。
二、状态转移测试的步骤
1、分析需求,整理所有状态
2、画出状态转移图
3、根据状态转移图,列出状态-事件表
4、根据状态转移图,画出状态转换树(测试路径)
5、根据状态转化树,按照单步转移覆盖的要求,推导测试路径
6、根据测试路径逐一编写测试用例
三、状态覆盖
1、状态覆盖的概念
使得状态模型中的所有状态都要被访问过
2、单步转移
用来覆盖状态模型中所有有效的单步
例如下面案例中从“预定”到“已取消”就是一个有效的单步
3、全转移
用来覆盖状态模型中所有有效的转移和无效的转移
无效转移:状态模型中未指定有效转移事件后的状态的转移
4、多步转移
应能覆盖状态模型中N+1步转移的有效序列
四、举例说明
1、规格说明
客户在线向公司预定产品,此时产品的信息处于“预定”状态
客户支付了产品费用后,产品信息变为“已支付”状态
当客户到公司提取产品后,产品信息变为“已出货”状态
当产品完成交付后,产品信息变为“已交付”状态
当客户在完成交付前,取消自己的订购,如果支付了产品费用,则可以退款,取消后,产品信息处于“已取消”状态

2、状态转移图

 

3、状态转移状态-事件表

 

4、状态转移树

5、状态转移路径

6、深度优先

7、广度优先

 

标签:状态,产品,覆盖,路径,测试,单步,转移
From: https://www.cnblogs.com/dcfd/p/17442365.html

相关文章

  • 2023-05-30 前端h5页面如何实现调起微信支付功能(该回答来自chatgpt,实际效果未测试)
    前端H5页面调起微信支付功能需要结合微信JS-SDK和后端接口实现。以下是基本步骤和示例代码:1.获取微信公众号的appid和secret在微信公众平台上创建一个公众号,获取其对应的appid和secret。2.引入微信JS-SDK将微信JS-SDK的链接放入HTML文件的头部,例如:<scriptsrc="https://res.......
  • web安全详解(渗透测试基础)
    一、Web基础知识1.http协议超文本传输协议是互联网上应用最广泛的一种网络协议。所有www文件都必须遵守的一个标准,是以ASCII码传输,建立在TCP/IP协议之上的应用层规范,简单点说就是一种固定的通讯规则。2.网络三种架构及特点网络应用程序架构包括三种:客户机/服务器结构(C/S)......
  • 2021级《软件工程》 开发技能测试试卷题目-河北宏志大学学生成绩管理系统
    2021级《软件工程》开发技能测试试卷(180分钟)河北宏志大学学生成绩管理系统(卷面成绩40分)河北宏志大学学生成绩管理系统1、项目需求:学生管理是各大院校的管理工作中尤为重视的一项工作,它一直以来是学校管理的一项重要的衡量指标。学生管理系统的应用解决了学校日常学生管理工......
  • 测试计划
    为了确保基于医学文献精准检索的javaweb项目和安卓端的质量,我们需要制定详细的测试计划。下面是可能适用于这种类型的测试计划的一些关键元素:功能测试:测试应该覆盖所有的基本功能需求,例如搜索文献、筛选、排序、浏览、导出并将结果保存为文件等等。每个功能都应该进行多次测试,......
  • hdu 3681(bfs+dfs+状态压缩)
    解题思路:这道题属于图上来回走的问题,可以把重复走的过程弱化,即只强调从u->v的结果,中间经过的节点都不考虑。这道题里面'G','F','Y'是重要的节点,其余的点我们是可以忽略的,也就是说,假设从u->v,我们只需要知道最短路径是多少就可以了,至于是怎么走的,中间绕过了多少个'D'都不是我们关心的......
  • poj 1324(BFS+状态压缩)
    解题思路:这道题一开始的想法就是状态压缩,即考虑如何判重,由于蛇并非是直线的,所以想到了以每一个点的上下左右共四个值来表示相对位置。最开始想如何用四进制来表示它,无语。。。。。还是题目做少了,直接用两位来表示一个点即可(两位的二进制数可以表示0-3)。剩下的关键就是判断蛇头会不......
  • evo测试命令
    cd/home/slam/catkin_ws/src/ORB_SLAM2双目:cd/home/slam/catkin_ws/src/ORB_SLAM2./Examples/Stereo/stereo_eurocVocabulary/ORBvoc.txtExamples/Stereo/EuRoC.yaml/home/slam/datasets/V1_01_easy/mav0/cam0/data/home/slam/datasets/V1_01_easy/mav0/cam1/dataExampl......
  • python中测试方法所用的时间—timeit
    方法代码使用timeit方法测试两个函数的运行速度importtimeitstrlist=['Thisisalongstringthatwillnitkeepinmemory.'forninrange(10000)]defuse_join():#使用字符串的join方法连接多个字符串return''.join(strlist)defues_plus():#使用运算符+连接多个字......
  • Erlang 对dict、maps、array的部分性能测试
    竖轴:时间(微秒)横轴(数据量)备注(maps与dict的key是{name,整数}与整数在速度上差别不大,array的key是正整数)结论数据量在32-10000用maps的各种操作速度更快(但内存稍多,引用官方描述,此处没测)数据量1万以上,如果键是正整数,array与maps性能相当(官方推荐用array)数据量接近32个的时候是map......
  • 【推荐】7款好用开源的自动化安全测试工具
    安全测试是一项工作量十分庞大的工作,需要相关工作人员在短时间内快速完成任务,因此为了提高效率,减少重复性工作带来的麻烦,这时就需要借助安全测试工具来完成。本文为大家汇总了几款好用开源的自动化安全测试工具,快来了解一下吧。1、NmapNmap是一款不错的自动化安全测试......