2020年7月30日,星云测试在TiD2020质量竞争力大会正式发布最新产品“Wings-企业级单元用例自动编码引擎”。这是国际首个面向复杂软件并且可以进行单元测试用例全自动编码的高端专业软件测试产品,目前处于国际上商业化程度最高、技术最领先的水平。(附Wings免费下载和白皮书pdf下载)
众所周知,软件缺陷发现得越晚,其处理费用就越呈几何激增,因此测试左移概念已经成为趋势。但单元测试面临的最大问题是:单元测试用例编写工作量巨大,极端情况下与开发工作量比达到1:1,甚至更高,造成大量成本损耗。
星云测试研发的Wings(目前商用产品支持c/c++程序)产品,可以对被测试程序进行全局分析和深度理解,随后由内置算法程序实现计算机全自动的单元测试编码。Wings确保自动编写的代码无语法、语义错误。目前已经完成了多方商用落地验证。这种用计算机智能算法全自动产生的测试编码去验证开发人员编写的源代码逻辑输入输出对错的高端测试模式,不需要编写测试用例、测试驱动程序或桩调用代码,极大减少了编写单元测试的巨大工作量。是未来软件测试领域最为璀璨的“明珠”技术。
Wings大幅超越国外相关产品性能,可以对高复杂度的程序参数进行深度解析,比如c++类、模板类、数组、结构体、指针、链表以及任意复杂结构的层级嵌套,同时对于面向对象的程序特性以及常用的容器库能够完美识别和支持。对于一些void*、函数指针、模板类等无法直接静态分析进行类型确定的特殊情况,均有基于人工智能的程序分析辅助进行类型确定。
Wings在基于深度参数解析的基础上,对于全局范围的程序进行理解分析后,第一步 按照内置规则,自动化构建被测程序的输入用例代码;第二步 构建测试代码用于调用被测程序的源代码;第三步 构建被测程序输出断言,完成调用被测试程序单元的全部环境准备。这个构建速度非常快,可以达到每分钟100万行左右的生成速度,编写的代码比程序开发人员手工编写的规范度高出一截,确保100% 的语法语义正确,免去大量的调试时间。
在驱动数据上,Wings实现了驱动代码和数据的分离。它基于深度参数解析基础上,可以根据参数的结构自动生成层级嵌套的测试数据结构,用图形界面可视化的展示给用户。用户只需要根据Wings提供的界面向导对测试数据进行填充即可,驱动程序会自动识别并读取这些数据,完成对被测试程序的调用。
Wings还可以全自动生成参数捕获程序,并自动插装在被测试程序中。当被测试程序运行后,可以通过专用软件捕获程序中每个函数模块运行的具体参数值。Wings的测试代码驱动自动生成和参数捕获,相当于完成了一种全智能的闭环测试验证体系。Wings使测试数据不需要人工准备,只需要在前序轮次中通过参数捕获自动存储。若前序测试用例运行正常,那么这些数据都可以作为后续测试输入和进行校验的基础数据。
Wings产品网址为www.codewings.net,取“为代码插上翅膀飞向未来”之意。目前网站有中英文双语版本,面向国内、国际的客户进行发售。网站介绍资源丰富,产品教程、文档、问答等均有详细阐述。它适用于多种嵌入式操作系统和结构体系,所有测试中间产物的源代码都可见,可移植性优越。Wings产品申请了数项原创国家发明专利,未来将对整个测试和开发行业具有巨大的推动作用。