第十三讲第十三讲前面介绍的等价类划分和边界值分析法都没有考虑到输入情况的各种组合
这样虽然各个输入条件可能出错的情况已经看到了,但每个输入情况组合起来可能出错的情况都被忽略了
采用因果图方法能帮助我们按一定步骤,选择一组高效的测试用例
同时,还能为我们指出程序规格说明的描述中存在什么问题
©Silberschatz,KorthandSudarshan1
2DatabaseSystemConcepts3
因果图因果图©Silberschatz,KorthandSudarshan1
3DatabaseSystemConcepts3
因果图因果图利用因果图导出测试用例需要经过以下几个步骤:1)分析程序规格说明的描述中哪些是原因,哪些是结果
原因常常是输入条件或是输入条件的等价类
结果是输出条件
2)分析程序规格说明的描述中语义的内容,并将其表示成连接各个原因与各个结果的“因果图”
©Silberschatz,KorthandSudarshan1
4DatabaseSystemConcepts3
因果图因果图3)由于语法或环境的限制,有些原因和结果的组合情况时不可能出现的
为表明这些特定的情况,在因果图上使用特殊的符号表明约束条件
4)把因果图转换成判定表
5)把判定表的每一列写成一个测试情况
©Silberschatz,KorthandSudarshan1
5DatabaseSystemConcepts3
因果图因果图为了对该方法有进一步理解,需要对因果图作一说明
在因果图中出现的四个符号分别表示四种关系(参看图A所示,其中ci表示原因,通常在图的左部,ei表示结果,通常在图的右部
ci和ei都可取值0或1,0表示某状态不出现,1表示某状态出现)
©Silberschatz,KorthandSudarshan1
6DatabaseSystemConcepts3