DLT作为软件测试工具 软件测试工具
由于路径的数量依赖于板块中决策的书目的讨论),所以DLT对于基于覆盖原则设计测试用例是个很好的工具。它的
优秀还在于DLT将模块中所有的决策都融人到了DLT格式中——每一个可能的条件状态组合(每一个组合就是一个逻辑璐径)都被覆盖了[6、7]。再者,前面讨论过的完备性检查确保了没有路径被遗忘。
因此,每一个表都导致有限数量的捌试用例被掭加到了测试数据集中。由于测试用例是根据表中的每一个规则产生的,测试者可以从路径覆盖的观点确信完全测试了模块的逻辑。此外,如果内嵌的DLT可能会失败,那么完全覆盖可能会少用一些测试用倒就可达到。从测试费用的角度来看,在足够覆盖的情况下,测试用例越少越好。
根据M卿-s提出的关于用等价类开发测试数据记录的观点[16],我们可产生如下启发来填写数据集。
1)对于所有的DLT,对嵌人DLT中的每一个规则赋以任意数字,不断重复上述工作,直到表中的所有规则被惟一地区分出来。
2)直到每一个代表有效输入值的规则被覆盖,写下覆盖尽量多的有效规则的单个测试纪录。
3)直到每一个代表无效输入值的规则被覆盖,写下覆盖一个且仅一个规则的测试纪录。
由于规则集是由Myers提出来为等价类创建测试用例的[16],规则集还被应用到了DLT图的表格式,一组类似的测试数据和在某种情况中等价类多余的测试数据被产生。DLT方法与等价类方法相比较,它的优势主要在于它可以证明完备性。等价类划分没有固有的方法确保所有可能的类都被识别。从黑箱测试的观点来看,每一个等价类为模块识别一个惟一的输人类型,而且每一个惟一的输入类型要调用模块的一个明确的路径。在DLT中的一个规则识别一组惟一的环境(它随后定义了一种惟一的输入)。从这种意义上讲,这两种测试用例设计方法是一样的,它们NNN在于建立等价类的策略和枉DLT表中列举规则的策略不同。
要找更加详细的讨论和DLT作为产生测试数据的综合性的例子可参考Mosley[15]。你也许想深入研究DLT术语结构化表方法(StructuredTableauM甜:l崦£r)的扩展可参见[1、2、6、7、15]。