图2-2 测试用例文件结构图
1)段名
配置文件中使用了段的概念,段相当于C++中的NameSpace,每个段内的关键字(Key)与其它段内的关键字互不影响,Section即为段名。
2)关键字
关键字用来标志不同元素的值,Key即为关键字的名字,关键字的名字不区分大小。
3)值
每个关键字都对应一个值,Value 即为值,值要区分大小。
4)注释
支持单行注释,字符“#”后面的内容为注释。
5)行结构
一行的结构只能是以下几种:
[Section]
Key=Value
空行
以上三中情况之一加上注释
2.3测试程序通用库
测试数据从测试代码中分离出来后,增加了管理测试数据文件和解析测试数据文件的代码,这部分代码是通用的,可以将它们组织成库供开发测试程序时使用。
图2-3 测试程序和测试通用库关系图
2.3.1管理测试数据文件的库
管理测试数据文件的库的功能如下:
1)获取目录下所有测试文件路径的接口
能找出某个目录下 (包括该目录下所有子目录)所有的测试文件(如“*.ini”文件)的路径并存起来。
2)获取下一个测试文件的接口
向用户提供下一个测试文件的路径,若已没有下一测试文件则返回空。
2.3.2解析测试文件的库
解析测试文件的库的功能如下:
1)文件解析接口
按照 2.2测试用例文件结构 中的文件结构解析出一个测试文件。
2)获取值的接口
向用户提供测试文件中某个段内某个关键字对应的值。
由于测试文件的结构和一般配置文件结构一致,可以使用已有的库来实现(如PWLIB中配置文件解析类)。
3.总结
一个完整的测试用例包含测试数据和测试代码,当测试数据和代码混在一起时给测试用例的维护带来了很大困难,而且给测试代码带来许多冗余。本文提出了将测试数据和测试代码分离的想法,并对怎样进行分离进行了阐述。测试数据从测试代码中分离出来后,使得测试数据维护简单、方便。