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


What's New?

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

-----------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语言实际项目示例,并在示例代码中添加了学习提示,用例数据中增加了说明和注释,这些提示、说明和注释,可以帮助新用户快速掌握单元测试和easy TDD的思路、方法以及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++编译器时会出现这种情形。