C/C++单元测试工具Visual Unit 4在线帮助


What's New?

-----------V4.7 更新 (20220309)-----------
    1、增加了从命令行导入数据来建立测试工程的功能,参见适用于大项目的命令行导入数据
    2、增加了远程测试功能,用于针对在windows上开发的linux项目,进行单元测试和可视编程,参见远程测试
    3、增加了命令行方式执行测试功能,可用于将单元测试集成到持续集成工具中,参见独立执行测试(持续集成)
    4、增加了用例数据恢复功能(数据表格右键菜单“恢复用例数据”)。
    5、增加了导出json格式用例数据的功能,参见导出JSON格式的用例数据
    6、撤消了“导入空闲用例”功能,增加了“拷贝一行数据”及“拷贝整个数据表”功能,提升了数据复用及数据恢复方面的便利性,也可以更好地支持VTDD(在函数原形不断修改时不丢失数据),参见数据表格命令简介
    7、增加了“禁止初始化”功能,参见禁止初始化
    8、覆盖统计增加了“调用返回覆盖率”。

-----------V4.6 更新 (20200103)-----------
    1、增加了集成/部件测试功能。
    2、增加了调用关系图和调用关系统计表,覆盖率增加了调用覆盖率。参见集成/部件测试
    3、增加了前置和中置生成自动用例功能。参见自动用例与边界测试
    4、数字转指针已实现自动处理,方法:工程属性》高级》替换》数字地址转为合法指针,选中“自动处理”。
    5、增加了定制报告生成功能(生成word格式报告)。VU生成中间文件,再调用word文档生成工具生成最终报告。word文档生成是开源项目,用户可以通过修改源代码及模板文件生成自己的报告。参见定制测试报告(Word格式报告)

-----------V4.5 更新 (20190820)-----------
    1、重新开发了调试功能。改为利用成熟IDE来实现调试,功能较完善,也符合一般用户的使用习惯。参见启动调试
    2、之前的两种调试方式无法达到令人满意的应用体验,不再保留。
    3、提升了集成测试功能:测试输出增加了显示函数调用状态(打桩、设置了底层输入或调用实际代码)功能,以及显示子函数代码执行状态的功能。参见代码窗口
    4、增加了执行单一用例功能(只执行表格中选中的用例,并测试输出界面的当前用例)。 请参考执行测试

-----------V4.4 更新 (20190218)-----------
    1、增加了调试功能
    2、增加了对集成覆盖的统计功能。
    3、对于函数指针,增加了自动生成实现和在表格中直接设值的功能,参见函数指针赋值
    4、针对部分嵌入式项目将数字作为指针使用的场景,增加了自动生成代码和自动替换的功能,不再需要手工添加代码和添加替换,参见数字转为指针
    5、改进了对数组参数的处理,将一维数组设为NULL,或对未指定数量的一维数组修改类型,均可在表格中直接操作,不再需要修改用例代码。同时改进了对数组出参数的底层输入支持。 参见数组及序列赋值
    6、增加了“数据深度”选项,用于提升测试和调试的运行速度,如果测试速度较慢,或调试功能不正常,可在“设定”的“功能”页设置数据深度(推荐设为3或2)。参见数据窗口
    7、一些小缺陷的修复或优化。
    8、数据增加了分段赋值功能,参见数组与序列赋值/分段赋值
    9、增加了从.ptu文件导入用例数据功能,参见导入其他工具下的用例数据
    10、增加了批测试过滤功能,即执行类/文件测试或执行全体测试时跳过部分类/文件或部分函数。在函数列表窗口点击“All”,右键菜单点击“显示批测试复选框”,即可显示过滤复选框。参见执行测试
    11、增加了将表格中的部分用例设为无效的功能,方法:在表格界面选中一列,右键菜单点击“当前用例设为无效”,再次执行此命令可以恢复。参见数据表格命令简介
    12、增加了导出用例数据到csv文件的功能。参见导出用例数据

-----------V4.3 更新 (20170905)-----------
    1、将编辑器更换为scintilla。以前版本的编辑器功能不足且疑似引起不必现的崩溃。scintilla是一些著名的文本编辑软件所使用的编辑器,功能较完善,更换编辑器提升了稳定性,同时为以后增加集成测试功能、调试功能等提供了基础。
    2、改进了测试输出的数据显示功能:1)指针增加地址显示,格式为{变量地址};2)树形方式显示时,变量内部存在循环引用时,不再限制显示级数。
    3、改进了变量内部循环引用的指针的处理方式,消除了因规避死循环而造成部分成员可能漏显示的问题。
    4、一些小缺陷的修复或优化。

-----------V4.2 正式版 更新 (20170608)-----------
    1、一系列小缺陷的修复或优化。
    2、增加了VC2015模板。
    3、覆盖统计功能,增加了“循环独立统计”选项(设定》统计与报告),可将循环分支设为单独统计,不计入一般分支,用于满足部分用户的规范要求。

-----------V4.1 正式版 更新 (20150616)-----------
    一、重点提升了边开发边测试的使用体验:
    1、提升了编译速度。桩代码、头文件的测试代码(测试在头文件实现的函数的测试代码)不再使用独立的编译单元,从而显著提升了大项目的编译速度。
    2、对在头文件实现的函数,如需测试,可以通过工程的设定,自动加入,例如,所以T文件直接包含的头文件自动加入测试。
    3、开发过程中,桩代码自动生成和清除,不再需要刷新桩代码。例如:新编写了A函数,调用了只编写了声明的B函数,B函数会自动打桩,如果过一段时间,又编写了B函数的实现,则桩函数会自动删除。
    二、提升了对QT的支持:
    1、新建工程时,增加了对.pro文件的导入功能。
    2、增加了QT4、QT5的模板。
    请参考QT项目的设置
    三、重新开发了内池存:
    1、新的内存提升了性能,提高了代码解析、生成的速度。
    2、新的内存池通用、简单、快速、零附加,并具有检测内存泄漏、写越界、重复删除、写野指针等内存问题的功能,以后视用户需要,可以发布为开源项目,在功能上正好和VU具有互补性。 
    四、优化了涉及界面的代码的测试,使MFC、QT等界面类中的代码也能顺畅地测试,请参考涉及界面的代码的测试
    五、一系列小的优化。

    由于修改了测试代码的文件结构,打开V4.0工程时,会弹出升级工程文件的界面并自动升级,升级过程中自动备份原工程文件。

-----------V4.0 正式版 更新 (20141012)-----------
    优化了找出MC/DC覆盖用例的算法。
    解决了一个类型多个定义(在不同编译单元具有由宏指定的不同定义)造成的输入输出数据不正确的问题。

-----------V4.0 正式版 更新 (20140920)-----------
    报告生成功能增加了两个选项,可在以下界面进行选择:“工具”菜单,选择“设定”,选择“统计与报告”:
    1、“输入输出只加入关键数据”,如果选中,所生成的报告中,省略无需关注的数据,使报告简洁化。
    2、“加入函数注释”,如果选中,所生成的报告中,将增加一项:“函数说明”,内容为函数注释。当测试报告作为文档使用时,建议选中此项。
    请参考测试报告
    大数组的输出可能造成内存不足,因此,对数组的输出作了限制。缺省设定为最多输出64个子项,可在“工具”菜单选择“设定”进行修改。对于在数据表格中填写了输入或输出值的子项,则不在此限制范围内。
    帮助系统增加了介绍测试技术理论的两章:《黑盒测试与白盒测试》,《测试用例设计》,删除了原来的《测试用例基础》章。
    优化了数据表格的部分功能,例如,编辑框增加了根据键入数据的长度自动增加宽度的功能。

-----------V4.0 正式版 更新 (20140905)-----------
    增加了数据表格的快捷键,请参考快捷操作
    消除了数据表格中拷贝较长的字符串时可能拷贝不完整的缺陷。
    测试报告将函数的“错误”数改为“失败断言”数,并增加了用例数据的说明项(如果case desc不为空),对于用例代码的说明项,改为只在用例代码的注释为空时添加。建议将VU工程TestProject文件夹下的文件全部删除,再刷新测试报告。

-----------V4.0 正式版 更新 (20140901)-----------
    调用脚本增加了指针拷贝,请参考调用脚本
    定位测试数据,添加全局变量时,由只可设输入改为可设输入输出,请参考快捷操作
    测试输出界面增加了“只显示关键数据”开关,当涉及复杂的复合类型时,按下此开关可以隐藏无需关注的数据,以便更快捷地观察程序行为,请参考测试输出窗口
    一些细节的优化。

-----------V4.0 正式版 更新 (20140810)-----------
    强化了定位到测试数据功能:1)当定位的变量为全局变量或其成员且该全局变量未加入表格时,可直接加入并定位到成员,请参考快捷操作;2)支持以枚举名为序号的数组项的直接跳转。
    以枚举名作为数组维数时,数据表格会标注各项的枚举名,便于设定数据。同时、测试输出数据、用例设计器、测试报告均会标注枚举名。
    增加了VC++2012、VC++2013的模板。
    增加了ADS1.5、DS-5模板。
    一系列的细节优化。

-----------V4.0 beta9 更新 (20140721)-----------
    增加了定位到测试数据功能,请参考快捷操作
    优化了解析模块。
    增加一个全局数组变量定义:long vux_var[16],用于判断代码调用,请参考局部输出
    优化了加入变量到表格的功能,请参考添加变量到表格
    增加了自动生成“调试工程建立指南”的功能,请参考建立调试工程
    消除了几个小缺陷。
    安装包不再包含视频教程《大道至简 ,30分钟掌握单元测试》,新版视频教程即将发布,请留意凯乐官网http://www.kailesoft.com。

-----------V4.0 beta8 更新 (20140624)-----------
    增加了 屏蔽代码行的功能,包括屏蔽光标所在行和屏蔽选中行,常用于界面代码的测试过程中,屏蔽因资源不存在面产生崩溃的代码行,请参考屏蔽替换与代码
    优化了VC系列从工程文件导入数据的模块。
    消除了几个小缺陷。

-----------V4.0 beta7 更新 (20140611)-----------
    增加了将自动用例转为普通用例的功能,请参考运行边界测试

-----------V4.0 beta6 更新 (20140601)-----------
    改进了边界测试用例(自动用例)的工作方式,边界测试不再需要生成用例数据,也不需要对应的驱动代码,只需按下边界测试开关,边界测试用例即生效。
    进一步优化了关键模块,内存占用较上一版减少约15%。
    消除了几个小缺陷。

-----------V4.0 beta5 更新 (20140520)-----------
    消除了几个小缺陷。

-----------V4.0 beta4 更新 (20140409)-----------
    重新规划和编写了示例工程,增加了入门示例、C语言实际项目示例,并在示例代码中添加了学习提示,用例数据中增加了说明和注释,这些提示、说明和注释,可以帮助新用户快速掌握单元测试和VTDD的思路、方法以及VU4的操作。
    增加了调用脚本功能,详细
    优化了数据保存机制,减少了内存占用,提升了解释代码和生成测试代码的速度。
    一系列小的优化。

-----------V4.0 beta3 更新 (20140312)-----------
    消除了几个小缺陷。

-----------V4.0 beta2 更新 (20140222)-----------
    增加了针对数据类型的数据文件的保存与导入功能。详细
    增加了针对数据表的数据文件的保存与导入功能。详细
    增加了IAR的模板。
    消除了几个小缺陷。


-----------V4.0 beta1 更新 (20140112)-----------

    VU1-VU3,从简单到复杂,逐渐解决了单元测试的主要难题。

    VU4,从复杂到简单,使单元测试简单易行,低投入、高效益。

    大道至简。单元测试做什么的?测试代码的功能逻辑,实现高效率高质量的编程。

    下表是单元测试的主要问题及Visual Unit 4的主要功能:

   
 

单元测试主要问题

Visual Unit 4 主要功能 说明
1 如何快速构建测试? 表格驱动逻辑块的输入输出 在表格中填数据就行了
2 如何快速完成覆盖? 自动计算近似用例并提出修改提示 完成航空标准的覆盖率(MC/DC)很简单
3 如何实现快速编程? 程序行为可视,支持快速编写复杂代码 节约90%调试,开发过程很舒服
 
 
    VU4已实现彻底的表格驱动,只有极少数的特别场才需要生成或修改用例代码(已知的场景有:异常测试、指向其他数据的指针、函数指针、可变参数,详细)。
   
    如果您使用过VU3或更早版本,通常只需要阅读介绍数据表格的章,包括:测试数据之一(表格基础),测试数据之二(回调赋值),测试数据之三(内部数据),测试数据之四(数据文件)。

    由于改进非常大,VU4与VU3不兼容,即无法用VU4打开VU3工程。VU4与VU3互不干扰,但License通用,因此,VU3用户请不要卸载VU3,对于已使用VU3测试的工程,请继续用VU3完成测试。

    Create process failed. Error: 目录名无效
    如果编译时出现上述错误,原因是环境变量未生效造成的,退出VU再重新打开就OK了。 仅在小部分操作系统上,且使用GCC、G++编译器时会出现这种情形。