《软件测试技术实战:设计、工具及管理》—第2章 2.4节运用决策树设计测试用例

本节书摘来自异步社区《软件测试技术实战:设计、工具及管理》一书中的第2章,第2.4节运用决策树设计测试用例,作者顾翔,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.4 运用决策树设计测试用例
条件组合是软件测试设计中普遍遇到,而且又是十分头痛的事情,这里介绍两个经常用到的方法:决策树和正交法。决策树不太正规,而正交法基于严格的数学理论,所以比较正规,但是掌握起来有一定难度。本节介绍决策树,下一节介绍正交法。

2.4.1 文本编辑软件
案例2-12:文本编辑软件。
这是一个简化版的文本编辑器软件,仅可以编辑文字的格式和字号,格式分为黑体、斜体和下划线3种;字号包括1、2、3、4、5共5个字号。图2-10就是用决策树设计的测试用例方法:


《软件测试技术实战:设计、工具及管理》—第2章 2.4节运用决策树设计测试用例

 对于3种字体,依次循环取:黑体、斜体、下划线、黑体、斜体、下划线……

 对于5种字号,依次循环取:1号、2号、3号、4号、5号、1号、2号、3号……

这样,每一行就对应一个测试用例,即:

(1)黑体1号字体;

(2)斜体2号字体;

(3)下划线3号字体;

(4)黑体4号字体;

(5)斜体5号字体;

(6)下划线1号字体;

(7)黑体2号字体;

……

至于需要取多少行,这由测试能力决定。

2.4.2 机票购买系统
案例2-13:机票购买系统。
下面来看一个机票购买系统的例子,界面如图2-11所示。


《软件测试技术实战:设计、工具及管理》—第2章 2.4节运用决策树设计测试用例

为了简化起见,仅假设下面几种情形:

 第一项包括往返、单程和联票。

 第二项与第三项出发,到达城市仅为上海、北京、福州、杭州、济南。

 第四项出发日期仅为 2015-06-15、2015-06-16、2015-06-17。

 第五项返回日期仅为 2015-06-18、2015-06-19、2015-06-20。

机票购买系统决策树如图2-12所示。


《软件测试技术实战:设计、工具及管理》—第2章 2.4节运用决策树设计测试用例

这里,出发城市与到达城市均为5个,并且相同,如果按照上面介绍的思路,测试用例永远是上海—上海、北京—北京、福州—福州、杭州—杭州、济南—济南。改变一下策略,出发城市依次循环为上海、北京、福州、杭州、济南;到达城市从北京开始,依次为北京、福州、杭州、济南、上海;下一次从福州开始,依次为福州、杭州、济南、上海、北京;再下一次从杭州开始依次为杭州、济南、上海、北京、福州……依次类推。

对于出发时间与返回时间也做同样处理。出发时间仍旧为2015-06-15、2015-06-16、2015-06-17的循环,返回时间第一个循环以2015-06-18开始:2015-06-18、2015-06-19、2015-06-20;第二个循环以2015-06-19开始:2015-06-19、2015-06-20、2015-06-18;第三个循环以2015-06-20开始:2015-06-20、2015-06-18、2015-06-19的循环。

这里还要注意以下几个方面。

如果不是往返票(单程和联票),返回时间应该不允许选择。
如果到达城市与出发城市是一个城市,系统应该给出出错信息的提示。
根据上面的设计,得到以下测试用例。

(1)往返,上海到北京,出发时间:2015-06-15,返回时间:2015-06-18:获得相应的查询结果,先让用户选择出发时间的航班,然后选择返回时间的航班。

(2)单程,北京到福州,出发时间:2015-06-16,返回时间:不允许选择:正常获得相应的查询结果。

(3)联票:福州到杭州,出发时间:2015-06-17,返回时间:不允许选择:正常获得相应的查询结果。

……

上一篇:Python vs R : 在机器学习和数据分析领域中的对比


下一篇:SQL Server 多表联合查询取最新一条数据