使用Functional Tester的一项测试技术[3] 软件测试
一个测试套件脚本包含很多决策脚本和测试脚本。一个测试套件的所有元素都在一个驱动表中被定义,在这个驱动表中列出了一系列无序的测试片断。每一个测试片断由在两个决策脚本之间顺序执行的测试脚本组成。对于每一个测试片断来说,驱动表列出了一个源测试脚本和一个目标测试脚本之间的转换。
随着决策在执行期间被决策脚本动态的计算出来,需要为测试套件脚本实现一种通知机制,用来通过测试脚本通知下一个需要运行的测试脚本。当决策脚本通知测试套件脚本下一个应该运行的测试脚本时,测试套件脚本请求驱动表,查询下一个应该运行的测试片断。这个过程如图3所示:
图3:一个测试套件的元素
一般情况下,一个测试套件中的任何测试脚本都需要为数据输入连接到一个数据池。当一个数据驱动表连接到测试套件时,我们就可以将输入的各种组合的数据记录列入到测试脚本和动态变化的AUT行为中。当AUT的行为发生变化时,每一个决策脚本提供的结果都会变化,因此通过AUT的测试路径就会变化。通过一个简单的测试套件脚本,我们可以验证很多测试路径。这样可以轻松的合并输入的数据和扩大测试套件的范围,并在决策表中添加新条件。
这种方法清晰的将决策脚本中的测试逻辑封装与测试脚本中执行的测试动作和验证分离开来。AUT中决策点的识别,能够帮助我们形式化并且精化从测试套件到测试脚本的分解。
使用 Functional Tester 实现此项技术
作为这个概念证明的一部分,我开发了一个Java库,用来使用Functional Tester实现基于决策表的技术。请按照下列步骤建立一个测试套件脚本:
重用测试套件代码模版并填写测试套件驱动表
使用一个代码模版建立决策脚本,并填写决策表
填写数据驱动表
基于决策表的测试库
文章来源于领测软件测试网 https://www.ltesting.net/