技术开发 频道

构建理想的模块自测结构

    2.2测试用例文件结构

    测试用例文件中存放测试用例初始化数据和测试完毕后的验证数据。数据的结构采用一般配置文件的格式,详见图2-2。

图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.总结

    一个完整的测试用例包含测试数据和测试代码,当测试数据和代码混在一起时给测试用例的维护带来了很大困难,而且给测试代码带来许多冗余。本文提出了将测试数据和测试代码分离的想法,并对怎样进行分离进行了阐述。测试数据从测试代码中分离出来后,使得测试数据维护简单、方便。

    4.参考资料

    CppUnit 主页 : http://cppunit.sourceforge.net/

    xprogramming 主页 :http://www.xprogramming.com

0
相关文章