|
|
|
|
移动端

2.6 因果图分析

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

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

技术沙龙 | 邀您于8月25日与国美/AWS/转转三位专家共同探讨小程序电商实战

2.6 因果图分析

前面介绍了两种基于等价类划分和边界值分析选择测试用例的技术,其中一个是基于输入域的一元化分的,另一个是基于输入域的多元化分的。虽然采用多元化分能够产生大量的输入组合,但这种组合的数量可能是天文数字,同时,如例2.8所示,组合中包含大量不可测的数据,使测试用例的设计过程变得单调。

因果图,也称作依赖关系模型,主要用于描述软件输入条件(即“原因”)与软件输出结果(即“结果”)之间的依赖关系。因果图可以直观地表示各种依赖关系。在这里,因果图是输入与输出之间逻辑关系的图形化表现形式,这种逻辑关系也可以表示成布尔表达式。测试人员可以从因果图中选择不同的输入组合作为测试用例。生要测试用例时,使用特定的启发式方法可以有效解决测试用例数量的组合爆炸问题。

“原因”是指软件需求中能影响软件输出的任意输入条件。“结果”是指软件对某些输入条件的组合所做出的响应。这里的“结果”,可以是屏幕上显示的一条错误提示信息,也可以是弹出的一个新窗口,还可以是数据库的一次更新。但“结果”对软件用户并不总是可见的“输出”,事实上,它可能是软件当中的一个内部测试点,在测试过程中通过检测测试点来判断软件运行的中间结果是否正确。例如,内部测试点可能在函数的入口处,用于指示该函数已被激活。

举例来说,需求“仅当DF开关为ON时分发食物”,包含一个原因“DF开关为ON”和一个结果“分发食物”。该需求蕴含着原因“DF开关为ON”与结果“分发食物”之间的依赖关系。当然,其他需求可能还要求有另外的原因才能产生结果“分发食物”。下面给出了利用因果图方法生成测试用例的一般过程:

1) 仔细研读软件需求规范,确定哪些是原因,哪些是结果,并为每个原因和结果赋予唯一的标识。注意,某些结果同时又是别的结果的原因。

2) 用因果图描述原因与结果之间的依赖关系。

3) 将因果图转换为一个有限入口的判定表,并简称为判定表。

4) 根据判定表生成测试用例。

下面将具体描述因果图中采用的基本符号以及一些应用实例。


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

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

读 书 +更多

网管第一课——计算机网络原理

本书是《网管第一课》系列图书中的第一本,是专门针对高校和培训机构编写的,其主要特点是内容细而精、针对性强。书中内容全是经过精心挑选...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊