测试用例设计白皮书功能图分析方法测试用例设计白皮书功能图分析方法
一方法简介方法简介
一个程序的功能说明通常由动态说明和静态说明组成动态说明描述了输入数据的次序或转移的次序静态说明描述了输入条件与输出条件之间的对应关系对于较复杂的程序由于存在大量的组合情况因此仅用静态说明组成的规格说明对于测试来说往往是不够的必须用动态说明来补充功能说明功能图方法是用功能图FD形式化地表示程序的功能说明并机械地生成功能图的测试用例功能图模型由状态迁移图和逻辑功能模型构成状态迁移图用于表示输入数据序列以及相应的输出数据在状态迁移图中由输入数据和当前状态决定输出数据和后续状态逻辑功能模型用于表示在状态中输入条件和输出条件之间的对应关系逻辑功能模型只适合于描述静态说明输出数据仅由输入数据决定测试用例则是由测试中经过的一系列状态和在每个状态中必须依靠输入输出数据满足的一对条件组成功能图方法其实是是一种黑盒白盒混合用例设计方法功能图方法中要用到逻辑覆盖和路径测试的概念和方法其属白盒测试方法中的内容逻辑覆盖是以程序内部的逻辑结构为基础的测试用例设计方法该方法要求测试人员对程序的逻辑结构有清楚的了解由于覆盖测试的目标不同逻辑覆盖可分为语句覆盖判定覆盖判定条件覆盖条件组合覆盖及路径覆盖下面我们指的逻辑覆盖和路径是功能或系统水平上的以区别与白盒测试中的程序内部的1功能图功能图由状态迁移图和布尔函数组成状态迁移图用状态和迁移来描述一个状态指出数据输入的位置或时间而迁移则指明状态的改变同时要依靠判定表或因果图表示的逻辑功能例一个简化的自动出纳机ATM的功能图2测试用例生成方法从功能图生成测试用例得到的测试用例数是可接受的问题的关键的是如何从状态迁移图中选取测试用例若用节点代替状态用弧线代替迁移则状态迁移图就可转化成一个程序的控制流程图形式问题就转化为程序的路径测试问题如白盒测试问题了3测试用例生成规则
f为了把状态迁移测试路径的测试用例与逻辑模型局部测试用例的测试用例组合起来从功能图生成实用的测试用例须定义下面的规则在一个结构化的状态迁移SST中定义三种形式的循环顺序选择和重复但分辨一个状态迁移中的所有循环是有困难的其表示图形省略4从功能图生成测试用例的过程1生成局部测试用例在每个状态中从因果图生成局部测试用例局部测试用例由原因值输入数据组合r