Wings-企业级单元测试
自动编码引擎
支持c/c++
资讯
产品特征
自动构建测试用例输入
自动化的针对目标程序构造输入用例,有效解决测试用例通用性问题
自动完成驱动编码
自动化针对目标程序完成静态分析,自动完成驱动代码编写过程
支持c/c++的高级数据结构
支持链表、容器、模板类等复杂数据结构
支持c/c++特殊类型赋值
Void * 、函数指针、接口等特殊类型
支持系统变量的自定义赋值
系统变量类型运用模板方式由用户自定义赋值参数
支持测试输入、输出的可视化表示
能够可视化展示测试用例,直观理解测试用例的结构
快速完成分析和编码过程
能够在极短时间内完成大规模程序的分析生成过程
能够获取运行时的输出用例
能够在程序运行过程中,捕获目标程序的输出用例
技术架构
优势功能
代码静态分析
Wings能够快速提取目标程序的信息,获取参数、全局变量、成员变量等的类型信息。对于复杂数据类型,例如结构体、类等嵌套类型,能够逐层深入解析到基本类型。
自动构建测试驱动
Wings能够快速完成对c/c++函数和类驱动代码的自动构建,其构建过程如下:
· 构建类的构造函数与析构函数,创建与释放被测类对象
· 建被测函数的参数、全局变量,调用过程以及返回值信息
· 结合googletest 测试框架,自动构建返回值与预期输出代码的编写
Wings能够支持任意类型以及面向对象的语法特性
Wings的主要特性是能够支持任意类型以及面向对象的语法特性,对于类型,能够支持基本类型 int、double、float、std::string 等、任意复杂的结构类型,结构体、联合体、枚举、链表、多级指针、数组、树、图等、任意复杂的类对象,标准库容器、自定义模板类。在语法层面:wings能够处理static函数、保护和私有函数、类中定义私有结构体、类中包含delete与default关键字的函数进行特殊处理、多态与复杂的类继承。
参数捕获代码自动生成
Wings参数捕获功能主要是在运行时获取函数的参数,全局变量以及返回值的数据。
测试输入用例的构建
Wings针对不同类型,自动生成测试用例,并用数据表格可视化展示用例的层次结构。
特殊类型赋值
Wings处理不同类型,例如void*、函数指针、系统类型等特殊的类型,针对这些特殊的类型,Wings提供了不同的操作来进行特殊处理,例如模板、参数自动解析等
为什么选择Wings
提高单元测试效率
自动为c/c++代码编写单元测试驱动。
用于随机性测试
可以批量产生符合程序输入的大量随机性数据,观察程序的运行行为,解决安全性问题。
向后兼容(回归)测试
用于程序级测试与系统测试的结合,可以在系统测试的过程中,捕获函数运行的数据,当代码发生变更后,结合自动产生的驱动代码,针对相同的输入,对比输出,完成系统回放,对比差异性。可以用于快速的向后兼容性测试。
与覆盖测试结合
未来叠加测试数据搜索算法,可将单元测试的覆盖提升到很高水准,这样可减轻右侧系统测试的压力和投入。同时将不断设计用例满足覆盖的传统模式,转换为覆盖直接满足只需要审核程序输入输出的模式。
准备好开始了吗?