# wings测试用例驱动自动生成工具

#### 项目介绍
Wings是一款用于单元测试测试用例驱动框架自动生成工具，简单来说这款工具主要是生成单元测试驱动代码与测试数据。

#### 配置要求
1. CPU：四核
2. 内存：8G
3. 硬盘：100G


#### 安装教程

1. 安装vs2010以上版本
2. 解压wings安装包

#### 下面我们尝试使用wings来完成单元测试框架与测试数据的自动生成(首先准备好需要测试的C语言工程)

 **第一步：打开wings工具，选择被测工程的主要目录。** 

![输入图片说明](https://images.gitee.com/uploads/images/2018/0727/160439_4c3c72bb_2051827.png "图片1.png")

 **第二步：点击工程操作中的分析生成，** 对工程目录下的.c文件进行解析，保存为XML的格式，生成的文件保存在工程目录下的FunXml与GlobalXml中，分别是函数信息与全局变量的信息，点击驱动文件结构图，即可看到对应文件的函数结构信息。

![输入图片说明](https://images.gitee.com/uploads/images/2018/0727/160724_6b0fbd08_2051827.png "图片2.png")

上图可以查看所有.c文件的驱动函数，以及函数所对应的参数信息与全局变量的信息。

 **第三步：点击功能操作驱动生成，** 完成项目的驱动框架自动生成，驱动文件保存在wings_projects下的Driver文件夹下。点击驱动文件，即可看到对应.c文件的驱动生成代码。

![输入图片说明](https://images.gitee.com/uploads/images/2018/0727/160758_d90e4b35_2051827.png "图片3.png")

    点击单个函数，可以高亮定位到函数所在位置，并且双击函数参数，可以定位到每个参数的赋值单元，查看每个参数的具体驱动赋值代码。

 **第四步：点击值功能操作的值生成按钮，则对应生成测试数据。** 

![输入图片说明](https://images.gitee.com/uploads/images/2018/0727/160840_9a21c5d7_2051827.png "图片4.png")

    界面上显示为单个函数的测试数据，可依据需要修改测试次数，重新生成测试数据文件，也可依据需要修改特定的测试数据。

 **第五步：将驱动文件加载到所在工程目录，与源文件一起编译，即可运行。** 

    如果想查看对应的函数信息与全局变量信息，则右键对应打开对应的Parameter Struture Description（函数信息结构体）与Global Parameter Struture Description(全局变量结构图)。
    Parameter Struture Description（函数信息结构体）:显示函数的名称，参数个数，参数类型以及复杂类型的展开形式。
    Global Parameter Struture Description(全局变量结构图)：显示全局变量的结构信息。

![输入图片说明](https://images.gitee.com/uploads/images/2018/0727/160953_3d3ff81b_2051827.png "图片5.png")

    使用过程中注意事项：
        (1)编译源文件过程中，需要手动注释调源文件中的main函数，wings将自动生成调用驱动函数的主函数。
        (2)遇到特殊类型的赋值，可自行添加模板赋值方式，添加之后，再次生成驱动文件即可。
        例如：遇到FILEL类型的赋值，可在模板中添加对应的赋值方式。

![输入图片说明](https://images.gitee.com/uploads/images/2018/0727/161024_0e9d423a_2051827.png "图片6.png")