图2.15 Fit表格驱动测试
在Fit集成测试框架中,使用Table(表格)的方式来编写测试用例,并对自动化测试结果进行检查、统计和显示[45]。这种表格形式使被测系统的业务人员通过编写实际的例子来描述系统的需求,这些描述也作为测试用例来进行测试。Fit系统的这种表格,每一行和每列都是一种简明的结构,表格的每一个元素中都存放一个简单的值,可以通过使用电子表格、Web页面或者其他文档形式来存储。例如一个测试除法功能的表格如表2.8所示:
表2.8 除法规则的测试表格用例
Division
Numerator Denominator Quotient?
10 2 5.0
12.6 3 4.2
22 7 ~=3.14
9 3 <5
11 2 4<_<6
100 4 33
上表例子表示对一个类的单元测试。被测类名为Division。前两列是两个setter属性,表示输入数据,第三列的问号?表示一个getter属性,就是输出结果。这个例子清楚表明了关键字驱动(或表驱动)测试与传统编码测试(如JUnit代码)之间的区别。
上表中未说明“表格类型”。通过查看ColumnFixtureCode 可以看出类Division 扩展了ColumnFixture 类,说明该表的表格类型是ColumnFixture 类型。
package eg;
import fit.ColumnFixture;
public class Division extends ColumnFixture {
public double numerator;//输入变量必须是public
public double denominator;//输入变量必须是public
public double quotient() {return numerator/denominator;}
}
表2.8中,第一行显示测试用例的名称Division,第二行表头分别表示测试用例的准备数据,包括输入的除数,被除数以及商,每一行数据分别表示这个测试用例的一次测试。可以看出,这些测试之间是独立的。测试人员通过编写这样的Fit表格,通过FitNesse wiki页面提供的Test功能,执行相应的测试用例,并检查用例相应的实际输出结果是否与预期结果相符。图2.16是FitNesse一次执行该测试表格后输出结果: 基于FitNium的Web关键字驱动的测试(11):http://www.youerw.com/jisuanji/lunwen_8907.html