因果图-交通一卡通自动充值软件系统-实例分析

因果图法测试用例的设计步骤

(1)确定软件规格(需求)中的原因和结果

(2)确定原因和结果之间的逻辑关系

(3)确定因果图中的各个约束(constraints)

(4)画出因果图并转换为决策表

(5)根据决策表设计测试用例

使用因果图分析程序

第一步:确定软件规格(需求)中的原因和结果

1、找出所有的原因(输入),并编号
(1)投币50元
(2)投币100元
(3)充值50元
(4)充值100元
2、找出所有的结果(输出),并编号
A:充值成功并退卡
B:提示充值成功
C:找零
D:提示错误

第二步:确

入、输出的制约关系

输入的限制关系和组合关系:

(1)限制关系(哪些输入不能组合)
①输入(1)和(2)不能组合【互斥】
②输入(3)和(4)不能组合【互斥】
(2)能组合(决定测试用例数量)
①输入(1)和(3)组合
②输入(1)和(4)组合
③输入(2)和(3)组合
④输入(2)和(4)组合
⑤输入(1)单独
⑥输入(2)单独
⑦输入(3)单独
⑧输入(4)单独
先把输入的限制关系画出因果图

输出的限制关系和组合关系:

(1)限制关系
①输出A和D不能(互斥)
②输出B和D不能(互斥)
画出限制关系因果图
(2)组合关系
①输出A和B必须组合
②输出A、B、C组合
③输出C和D组合【用户不想充值了情况】
④输出D单独

第三步:确定因果图中的各个约束(constraints),画出因果图

找到输入组合和输出组合的对应关系:

情况1:
输入(1)和(3)组合
会产生:
输出A和B的组合

情况2:
输入(1)和(4)组合
会产生:
输出C和D组合

 情况3:
输入(2)和(3)组合
会产生:
输出A、B、C组合

 情况4:
输入(2)和(4)组合
会产生:
输出A和B的组合


情况5:
输入(1)单独
会产生:
输出C和D组合


情况6:
输入(2)单独
会产生:
输出C和D组合


情况7:
输入(3)单独
会产生:
输出D单独

情况8:
输入(4)单独
会产生:
输出D单独 

 第四步:将因果图转换为决策表

 第五步:根据决策表设计测试用例

编号用例说明预期结果
1

投币50元

选择充值50元

正确充值50元,充值成功后退卡
2

投币50元

选择充值100元

系统提示错误,并退回50元
3

投币100元

选择充值50元

正确充值50元,提示充值成功后退卡,并找零50元
4

投币100元

选择充值100元

正确充值100元,提示充值成功后退卡
5

投币50元

系统提示错误,并退回50元
6投币100元 系统提示错误,并退回100元
7充值50元系统提示错误
8充值100元系统提示错误

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

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

相关文章

如何区分电梯卡为id卡ic卡_电梯刷卡系统基本属性

电梯刷卡控制系统的发展是十分迅速的,在这点上相信大家都有所体会。但是为了节约成本费用,很多地产商都是安装的基本常见的电梯刷卡控制系统,这种常见的电梯,能够满足基本上的用户需求,在零件上面也是能够与大多数的零…

python应用体系_python-大型django应用程序体系结构

如何适当地构建一个较大的Django网站,以保持可测试性和可维护性?本着最好的django精神(我希望),我们开始时不太关心网站不同部分之间的去耦.我们确实将其分为不同的应用程序,但是通过共同使用模型类和直接方法调用,它们直接相互依赖.这变得越来越纠结.例如,我们的一…

Postman入门到精通01

1、什么是接口? 电脑:USB,投影仪 作用:数据传输 软件:API(application Program Interface),微信提现和充值接口,支付宝支付,银联支付接口(鉴权…

python oracle orm_Python ORM

本章内容ORM介绍如果写程序用pymysql和程序交互,那是不是要写原生sql语句。如果进行复杂的查询,那sql语句就要进行一点一点拼接,而且不太有重用性,扩展不方便。而且写的sql语句可能不高效,导致程序运行也变慢。为了避免…

前端校验和后端校验区别

前台验证数据格式 后台验证的是数据的正确性 当下流行的系统架构方案中,前端和后端都是分离开的。 目的:① 为了方便前端开发人员和后端开发人员可以同时开发;② 前后端分离也使得前后端的代码可以分开进行管理,方便了各自的版…

unittest-ddt报错AttributeError: type object ‘forTestDDT‘ has no attribute ‘test_2‘

unittest 添加多个ddt数据驱动后,报错: FAILED (errors1)Error Traceback (most recent call last):File "D:\Anaconda3\lib\unittest\case.py", line 60, in testPartExecutoryieldFile "D:\Anaconda3\lib\unittest\case.py", lin…

socket timeout是什么引起的_MySQL C API 参数 MYSQL_OPT_READ_TIMEOUT 的一些行为分析

作者:戴岳兵MYSQL_OPT_READ_TIMEOUT 是 MySQL c api 客户端中用来设置读取超时时间的参数。在 MySQL 的官方文档中,该参数的描述是这样的:MYSQL_OPT_READ_TIMEOUT (argument type: unsigned int *)The timeout in seconds for each attempt t…

python动态爬取知乎_python爬虫从小白到高手 Day2 动态页面的爬取

今天我们说说动态页面的抓取,动态页面的概念不是说网页上的内容是活动的,而是刷新的内容由Ajax加载,页面的URL没有变化,具体概念问度娘。就以男人都喜欢的美女街拍为例,对象为今日头条。chrome打开今日头条 ->搜索开…

Python操作文件,报FileNotFoundError: [Error 2] No such file or directory错误

python操作文件时,报No such file or directory错误。 多次检查目录、文件名、语法都是对的。 折腾一番后,打开文件所在文件夹,并显示所有文件后缀名,才发现此文件并没有txt后缀名 解决方法: 添加文件的.txt后缀名&a…

python多标签分类_如何通过sklearn实现多标签分类?

sklearn支持多类别(Multiclass)分类和多标签(Multilabel)分类:多类别分类:超过两个类别的分类任务。多类别分类假设每个样本属于且仅属于一个标签,类如一个水果可以是苹果或者是桔子但是不能同时属于两者。多标签分类:给每个样本分…

练习ddt-file_data时,报错UnboundLocalError local variable ‘value‘ referenced before assignment

错误原因就是,在xx.yml中的内容无效 更改之前: 更改之后: 注意冒号后面要有空格 改完之后运行就能正确读取到了

python筛选数据求均值_Python Pandas实现数据分组求平均值并填充nan的示例

Python实现按某一列关键字分组,并计算各列的平均值,并用该值填充该分类该列的nan值。DataFrame数据格式fillna方式实现groupby方式实现DataFrame数据格式以下是数据存储形式:fillna方式实现1、按照industryName1列,筛选出业绩2、筛…

HTMLTestRunner.py内容

HTMLTesstRunner.py 修改后内容如下: """ A TestRunner for use with the Python unit testing framework. It generates a HTML report to show the result at a glance.The simplest way to use this is to invoke its main method. E.g.import u…

卷积神经网络原理_人脸识别背后,卷积神经网络的数学原理原来是这样的

在自动驾驶、医疗以及零售这些领域,计算机视觉让我们完成了一些直到最近都被认为是不可能的事情。卷积神经网络可能是这一巨大成功背后的关键组成模块。这次,我们将要使用卷积神经网络的思想来拓宽我们对神经网络工作原理的理解。简介过去我们接触到了密…

unittest读取ddt之-元组,嵌套元组,字典

注: (1)ddt数据驱动中,测试用例的执行次数是由data()传参的个数决定。传几个参数,就是执行几次测试用例。 (2)如果传的是多个元组(列表),那么可…

负载均衡策略_常见的负载均衡策略

轮询(Round Robin): 这种方法就会将收到的请求循环分配到服务器集群中的每台机器,即有效服务器。如果使用这种方式,所有的标记进入虚拟服务的服务器应该有相近的资源容量以及敷在相同的应用程序。如果所有的服务有相同或者相近的性能那么选择…

unittest-读取yaml文件

注: (1)yaml文件详解 yaml是一种数据格式,类似txt,excel,json 它只有两种数据类型: map对象(键值对,冒号后需要有空格) list列表对象,以-开头 读取之后是一个不定长…

白盒测试-修正条件判定覆盖

当程序中的判定语句包含多个条件时,运用多条件覆盖方法进行测试,其条件取值组合数目是非常大的。 修正条件判定覆盖要求在一个程序中每一种输入输出至少得出现一次,在程序中的每一个条件必须产生所有可能的输出结果至少一次,并且…

springboot整合shiro_Springboot整合Shiro:简洁的身份认证

简单的web应用进行身份认证的流程:1.对未认证的用户请求进行拦截,跳转到认证页面。2.用户通过用户名密码及其他凭证进行身份认证,认证成功跳转成功页面,认证失败提示相关失败信息。根据流程,采用shiro进行快速开发。1.…

python回车键绑定按钮_python tkinter 绑定回车键

# _*_ coding:utf-8_*_from Tkinter import *def submit(ev None):p.set(u.get())root Tk()root.title("测试")frame Frame(root)frame.pack(padx8, pady8, ipadx4)lab1 Label(frame, text"获取:")lab1.grid(row0, column0, padx5, pady5, stickyW)#绑…