极光下载站 - 打造齐全的绿色软件家园

极光下载站

当前位置:极光下载站 > 教育教学 > 编程工具 > Visual Unit(C/C++单元测试工具) v4.7 官方版
Visual Unit(C/C++单元测试工具)

Visual Unit(C/C++单元测试工具)

v4.7 官方版
  • 软件大小:99.8 MB
  • 软件语言:简体中文
  • 更新时间:2023-02-08
  • 软件类型:国产软件 / 编程工具
  • 运行环境:WinXP, Win7, Win8, Win10, WinAll
  • 软件授权:免费软件
  • 官方主页:http://www.kailesoft.com/
  • 软件等级 :
  • 介绍说明
  • 下载地址
  • 精品推荐
  • 相关软件
  • 网友评论

  Visual Unit提供软件代码测试功能,可以直接对代码单元测试,分析当前的项目代码是否有错误,是否可以优化菜单,软件已经提供了测试案例,加载官方的案例工程到软件就可以执行分析测试,支持导入工程数据、执行函数测试、执行类/文件测试、执行全体测试、执行集成/部件测试,可以在统计界面查看到测试的数据,可以在报告菜单上统计本次测试的全部结果,从而导出测试报告,方便以后对比其他单元测试项目结果,适合需要对c++项目测试的朋友使用,Visual Unit官方已经提供了详细的教程内容,新用户也可以快速执行单元测试!

Visual Unit(C/C++单元测试工具)

软件功能

  Visual Unit 4,简称VU4,适用于C和C++单元测试、集成测试、嵌入式测试、回归测试、白盒测试,以及测试驱动开发(可视编程)。VU4具备以下功能特性:

  一、完全自动化操作功能

  完全的表格驱动,测试工作=填表格。

  表格中填写一个数据,相当于完成N行代码。VU自动生成测试驱动代码、桩代码等。

  表格支持复合类型、数组、指针,多级指针可设置任一级的空指针。

  对于不便于表格驱动的数据,如链表、映射表,提供了数据转换接口,转换为便于表格驱动的数据。

  二、自动化用例生成功能

  一键即可实现测试用例的自动生成,且自动用例生成,最高可实现100%全覆盖。

  自动用例取值包括数字的边界值、空字符串、空指针等,以检测边界输入造成的崩溃、超时、异常等问题。(注:自动用例生成功能不能识别程序员用意,仅能跟着代码逻辑完成用例的设置)

  三、轻松完成全覆盖功能

  VU拥有用独创的用例设计器,根据用例设计器提示,便可轻轻松松实现全面覆盖;

  支持语句、条件值、判定、MC/DC、分支、路径覆盖的自动统计;

  所有未覆盖的逻辑单位具有清晰的标示。

  四、开发效率至少可提升1倍

  人工智慧完成代码开发,测试工作由VU4自动完成,即一边开发,VU则一边自动更新测试代码并执行测试,通过VU可查看测试结果,包括:程序行为描述,用例的输入、所执行的代码输出等。减少来来回回查找错误修改错误的时间,给人工腾出更多时间开发。

  五、底层输入——无须调用底层函数、无须打桩便可轻松控制底层函数在测试中需要的数据。

  支持在表格中控制底层函数产生测试需要的数据,包括返回值、出参、全局变量、成员变量;

  支持在表格中控制底层函数在某些用例产生指定的数据,在另一些用例调用实际代码;

  支持在表格中判断底层函数的调用次数;

  支持在表格中控制底层函数直接跳过;

  支持在表格中控制间接调用的函数产生测试需要的数据;

  以上功能支持任意数据类型,且不需要编写代码,不污染产品代码。

  六、局部变量测试难题,也不需手工编写代码,可随意控制局部输入与局部输出。

  支持将局部数据转换为可在表格中设置输入的变量;

  支持多次赋值,解决死循环之类的问题;

  支持在任意指定位置打印局部数据,并支持对局部数据的结果进行判断;

  以上功能不需要手工编写代码,更不污染产品代码。

  七、轻易实现回归测试,可维护性强

  产品代码修改时,测试代码自动更新,测试代码不需要手工维护;

  测试数据与测试代码分离,便以维护。

  八、测试数据可保存可复用于其它函数

  可以将测试数据保存到文本文件/excel,其他函数可以从文本文件/Excel中导入数据。

  九、测试报告支持自定义

  测试报告数据信息完整,包括覆盖率、用例数、测试情况、测试状态等。

  可以将测试报告导出成word或HTML格式。测试数据可以导出在excel表格中。

  十、复杂类型可转换为简单化数据类型

  通过回调赋值,可以将复杂的数据简单化,让数据填写时更加便捷。

  十一、可灵活选择需要测试函数、集成函数和屏蔽函数文件

  在建立工程时可以通过标记为T/N/X来灵活选择测试文件,T表示要测试的文件,N表示不测但会调用的文件,X表示不测试也不需要调用的。

  十二、对嵌入式项目的支持

  可以支持绝大多数嵌入式项目。VU自动解决各种嵌入式项目的平台差异和编译差异,自动模拟底层调用包括操作系统API。

  利用VU开发嵌入式项目,在主要的开发过程中,可以实现并行、脱板开发,大幅提升开发效率。

  十三、轻松实现linux/unix项目的测试

  可在win系统,通过远程控制,直接测试linux/unix项目。远程测试,是指针对在windows上开发的linux项目,进行单元测试和可视编程。测试代码在linux上编译和执行。

软件特色

  1、构建测试用例的成本

  表格驱动逻辑块的输入输出,不需要编写测试代码和桩代码,支持面向逻辑块的测试

  2、完成覆盖的成本

  自动计算近似用例和修改提示,根据提示修改近似用例可以快速实现覆盖

  3、对编程效率的促进

  程序行为可视,列出最新更新的函数,支持Easy TDD快速编程

  4、维护成本

  测试代码完全自动生成,自动维护

  5、数据的可重用性

  数据与测试代码分离,易以重用

使用说明

  1、启动VU-Setup_v4.7.exe就可以执行软件安装

Visual Unit(C/C++单元测试工具)

  2、设置软件的安装地址D:Visual_Unit_4

Visual Unit(C/C++单元测试工具)

  3、进入软件就可以创建新的测试项目,也可以打开软件提供的示例工程文件

Visual Unit(C/C++单元测试工具)

  4、使用演示License只能测试示例代码(可以新建工程测试/Samples/Demo/中的代码)您也可以为其他项目建立W工程,但需要正式License才能正常测试。

Visual Unit(C/C++单元测试工具)

  5、产品项目开发环境设置界面:ADS1.2、AVR、CCS、CodeWarrior、CS+ for CA,CX、CubeSuite、DS-5、EVC 4.0、G++4

Visual Unit(C/C++单元测试工具)

  6、数据导入界面,支持从工程文件或makefile导入数据,或从makefile生成的命令行导入数据,cmake生成的makefile

Visual Unit(C/C++单元测试工具)

  7、执行make -B -k-n >xxx.txt,可生成文件xxx.txt,点击“选择文件”,选择xxx.txt文件。如xxx.txt是从他处拷贝的,则需同时拷贝CMakeFiles文件夹下的*.rsp文件,并保持这些文件原来的目录结构。

Visual Unit(C/C++单元测试工具)

  8、第三方库头文件根目录(用;分隔)

  如使用了第三方库(指可以链接.a或lib的模块,不包括编译器的头文件),请将这些库的头文件的根目录添加在这里。使用多个第三方库时,只需添加共同的根目录。

Visual Unit(C/C++单元测试工具)

  9、将全部文件设为隔离(X),手动选择测试目标

  也可以点击“下一步”跳过本步骤。

  即使由工程文件导入数据,也可以在后续步骤中手工调整各项设定,包括重设测试目标。

Visual Unit(C/C++单元测试工具)

  10、请谨慎选择!建议选择到包含项目所有源文件和头文件的最低目录,例如,E:/a/b/proj,proj下有inc、src、lib等子目录,则根目录应设为E:/a/b/proj。根目录可以重设(例如,测试工程拷到其他机上工作时,根目录可能不同),但必须指向相同的子目录。同一项目的所有测试工程,根目录也应该指向相同的子目录。

Visual Unit(C/C++单元测试工具)

  11、本地工程(可在远程设置中指定根目录,工程迁移只需拷贝此文件夹)

  开发过程中,编译中间文件(如VC.obj,GCC的.o)保存目录

Visual Unit(C/C++单元测试工具)

  12、常规头文件目录(产品项目头文件、嵌入式环境头文件,---自动插装/打桩--)

Visual Unit(C/C++单元测试工具)

  13、预处理定义(用,或;分隔,用=赋值)

  _MT,_WIN32,WIN32,_WINDOWS,_MSC_VER=1200,_M_IX86=500,_MSC_EXTENSIONS,

  _INTEGRAL_MAX_BITS=64,_DEBUG,DEBUG

Visual Unit(C/C++单元测试工具)

  14、其他选项(需按命令行的格式填写,如VC系列由/开始,GCC由-开始,用空格分隔)

Visual Unit(C/C++单元测试工具)

  15、链接

  库文件搜索目录

  $(vc6_dir)/vc98/lib/

  $(vc6 dir)/vc98/mfc/lib/

  链接以下库(用或分隔)

  忽略以下库(用或;分隔)

  其他链接选项(需按命令行的格式填写,如VC系列由/开始,GCC由-开始,用空格分隔)

  命令行

Visual Unit(C/C++单元测试工具)

  16、高级设置

  替换:屏蔽/转定义关键字或代码片断,主要用于在PC上测试嵌入式项目。

  忽略:指定不展开的宏、不测试的函数及不生成桩的函数,通常无须修改。

  扩展:其他选项,通常无须修改。

  敏捷开发设置:用于TDD(测试驱动开发)、VTDD(Visual TDD)的设置,可按规则指定不测试的函数。

  集成测试设置:集成测试方面的设定。

  强制拷贝文件:强制拷贝文件到VU工程,通常用于在源文件未建立的新项目中分配头文件。

  添加内置类型:解释过程如出现"引用的类型xx未定义"的警告,可在这里添加定义。

Visual Unit(C/C++单元测试工具)

  17、请点击“添加”,设置需屏蔽或替换的关键字或代码片断。一个项是另一个项的一部分时,后者应在前面,如long long和long long int都替换为_int64,则long long int必须放在前面。

Visual Unit(C/C++单元测试工具)

  18、忽略

  不展开的宏定义(用,分隔,只需填写宏名称)

  ASSERT, ASSERT_VALID, TRACE, TRACEO, TRACE1, TRACE2, TRACE3, new, DEBUG_NEW,

  _T, _TEXT, _FILE_,_FUNCTION_,LINE_

  将带分支或复杂的宏设为“不展开”,可以避免VW将这些宏展开造成分支和路径增多。

  内容引用名称的宏不展开(如#define Var gObj.Var,展开可能造成编译错误)

Visual Unit(C/C++单元测试工具)

  19、扩展选项

  头文件

  生成桩代码时将库头文件放在前面

  自动为头文件添加#ifndef XXXX #define XXXX ... #endif宏,避免头文件被重复编译

  数据表格特别标识符(为维护测试数据统一,建议不要修改。流类型修改在重新打开工程后生效)

Visual Unit(C/C++单元测试工具)

  20、这里是软件的帮助功能,如果你需要查看软件的全部教程内容就可以在这里打开帮助

Visual Unit(C/C++单元测试工具)

 官方教程

  禁止初始化

  加入表格的变量,缺省会自动初始化(调用构造子函数或清零),对于在定义中已初始化的变量,可填写UNINIT,禁止初始化,但表格中仍然可以对个别成员赋值。

  例如,以下代码

Visual Unit(C/C++单元测试工具)

  全局变量fpData的两个成员,在定义时已初始化为分别指向已实现的函数func和func2,如果在测试时不希望改变它们的值,则可以在表填中填UNINIT,如下图,仍然可以给其他成员设值:

Visual Unit(C/C++单元测试工具)

  fpData.fp1()实际调用的是函数func,如果要给func设定底层输入,需要在左边函数代码窗口,右键菜单选择“添加间接底层输入”,直接给函数func设定底层输入,如下图用例2:

Visual Unit(C/C++单元测试工具)

  从命令行导入数据

  从命令行导入数据的优势

  命令行是指编译命令行,其内容包括了源文件编译时需要的所有信息,因此,从命令行导入数据,可以让VU准确完整地获得编译信息,减少测试工程可能产生的错误。

  使用命令行导入方式建立的测试工程,通常不须要作任何的手动设置(指不需要修改工程属性)。

  命令行导入数据方式,适用于超大型项目。

  生成命令行文件

  目前只支持由cmake生成的命令行。

  用以下参数调用make,即可生成命令行文件:

  make -B -k -n >filename.txt

  其中,-B,表示全部重新生成,-k表示有错误也继续,-n表示只生成命令行,不实际编译,>filename.txt,表示将输出结果保存到filename.txt文件。

  生成命令行过程中,可能生成一些依赖文件,如.rsp文件,这些文件在建立测试工程时同样需要使用,因此,较好的方式是,建立一个专门用于生成命令行的build目录,如build2。

  建立测试工程时导入数据

  建立测试工程时,在导入数据界面,选择从命令行文件导入,如下图。后续的步骤可以一路下一步。

Visual Unit(C/C++单元测试工具)

  公共的编译和链接选项无效

  由于每个编译单元具有独立且完整的命令行,命令行也具有完整的链接信息,因此不再需要公共的编译选项和链接选项,以下红框内的公共编译和链接选项无效,但绿框内的选项仍然有效(用于处理特别情形)。

Visual Unit(C/C++单元测试工具)
Visual Unit(C/C++单元测试工具)

  Linux项目远程测试

  远程测试简介

  远程测试,是指针对在windows上开发的linux项目,进行单元测试和可视编程。

  测试代码在linux上编译和执行。

  远端工具的安装与启动

  VU根目录下,有一个utrt64(用于64位系统)和utrt32(用于32位系统)文件夹,这是远端工具,utrt的含义是:Unit Test Remote Tool。

  安装:将utrt文件夹拷贝到linux某个位置,例如桌面,不用安装。

  启动:在utrt文件夹下打开终端工具,输入./utrt。如下图。启动后,显示utrt的ip地址和监听端口号。

Visual Unit(C/C++单元测试工具)

  VU端的设置

  在VU“代码”菜单,选择“远程设置”,显示如下图所示界面:

  ip地址和端口号填写utrt显示的ip和port。

  本机ip地址和端口号:多网卡可能需要指定本机ip,本机端口号实际并未使用,可以不填。

  ip和端口号设置完成后,点击“连接”,即可连接utrt并检测网络状态。

  远程工作目录:linux端保存测工程的缺省目录。

  本地工作目录:本地保存测试工程的缺省目录。

  库头文件目录,在建立工程时,将直接添加到“工程属性>头文件>库头文件搜索目录”中,这部分要设置完整且正确 ,点击GCC/G++可自动查询并填写。

Visual Unit(C/C++单元测试工具)

  linux库头文件目录查询方法

  打开终端,输入:echo 'main(){}' | gcc -E -v -

  结果如下图所示。

  用gcc或g++编译一个.c文件或.cpp文件,使用-v参数,也可以得到类似的结果,如gcc -v test.c或g++ -v test.cpp。

Visual Unit(C/C++单元测试工具)

  从linux获得编译命令行

  对于linux项目,编译命令行需在linux下生成。方法:

  make -B -k -n >filename.txt

  建立测试工程

  建立测试工程时,开发环境选择VSCode-Linux,如果linux为64位,则选项带-64字样的模板,否则选择带-32字模的模板,如下图。点击“下一步”会弹出远程配置界面,可以确认一下远程配置是否正确。然后,进入导入数据界面,选择从命令行文件导入,并从映射盘下选择上一步生成的命令行文件。再后续的步骤可以一路下一步。建立工程后,使用上与本地测试方式基本上没有区别。以后打开工程前,记得先启动utrt!。

Visual Unit(C/C++单元测试工具)

  调试

  点击调试,将编译调试工程, 编译成功后,显示以下信息“Please use gdb to debug: xxxx”,xxxx为调试文件的路径。可用gdb运行此文件进行调试。目前未实现windows端的IDE方式调试。

Visual Unit(C/C++单元测试工具)

  独立执行测试(持续集成)

  独立执行概述

  是指脱离VU环境, 以命令行方式执行测试,并生成测试报告以及覆盖统计报告。

  独立执行可集成到Jenkins之类的持续集成平台,按预设的周期自动执行测试。

  执行测试前,会自动检查源代码的修改,对于更新过的代码,会自动刷新测试代码,实现自动检测代码修改是否引入了新的错误。

  生成独立执行工程

  VU“工程”菜单,选择“导出独立执行的工程”,弹出以下窗口时,导出完成:

Visual Unit(C/C++单元测试工具)

  上图的提示信息列出了独立工程的文件夹(TestRun文件夹)保存位置,TestRun文件可以拷到没有VU的环境下工作,但执行过程需要编译器、链接器、make,并且,这些应用程序的路径均应已在系统的PATH环境中设定,可以直接调用。TestRun文件夹具有如下图所示的内容:

Visual Unit(C/C++单元测试工具)

  上图是在linux环境下执行测试的工程,windows环境下有些文件名称不同:

  coder.bin(linux) => Coder.exe(windows)

  outrun.bin(linux) => OutRun.exe(windows)

  maketest.sh(linux) => maketest.bat(windows)

  路径修改

  每次执行测试前,会自动检查代码修改并刷新测试代码。如果流水线环境下有些路径与当前工程不同,可打开RunTest文件夹下的dirs.txt修改,格式如下,每行一个目录,顺序无关,其中,product_dir为产品项目根目录(对应:VU工程属性>常规>产品项目根目录),include_dir为编译环境(如gcc)的头文件目录(对应:VU工程属性>头文件>库头文件目录),lib_dir为静态库的搜索目录(对应:VU工程属性>链接>库文件搜索目录 ,run_dir为动态库目录),environment_variable为环境变量,用:分隔名称与值(如environment_variable:work_dir:c:/abc/myproject/src,表示名为work_dir的环境变量,值为c:/abc/myproject/src):

  product_dir:/home/wt/projects/Demo-Linux/

  include_dir:/usr/local/gcc/lib/gcc/x86_64-linux/7.5.0/include/

  include_dir:/usr/local/include/

  include_dir:/usr/local/gcc/include/

  include_dir:/usr/local/gcc/lib/gcc/x86_64-linux/7.5.0/include-fixed/

  include_dir:/usr/include/

  lib_dir:/usr/wt/projects/Demo-Linux/lib

  run_dir:-rpath,/usr/wt/so

  environment_variable:work_dir:c:/abc/myproject/src

  执行测试

  执行以下文件,即可执行测试:

  linux环境:outrun.bin。

  windows环境:OutRun.exe

  执行过程会自动调用coder.bin(或Coder.exe)刷新测试代码。

  报告文件

  测试报告:test.xml

  覆盖统计文件:cov.xml

  文件内容与格式与gtest生成的基本一致,持续集成工具中,用于显示gtest报告的插件可以兼容以上的告。

  检查独立工程是否有错误

  执行outrun.bin或OutRun.exe,如果能生成text.xml和cov.xml,表示执行成功。如果失败,可用文本编辑工具打开maketest.sh或maketest.bat,在最后加一行:pause,保存,然后 执行它,查看输出信息一般可以分析出失败原因,常见的原因是找不到make或编译器、链接器。

更新日志

  V4.7 更新 (20220309)

  1、增加了从命令行导入数据来建立测试工程的功能

  2、增加了远程测试功能,用于针对在windows上开发的linux项目,进行单元测试和可视编程

  3、增加了命令行方式执行测试功能,可用于将单元测试集成到持续集成工具中

  4、增加了用例数据恢复功能(数据表格右键菜单“恢复用例数据”)。

  5、增加了导出json格式用例数据的功能

  6、撤消了“导入空闲用例”功能,增加了“拷贝一行数据”及“拷贝整个数据表”功能,提升了数据复用及数据恢复方面的便利性,也可以更好地支持VTDD(在函数原形不断修改时不丢失数据)

  7、增加了“禁止初始化”功能,。

  8、覆盖统计增加了“调用返回覆盖率”。

下载地址

  • Pc版

Visual Unit(C/C++单元测试工具) v4.7 官方版

相关软件

查看所有评论+

网友评论

网友
您的评论需要经过审核才能显示

本类排名

本类推荐

装机必备

换一批

相关资讯