[原创]测试用例设计之“功能图”法
[原创]测试用例设计之“功能图”法
功能图法简介:
功能图方法其实是一种灰盒测试(因其兼有黑盒和白盒测试,所以称为灰盒测度比较体贴)用例设计方法;通常情况一个程序的功能说明通常由动态说明和静态说明组成.动态说明描述了输入数据的次序或转移的次序.静态说明描述了输入条件与输出条件之间的对应关系.用功能图形象地表示程序的功能说明,并机械地生成功能图的测试用例
程序功能说明的组成
动态说明:描述输入数据的次序或转移次序
静态说明:描述输入条件和输出条件之间的对应关系
功能图:
由状态迁移图和布尔函数组成,状态迁移图用状态和迁移来表示。一个状态指出数据输入的位置(或时间),一个迁移指明状态的改变,同时要依靠判定表或因果图表示的逻辑功能
功能图法概述
用功能图形象地表示程序的功能说明,并机械地生成功能图的测试用例
功能图模型由状态迁移图和逻辑功能模型构成
状态迁移图:用于表示输入数据序列以及相应的输出数据;由输入数据和当前状态决定输出数据和后续状态
逻辑功能模型:用于表示在状态中输入条件和输出条件的对应关系。由输入数据决定输出数据。此模型只适用于描述静态说明
功能图测试用例由测试中经过的一系列状态和在每个状态中必须依靠输入/输出数据满中的一对条件组成
功能图法测试用例生成方法:
从状态迁移图中选取测试用例,用节点代替状态,用弧线代替迁移,状态图就可转化成一个程序的控制流程图形式
测试用例生成规则
为了把状态迁移(测试路径)的测试用例与逻辑模型(局部测试用例)的测试用例组合起来,从功能图生成实用的测试用例,在一个结构化的状态迁移(SST)中,定义3种形式的循环:顺序,选择和重复
功能图生成测试用例步骤
1 生成局部测试用例:在每个状态中,从因果图生成局部测试用例。局部测试用例由原因值(输入数据)组合与对应的结果值(输出数据或状态)构成
测试路径生成:利用上面的规则生成从初始状态到最后状态的测试路径
2 测试用例合成:合成测试路径与功能图中每个状态的局部测试用例。结果是初始状态到最后状态的一个状态序列,以及每个状态中输入数据与对应输出数据的组合。
3 测试用例的合成算法:采用条件构造树