转:因果图法
用图解的方法表示输入的各种组合关系,写出判定表,从而设计相应的测试用例。
从用自然语言书写的程序规格说明的描述中找出因(输入条件)和果(输出或程序状态的改变),可以通过因果图转换为判定表。
因果图法即因果分析图,又叫特性要因图、石川图或鱼翅图,它是由日本东京大学教授石川馨提出的一种通过带箭头的线,将质量问题与原因之间的关系表示出来,是分析影响产品质量的诸因素之间关系的一种工具。
因果图法是一种适合于描述对于多种输入条件组合的测试方法,根据输入条件的组合、约束关系和输出条件的因果关系,分析输入条件的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件涉及的各种组合情况。因果图法一般和判定表结合使用,通过映射同时发生相互影响的多个输入来确定判定条件。因果图法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况。采用因果图法能帮助我们按照一定的步骤选择一组高效的测试用例,同时,还能指出程序规范中存在什么问题,鉴别和制作因果图。
因果图法着重分析输入条件的各种组合,每种组合条件就是“因”,它必然有一个输出的结果,这就是“果”。
利用因果图导出测试用例一般要经过以下几个步骤:
1)分析软件规格说明的描述中哪些是原因,哪些是结果。原因是输入或输入条件的等价类,结果是输出条件。给每个原因和结果并赋予一个标识符,根据这些关系,画出因果图。
2)因果图上用一些记号表明约束条件或限制条件。
3)对需求加以分析并把它们表示为因果图之间的关系图。
4)把因果图转换成判定表。
5)将判定表的每一列作为依据,设计测试用例。
例题
有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。若投入1元5角硬币,按下“可乐”、“雪碧”、“红茶”按钮,相应的饮料就送出来。若投入的是两元硬币,在送出饮料的同时退还5角硬币。
分析
原因:① 投入1元5角硬币; ② 投入2元硬币;
③ 按“可乐”按钮; ④ 按“雪碧”按钮; ⑤ 按“红茶”按钮。
中间状态:① 已投币; ② 已按钮。
结果:① 退还5角硬币; ② 送出“可乐”饮料
③ 送出“雪碧”饮料; ④ 送出“红茶”饮料。
出判定表
* 雪紫 *