动态校验点测试的思想能够被实现的前提是RFT能够提供强有力的支持。而RFT本身一些优秀的特性恰恰证明了这种动态校验的可行性,下面我们通过两方面来展示RFT的相关特性。
首先这种可行性是因为RFT的对象识别体系,它提供了把所有被测试控件映射成为一个树形结构的能力,这使得通过程序来动态遍历所有被测试控件成为可能。因此,测试人员可以不用静态地一个个的抓取和维护被测试控件,而采用配置加遍历的方法来进行动态查找,这就大大减少了代码的耦合性。
在RFT对象识别体系中,每个被测试的对象都被映射成为Testt的子类实现。这些Testt通过树形结构组织在一起,用以映射被测试对象中物件相互包含的关系。一个典型的例子如图4所示。在这个例子中,整个eclipse的Properties View都映射成为一个Testt的树形结构。
图 4: 对象映射机制
有了如上的思路和RFT特性的支持,在后面的篇幅里面,我们着手分四个步骤来实现这样的动态校验点测试。
步骤一: 配置数据文件
首先测试人员需要建立一个标准的RFT测试工程。如图 5 所示,我们建立工程CatProject。
图 5: CatProject工程的目录
NAME=Name:,center,Text
LABEL=Label:,center,Text
TYPE=Type:,center,Text
MANAGEMENT=Management:,center,Text
EXTENTSIZE=Extent size:,center,Text
PREFETCHSIZE=Prefetch size:,center,Text
OVERHEAD=Overhead:,center,Text
TRANSFERRATE=Transfer rate:,center,Text
该文件中,每一行都配置了一个被测试的控件。等号左边是这个对象的唯一标识符,该标识符通常可以根据对象的某些特征来命名,比如说控件的文字或者它的前置文本。等号右边是该对象的特征描述,是用来动态识别这个对象的关键。这个特征描述分成三个部分,之间使用逗号进行分隔。这三个部分分别是:相邻的特征标签的文字,被测试控件和特征标签之间的相对位置关系,该被测试控件的类型。比如第5个控件,它左边的标签是EXTENTSIZE:,而这个控件是文本类型的控件,所以可以配置成为EXTENTSIZE=Extentsize:,center,Text。
在完成控件配置文件之后,就可以着手配置预期值。如下所示。\testcases\myvpcase\ids.properties
NAME=DB_LARGE1
LABEL=
TYPE=LARGE
MANAGEMENT=DATABASE_MANAGED
EXTENTSIZE=32
PREFETCHSIZE=32
OVERHEAD=12.67
TRANSFERRATE=0.18
在上面的配置文件中,每行都是一个预期值的配置。等号左边是ts.properties中配置的被测试控件的标识符,等号右边是它应当等于的值。通过这种方式,测试人员就可以很容易的配置每个被测试控件的预期值。
文章来源于领测软件测试网 https://www.ltesting.net/