《软件测试技术实战:设计、工具及管理》—第2章 2.2节运用决策表设计测试用例...
本节书摘来自异步社区《软件测试技术实战:设计、工具及管理》一书中的第2章,第2.2节运用决策表设计测试用例,作者顾翔,更多章节内容可以访问云栖社区“异步社区”公众号查看。
2.2 运用决策表设计测试用例
决策表方法是一种很好的方法,它可以识别含有逻辑条件的系统需求,还可以将内部系统设计文档化。这种方法可以用来记录一个系统要实施的复杂的业务规则。建立决策表时,要分析规格说明,并识别系统的条件和动作。输入条件和动作通常以“真”或“假”(布尔变量)的方式表述。决策表包含了触发条件,通常还有各种输入条件“真”或“假”的组合以及各条件组合相应的输出动作。决策表的每一列对应了一个业务规则,该规则定义了各种条件的一个特定组合,以及这个规则相关联的执行动作。决策表测试的常见覆盖标准是每列至少对应一个测试用例,该测试用例通常覆盖触发条件的所有组合。
决策表测试的优点是可以生成测试条件的各种组合,而这些组合利用其他方法可能无法被测试到。它适用于当软件的行为由一些逻辑决策决定的情况。
2.2.1 四边形类型判断系统
案例2-7:四边形类型判断系统。
下面来看一个例子。a、b、c、d是四边形的4条边,通过平行关系与是否相等来判断四边形的类型,四边形如图2-3所示。
a、b、c、d为四边形的4条边,可以获得如下条件。
C1:a//c(C1=T表示a平行于c;C1=F表示a不平行于c)。
C2:b//d(C2=T表示b平行于d;C2=F表示b不平行于d)。
C3:a的长度与b是否相等。
C4:b的长度与d是否相等。
四边形类型有。
A1:平行四边形。
A2:非等腰梯形。
A3:等腰梯形。
A4:普通四边形。
A5:不存在。
根据如上描述,做出决策表(由于条件有4个,所以一共有24=16个组合),见表2-4。
第一列:a不平行于c,b不平行于d,a不等于c,b不等于d,判定为普通四边形。
第二列:a不平行于c,b不平行于d,a不等于c,b等于d,判定为普通四边形。
第三列:a不平行于c,b不平行于d,a等于c,b不等于d,判定为普通四边形。
第四列:a不平行于c,b不平行于d,a等于c,b等于d,判定这种四边形不存在。
第五列:a不平行于c,b平行于d,a不等于c,b等于d,判定这种四边形为非等腰梯形。
以此类推,可以得到共十六列结果,见表2-4。
根据表2-4,下面来做一些简化。
根据列1和2,只要C1=F、C2=F、C3=F,就可以判断为A4。
根据列6和8,只要C1=F、C2=T、C4=T,就可以判断为A5。
根据列4和12,只要C2=F、C3=T、C4=T,就可以判断为A5。
根据列11和15,只要C1=T、C3=T、C4=F,就可以判断为A5。
根据列13和14,只要C1=T、C2=T、C3=F,就可以判断为A5。
经过简化后,得到表2-5。
这样,16个测试用例就被简化成12个,于是测试用例可以设计成表2-6。
2.2.2 用户登录系统
案例2-8:用户登录系统。
下面再来看一下用户登录系统的测试用例应该如何设计。同样,也可以用决策表的方法。用户登录系统一般包括用户名、密码和验证码。只要用户名、密码错误,系统就会报出错信息:“用户名或者密码错误”;如果用户名、密码都正确,验证码错误,系统报出错信息:“验证码错误”;用户名、密码和验证码都正确,正常进入系统。下面就可以考虑如何用决策表来设计测试用例。
条件如下。
- C1:正确的用户名。
- C2:正确的密码。
- C3:正确的验证码。
动作如下。
- A1:用户名或密码错误。
- A2:验证码错误。
- A3:进入系统。
如上所述,可以做出登录系统的决策表设计(系统有3个条件,所以有23=8个组合),见表2-7。
第一列:用户名错误,密码错误,验证码错误,得到提示信息“用户名或密码错误”。
第二列:用户名错误,密码错误,验证码正确,得到提示信息“用户名或密码错误”。
第三列:用户名错误,密码正确,验证码错误,得到提示信息“用户名或密码错误”。
第四列:用户名错误,密码正确,验证码正确,得到提示信息“用户名或密码错误”。
第五列:用户名正确,密码错误,验证码错误,得到提示信息“用户名或密码错误”。
第六列:用户名正确,密码错误,验证码正确,得到提示信息“用户名或密码错误”。
第七列:用户名正确,密码正确,验证码错误,得到提示信息“验证码错误”。
第八列:用户名正确,密码正确,验证码正确,进入系统。
根据表2-7,下面来做些简化。
(1)根据列1、2、3、4,只要C1=F,就可以执行动作A1。
(2)根据列1、2、5、6,只要C2=F,就可以执行动作A1。
简化后,得到表2-8。
这样,8个测试用例就简化成4个。于是,测试用例可以这样设计:假设用户名:Kenny,密码:khnygh,验证码:243546。登录系统测试用例见表2-9。
2.2.3 飞机票定价系统
案例2-9:飞机票定价系统。
下面是一个飞机票定价系统的例子,需求如下。
(1)乘客可以免费托运重量不超过30kg(含30kg)的行李。
(2)假如行李超过30kg,其收费标准为。
头等舱国内乘客:超重部分每千克收费4元。
其他舱国内乘客:超重部分每千克收费6元。
外国乘客:超重部分每千克比国内乘客多1倍。
残疾乘客:为正常价格的半价。
(3)行李重量超出部分,不满1kg的按照1kg计算。
经过分析,条件如下。
C1:国内乘客。
C2:超重游客。
C3:头等舱乘客。
C4:残疾乘客。
金额
A1:免费。
A2:2元。
A3:3元。
A4:4元。
A5:6元。
A6:8元。
A7:12元。
根据如上描述做出决策表(由于条件有4个,所以一共有24=16个组合)。
第一列:携带行李不超过30kg,普通舱,非残疾国外乘客:免费。
第二列:携带行李不超过30kg,普通舱,残疾国外乘客:免费。
第三列:携带行李不超过30kg,头等舱,非残疾国外乘客:免费。
第四列:携带行李不超过30kg,头等舱,残疾国外乘客:免费。
第五列:携带行李超过30kg,普通舱,非残疾国外乘客:8元。
第六列:携带行李超过30kg,普通舱,残疾国外乘客:4元。
第七列:携带行李超过30kg,头等舱,非残疾国外乘客:12元。
第八列:携带行李超过30kg,头等舱,残疾国外乘客:6元。
以此类推,可以得到所有16列的结果,见表2-10。
根据表2-10,简化如下。
(1)根据列1、2,只要C1=F、C2=F、C3=F,就可以执行动作A1。
(2)根据列3、4,只要C1=F、C2=F、C3=T,就可以执行动作A1。
(3)根据列9、10,只要C1=T、C2=F、C3=F,就可以执行动作A1。
(4)根据列11、12,只要C1=T、C2=F、C3=T,就可以执行动作A1。
于是得到表2-11。
根据表2-11,还可以进一步调整。
根据列1、2、7、8,只要C2=F,就可以执行动作A1,见表2-12。
最后,16个测试用例就简化为9个测试用例了。可以设计表2-13所示的测试用例。
《软件测试技术实战:设计、工具及管理》—第2章 2.2节运用决策表设计测试用例...相关推荐
- 《软件测试技术实战:设计、工具及管理》—第2章 2.7节测试用例不应该包含实际的数据...
本节书摘来自异步社区<软件测试技术实战:设计.工具及管理>一书中的第2章,第2.7节测试用例不应该包含实际的数据,作者顾翔,更多章节内容可以访问云栖社区"异步社区"公众 ...
- 《软件测试技术实战:设计、工具及管理》—第1章 1.1节软件测试的基本理论...
本节书摘来自异步社区<软件测试技术实战:设计.工具及管理>一书中的第1章,第1.1节软件测试的基本理论,作者顾翔,更多章节内容可以访问云栖社区"异步社区"公众号查看. ...
- 《软件测试技术实战:设计、工具及管理》—第1章 1.4节本章总结
本节书摘来自异步社区<软件测试技术实战:设计.工具及管理>一书中的第1章,第1.4节本章总结,作者顾翔,更多章节内容可以访问云栖社区"异步社区"公众号查看. 1.4 本 ...
- 《软件测试技术实战:设计、工具及管理》目录—导读
版权 软件测试技术实战:设计.工具及管理 • 著 顾 翔 组 编 51Testing软件测试网 责任编辑 张 涛 • 人民邮电出版社出版发行 北京市丰台区成寿寺路11号 邮编 100164 电子邮件 ...
- 《软件测试技术实战:设计、工具及管理》—第2章 2.6节软件白盒测试
本节书摘来自异步社区<软件测试技术实战:设计.工具及管理>一书中的第2章,第2.6节软件白盒测试,作者顾翔,更多章节内容可以访问云栖社区"异步社区"公众号查看. 2.6 ...
- 《软件测试技术实战:设计、工具及管理》—第2章 2.1节运用等价类/边界值设计测试用例...
本节书摘来自异步社区<软件测试技术实战:设计.工具及管理>一书中的第2章,第2.1节运用等价类/边界值设计测试用例,作者顾翔,更多章节内容可以访问云栖社区"异步社区"公 ...
- 《软件测试技术实战:设计、工具及管理》—第2章 2.5节运用正交法设计测试用例...
本节书摘来自异步社区<软件测试技术实战:设计.工具及管理>一书中的第2章,第2.5节运用正交法设计测试用例,作者顾翔,更多章节内容可以访问云栖社区"异步社区"公众号查看 ...
- HTML5期末大作业:美食餐饮网站设计——美食餐饮管理(8页) HTML+CSS+JavaScript 美食餐饮商品设计 食物海鲜网页
HTML5期末大作业:美食餐饮网站设计--美食餐饮管理(8页) HTML+CSS+JavaScript 美食餐饮商品设计 食物海鲜网页 作品介绍 1.网页作品简介 :HTML期末大学生网页设计作业 A ...
- 《软件测试技术大全:测试基础 流行工具 项目实战(第3版)》—第1章1.2节软件测试的发展...
本节书摘来自异步社区<软件测试技术大全:测试基础 流行工具 项目实战(第3版)>一书中的第1章,第1.2节软件测试的发展,作者陈能技 , 黄志国,更多章节内容可以访问云栖社区"异 ...
最新文章
- SliverLight Web part
- statsmodels 笔记:seasonal_decompose 时间序列分解
- vi文本编辑器的使用
- CVPR 2019 | APDrawingGAN:人脸秒变艺术肖像画
- Servlet,HTTP,Ruquest,Response
- 程序运行 栈帧分析 以及 修改栈帧中数据以及函数地址
- 没有匹配的验证协议_ORA-28040:没有匹配的验证协议
- Aix下运行java程序_AIX上部署java项目
- Entity Framework Fluent API
- window下开启mysql慢查询和分割慢查询日志
- Windows开机运行程序
- windows加linux双系统安装方法
- 手动更新google服务框架
- 并行处理提高工作效率
- 为你的简书和 GitHub 设定个性域名 1
- LeetCode.1046-最后的石头重量(Last Stone Weight)
- 微信公众号模板如何使用?公众号模板教程!
- Python 实现键鼠操作
- JAVA毕设项目社区电商平台系统(java+VUE+Mybatis+Maven+Mysql)
- 【html】理工男李峋的极致浪漫:爱心代码|和你的心跳同频共振
热门文章
- Latex论文排版技巧再总结
- Hadoop集群(第6期)_WordCount运行详解
- Eclipse OSGi调试过程
- js 中的break continue return
- 【Spark Summit East 2017】BigDL:Spark上的分布式深度学习库
- 建立空间参考 ISpatialReference
- 使用js技术使字体闪烁
- The maximum string content length quota (8192) has been exceeded while reading XML data
- Linux系统下挂载Windows分区
- vue3.0 视频播放插件(vue-vedio-player)