|
|
|
|
移动端

2.6.2 创建因果图

《软件测试基础教程》第2章基于需求的测试生成,本章主要介绍从非形式化或形式化定义的软件需求生成测试集的技术。这些技术,有的可以自动地执行,而大部分则需测试人员付出艰辛的劳动,特别是在测试大型软件时。本章所介绍的大部分测试技术属于黑盒测试,因为生成测试集时不需参考被测软件的源代码。本节为大家介绍如何创建因果图。

作者:王峰/郭长国/陈振华 等译来源:机械工业出版社|2011-09-17 22:59

技术沙龙 | 6月30日与多位专家探讨技术高速发展下如何应对运维新挑战!


2.6.2 创建因果图

因果图分析的过程包含两个主要步骤。第一步,通过对软件需求的分析确定哪些是原因,哪些是结果,同时明确原因和结果的因果关系,以及原因之间、结果之间存在的约束关系,为每个原因和结果赋予唯一的标识,便于在因果图中引用。第二步,构造因果图,以表达这些从软件需求中提取出的依赖关系。当原因、结果数量较大(通常指多于100个原因,或多于45个结果)时,采用增量方法比较合适。下面是一个具体的实例。

例2.19考虑为一个基于GUI的计算机营销系统设计测试用例。某互联网公司经销计算机CPU、打印机(PR)、显示器(M)、内存(RAM)等电脑硬件。其销售订单配置中包含1至4件商品,如图2-13所示。系统的GUI包含4个分别用于显示CPU、打印机、显示器、内存选项的窗口和一个用于显示免费商品的窗口。

生成订单时,客户可以分别从三种CPU、两种打印机、三种显示器中进行选择。对于CPU、打印机、显示器,分别在不同的窗口中进行选取。简单起见,我们假设内存只在升级时使用,并且,每份订单中针对同类商品只能选择一种,比如CPU有三种,但在一份订单中只能选择一种。

 
图2-13 某互联网公司销售的计算机系统配置
CPU:中央处理器单元;PR:打印机;M:显示器;RAM:内存

显示器M 20、M 23可以与任意一款CPU搭配销售,也可以单独销售。而显示器M 30只能与CPU 3一起销售。当客户购买CPU 2或CPU 3时,可免费获得PR 1;除M 30外的显示器和打印机都可以单独销售;当客户购买CPU 1时可免费将内存升级至256;当客户购买CPU 2或CPU 3时可免费将内存升级至512;当一起购买CPU 3和M 30时,可以获得1G内存的升级并免费得到PR 2。

当客户选择了一款CPU时,打印机和显示器窗口将发生相应的改变。同样,当显示器或打印机被选定时,其他的窗口也将发生相应的变化。因选择CPU而免费获得的打印机或内存将在“免费商品”窗口中显示。客户购买商品的总价格(含税)将在“价格”窗口中显示。不同的显示器选项也将对“免费商品”窗口产生影响。下表给出一些配置以及“免费商品”窗口中的一些内容。

 

可购买的商品 免费窗口 价格(美元)CPU 1 RAM 256 499CPU 1,PR 1 RAM 256 628CPU 2,PR 2,M 23 PR 1,RAM 512 2257CPU 3,M 30 PR 2,RAM 1G 3548

因果图分析的第一步是仔细阅读需求,并列出原因与结果清单。在本例中,只考虑结果集合的一个子集,其余的结果留给大家练习。同时将说明测试人员如何使用增量策略生成测试用例。

通过对需求的仔细分析,我们得到如下原因,并使用C1~C8标识每个原因。下面列出的每一个原因代表某个特定的条件,其取值可以为真,也可以为假。例如,当购买M 30时,C8为真。

C1:购买CPU 1

C2:购买CPU 2

C3:购买CPU 3

C4:购买PR 1

C5:购买PR 2

C6:购买M 20

C7:购买M 23

C8:购买M 30

注意,当订购以上所列的任何商品时,GUI将根据所选的CPU或其他商品调整显示可用的选项。例如,若CPU 3被选为欲购商品时,显示器选择窗口中将不包含M 20和M 23选项;同样,若M 30被选中,则CPU窗口中将不包含CPU 1和CPU 2选项。

接下来,要确定结果。本例中,软件将根据所选购的商品计算应付货款总额并显示免费商品的清单。因此,结果就是“免费商品”窗口和“价格”窗口中的内容。还有几个结果与GUI调整显示的选项有关,留给练习2.21。

应付货款总额的计算与所选购的商品以及每件商品的单价相关。商品单价可从价格数据库中获取。价格计算与显示是原因,而显示总金额是结果。

简单起见,略去与价格相关的原因和结果。作为结果显示在“免费商品”窗口中的提示信息如下:

Ef1:RAM 256

Ef2:RAM 512和PR 1

Ef3:RAM 1G和PR 2

Ef4:无免费商品

既然明确了所有“原因”和“结果”以及它们之间的关系,就可以构造因果图了。图2-14给出了完整的因果图,描述了原因C1~C8与结果Ef1~Ef4之间的相互关系。

图2-14计算机营销系统的因果图。C1、C2、C3分别表示选购CPU 1、CPU 2、CPU 3;C4、C5分别表示选购PR 1、PR 2;C6、C7、C8分别表示选购M 20、M 23、M 30。

从图2-14的因果图中,可以看出:C1、C2、C3具有E约束关系,表示每个订单中只能选购一种CPU;C8与C3之间存在R约束关系,表示显示器M 30只能与CPU 3一同购买。这些原因与结果之间的关系用图2-10中的基本元素表示。

 
图2-14计算机营销系统的因果图。C1、C2、C3分别表示
选购CPU 1、CPU 2、CPU 3;
C4、C5分别表示选购PR 1、PR 2;C6、C7、C8分别
表示选购M 20、M 23、M 30

注意,图2-12中采用“1”标识的中间结点,虽然该结点在本例中并不是必需的,但当需要用多个运算符将条件组合起来才能得到结果时,这些中间结点非常有用,如(C1∧C2)∨C3。同时还要注意到,当只选购打印机和显示器而不买CPU时,将不会获得任何免费商品(Ef4)。

图2-14中原因与结果之间的因果关系可以用下面的布尔表达式表示:

 


【责任编辑:云霞 TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

数据挖掘:概念与技术

本书第1版曾被KDnuggets的读者评选为最受欢迎的数据挖掘专著,是一本可读性极佳的教材。它从数据库角度全面系统地介绍了数据挖掘的基本概念...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊