8年测试经验,用例设计竟然不知道状态图法?

       作为测试人,我们平时比较常用的软件测试测试方法有边界值、等价类划分、错误推测法、因果图、场景法等,如果提到状态图法,可能很多人都很陌生,今天我们就来一起认识下状态图法。

        状态图通常在被测试软件状态比较多的情况下使用,就是列举出被测软件的所有状态,再分析各个状态之间的转换条件和转换路径,用图形或表格的方式把相关联的操作和状态组合在一起,从其状态迁移路径覆盖的角度来设计测试用例。

        举个常见的场景,比如你在某宝、某东app进行下单操作,如果你足够细心的话,会观察并总结出,订单的状态一般分为已下单未付款、已付款待发货、已发货待收货、已收货待评价、已评价,大致列举为这5种状态。

状态图测试步骤:

明确状态节点——绘制状态迁移图——绘制状态迁移树——抽取路径设计用例

案例分析:某宝购物系统

1、选择商品进行下单操作,未进行支付,此时订单状态是“待付款”,可操作【付款】和【取消订单】

2、支付订单后,此时订单状态是“待发货”,可操作【申请退款】

3、卖家发货后,此时订单状态是“待收货”,可操作【申请退款】、【申请退货退款】和【确认订单】

4、确认收货后,此时订单状态是“待评价”,可操作【评价】

5、评价成功后,此时订单状态是“已完成”,可操作【删除订单】

状态迁移图:

状态迁移树:

抽取路径设计用例:

路径1:下单-取消订单

路径2:下单-支付-退款

路径3:下单-支付-发货-退款

路径4:下单-支付-发货-退货退款

路径5:下单-支付-发货-收货-评价-删除订单

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/568209.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

opencv12-图像金字塔

上采样&#xff1a;图像分辨率增加 下采样&#xff1a;图像分辨率降低 #include<opencv2\opencv.hpp> #include<opencv2\highgui\highgui.hpp> #include<iostream> #include<math.h> using namespace std; using namespace cv; int main() {Mat src …

Fiddler Everywhere全平台抓包调试工具安装和使用(一)

Fiddler Everywhere是可以运行在任何浏览器&#xff0c;任何系统、跨平台&#xff08;Windows、Mac、Linux&#xff09;的一款Web调试代理工具。它记录了计算机和Internet之间的所有HTTP&#xff08;S&#xff09;通信&#xff0c;可以检查和编辑通信&#xff0c;并Mock请求以及…

移动端iphone抓包调试神器—Stream安装和使用(一)

之前已经给大家分享了很多抓包工具的文章了&#xff0c;如果觉得有用&#xff0c;记得分享&#xff01;&#xff01;&#xff01;Fiddler抓取APP请求&#xff08;环境搭建&#xff09;之mama再也不用担心抓不到包了Fiddler抓包神器带你遨游网络&#xff0c;叱咤风云&#xff0c…

opencv14-自定义线性滤波

卷积作用&#xff1a;提取边缘&#xff0c;图像增强图像锐化&#xff0c;模糊图像 #include<opencv2\opencv.hpp> #include<opencv2\highgui\highgui.hpp> #include<iostream> #include<math.h> using namespace std; using namespace cv; int main() …

Fiddler响应拦截数据篡改,实现特殊场景深度测试(一)

一、日常测试的场景1、页面文案太长&#xff0c;页面显示测试2、钉钉已打卡&#xff0c;再次打卡测试3、人在上海&#xff0c;App定位到北京测试4、招聘岗位状态十几种&#xff0c;在招岗位页面才展示测试5、各种图片、视频格式&#xff0c;页面显示测试6、不同App版本号&#…

利用Fiddler抓包调试工具,实现mock数据特殊场景深度测试(二)

大家好&#xff0c;我是王大力&#xff0c;上一篇文章Fiddler响应拦截数据篡改&#xff0c;实现特殊场景深度测试&#xff08;一&#xff09;我们和大家聊了如何利用fiddler抓包工具&#xff0c;设置响应断点&#xff0c;拦截响应&#xff0c;来篡改响应数据&#xff0c;欺骗前…

opencv16-Sobel算子

处理过程&#xff1a; #include<opencv2\opencv.hpp> #include<opencv2\highgui\highgui.hpp> #include<iostream> #include<math.h> using namespace std; using namespace cv; int main() {Mat src imread("E:\\vs2015\\opencvstudy\\1.jpg&qu…

利用Fiddler抓包调试工具,实现神奇特殊场景深度测试(三)

前面两篇文章我们分别聊了如何设置请求断点和设置响应断点&#xff0c;以及篡改请求数据和响应数据来欺骗前后端&#xff0c;达到可模拟特殊场景测试效果&#xff0c;利用Fiddler的AutoResponder进行mock测试&#xff0c;无需构建大量的测试数据&#xff0c;大大提升了测试效率…

Pytest参数选项自由执行测试用例详解(二)

运行pytest可以指定目录和文件&#xff0c;如果不指定&#xff0c;pytest会搜索当前目录及其子目录中以test_开头或以_test结尾得测试函数。我们把pytest搜索测试文件和测试用例的过程称为测试搜索&#xff08;test discovery&#xff09;。只要遵循pytest的命名规则&#xff0…

ISTQB高级国际认证试题及答案(一)

题目 #1 &#xff08;3 分&#xff09;选择2个答案您是旅游信息手机应用项目的测试经理。近期该项目切换到敏捷流程和测试驱动开发&#xff08;TDD&#xff09;。每个开发周期持续15天&#xff0c;在第7天之后开始每日构建。第10天以后&#xff0c;不会再有新的功能加入。开发团…

ISTQB高级-测试经理国际认证试题及答案(二)

1、TM-1.2.1 (K4) 为了计划测试活动和工作产品以实现测试目标&#xff0c;必须对一个系统的测试需求进行分析。问题&#xff1a;您是旅游信息手机应用项目的测试经理。近期该项目切换到敏捷流程和测试驱动开发&#xff08;TDD&#xff09;。每个开发周期持续15天&#xff0c;在…

我的游测之路 | 揭秘游戏测试神秘面纱(一)

经常有人问我&#xff1a;游戏测试到底是干什么呢&#xff1f;是游戏代练&#xff1f;每天玩游戏&#xff1f;装备随便造&#xff0c;怪物随便秒&#xff0c;线上GM指令随便用&#xff1f;可以每天玩玩游戏&#xff0c;不用忙工作&#xff0c;太爽了&#xff1f;当然并非完全如…

opencv22-直方图均衡化

#include<opencv2\highgui\highgui.hpp> #include<opencv2\opencv.hpp> #include<iostream> #include<math.h> using namespace std; using namespace cv; char *output_title "output Image"; Mat src, dst; //霍夫圆检测前先进行中值滤波…

测试管理 | 4种优先级排序方法一定要掌握

卡诺模型&#xff08;KANO模型&#xff09;、大富翁&#xff08;Monopoly Money&#xff09;、莫斯科方法&#xff08;MoSCoW&#xff09;、100点方法&#xff0c;4种方法用于测试管理或项目管理过程中的优先级排序、工作量估算等&#xff0c;如&#xff1a;项目版本优先级、产…

overleaf 支持中文

基本操作 左上角menu中&#xff0c;切换compiler 到xelatex。 然后在\documentclass声明下面加一个 \usepackage{ctex}。 使用\usepackage{xecjk}可能也可以&#xff0c;但会有警告。 警告分析 Font “FandolSong-Regular” does not contain requested Script “CJK”。 网上…

怎样在半个月内迅速提升技能,搞定面试进 大厂?

最近一两个星期&#xff0c;来找我咨询大厂面试与名企跳槽问题的朋友突然多了起来。我才意识到只剩十来天就要进入九月互联网招聘旺季&#xff0c;看来大家都在为跳槽涨薪进大厂做准备了。在小厂做了一两年“测试工程师”&#xff0c;不过是拿到软件点点点&#xff0c;毫无技术…

opencv24-直方图比较

此方法比较准确 还行 此方法不怎么行 此方法比较准确 #include<opencv2\highgui\highgui.hpp> #include<opencv2\opencv.hpp> #include<iostream> #include<math.h> using namespace std; using namespace cv; string convertToString(double d); in…

抓包工具Stream之接口调试和加密解码(二)

移动端iphone抓包调试神器—Stream安装和使用&#xff08;一&#xff09;之前我们介绍了Stream工具的安装和使用&#xff0c;今天我们再来介绍下抓包请求筛选、接口详情、接口导出、接口调试、接口测试、编码解码加密等1、抓包完成&#xff0c;停止抓包&#xff0c;进入最新抓包…

白盒测试 | 用例设计方法之条件覆盖

条件覆盖&#xff0c;程序各判定中的每个条件获得各种可能的取值至少满足一次即可&#xff0c;不考虑路径的覆盖。上图中有两个判定表达式&#xff0c;每个判定表达式中有两个条件&#xff0c;为了做到条件覆盖&#xff0c;第一个判断的所有条件的可能取值情况是A>1或A≤1&a…

白盒测试 | 用例设计方法之判定覆盖

判定覆盖也被成为分支覆盖(Branch Coverage)是设计足够多的测试用例&#xff0c;使得程序中的每一个判断至少获得一次“真”和一次“假”&#xff0c;即使得程序流程图中的每一个真假分支至少被执行一次。使设计的测试用例保证程序中每个判断的每个取值分支&#xff08;ture or…