所在位置 : 首页 > 模拟养成 > Visual Unit(C/C++单元测试工具)
Visual Unit(C/C++单元测试工具)

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

类型:模拟养成研发商:互联网更新时间:2023-11-27 02:03:05

安卓下载
苹果暂无
应用权限
  • 游戏介绍
  • 游戏截图
  • 详细信息
  • 热门游戏
  • 同类推荐
编辑
评语

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

游戏介绍

(1).南通手游网小编为您带来游戏、软件Visual Unit(C/C++单元测试工具)的醉新醉全面的详细介绍。感兴趣的网友们快一起来看看吧!  Visual Unit提供软件代码测试功能,可以直接对代码单元测试,分析当前的项目代码是否有错误,是否可以优化菜单,软件已经提供了测试案例,加载免费的案例工程到软件就可以执行分析测试,支持导入工程数据、执行函数测试、执行类/文件测试、执行全体测试、执行集成/部件测试,可以在统计界面查看到测试的数据,可以在报告菜单上统计本次测试的全部结果,从而导出测试报告,方便以后对比其他单元测试项目结果,适合需要对c++项目测试的朋友使用,Visual Unit免费已经提供了详细的教程内容,新用户也可以快速执行单元测试!软件功能  Visual Unit 4,简称VU4,适用于C和C++单元测试、集成测试、嵌入式测试、回归测试、白盒测试,以及测试驱动开发(可视编程)。

(2).VU4具备以下功能特性:  一、完全自动化操作功能  完全的表格驱动,测试工作=填表格。

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

(4).  表格支持复合类型、数组、指针,多级指针可设置任一级的空指针。  对于不便于表格驱动的数据,如链表、映射表,提供了数据转换接口,转换为便于表格驱动的数据。

(5).  二、自动化用例生成功能  一键即可实现测试用例的自动生成,且自动用例生成,最高可实现100%全覆盖。

(6).  自动用例取值包括数字的边界值、空字符串、空指针等,以检测边界输入造成的崩溃、超时、异常等问题。(注:自动用例生成功能不能识别程序员用意,仅能跟着代码逻辑完成用例的设置)  三、轻松完成全覆盖功能  VU拥有用独创的用例设计器,根据用例设计器提示,便可轻轻松松实现全面覆盖;  支持语句、条件值、判定、MC/DC、分支、路径覆盖的自动统计;  所有未覆盖的逻辑单位具有清晰的标示。

(7).  四、开发效率至少可提升1倍  人工智慧完成代码开发,测试工作由VU4自动完成,即一边开发,VU则一边自动更新测试代码并执行测试,通过VU可查看测试结果,包括:程序行为描述,用例的输入、所执行的代码输出等。

(8).减少来来回回查找错误修改错误的时间,给人工腾出更多时间开发。  五、底层输入——无须调用底层函数、无须打桩便可轻松控制底层函数在测试中需要的数据。

(9).  支持在表格中控制底层函数产生测试需要的数据,包括返回值、出参、全局变量、成员变量;  支持在表格中控制底层函数在某些用例产生指定的数据,在另一些用例调用实际代码;  支持在表格中判断底层函数的调用次数;  支持在表格中控制底层函数直接跳过;  支持在表格中控制间接调用的函数产生测试需要的数据;  以上功能支持任意数据类型,且不需要编写代码,不污染产品代码。

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

(11).  支持将局部数据转换为可在表格中设置输入的变量;  支持多次赋值,解决死循环之类的问题;  支持在任意指定位置打印局部数据,并支持对局部数据的结果进行判断;  以上功能不需要手工编写代码,更不污染产品代码。

(12).  七、轻易实现回归测试,可维护性强  产品代码修改时,测试代码自动更新,测试代码不需要手工维护;  测试数据与测试代码分离,便以维护。

(13).  八、测试数据可保存可复用于其它函数  可以将测试数据保存到文本文件/excel,其他函数可以从文本文件/Excel中导入数据。

(14).  九、测试报告支持自定义  测试报告数据信息完整,包括覆盖率、用例数、测试情况、测试状态等。  可以将测试报告导出成word或HTML格式。

(15).测(测)试(试)数(数)据(据)可(可)以(以)导(导)出(出)在(在)excel表(表)格(格)中(中)。  十(十)、复(复)杂(杂)类(类)型(型)可(可)转(转)换(换)为(为)简(简)单(单)化(化)数(数)据(据)类(类)型(型)  通(通)过(过)回(回)调(调)赋(赋)值(值),可(可)以(以)将(将)复(复)杂(杂)的(的)数(数)据(据)简(简)单(单)化(化),让(让)数(数)据(据)填(填)写(写)时(时)更(更)加(加)便(便)捷(捷)。

(16).  十一、可灵活选择需要测试函数、集成函数和屏蔽函数文件  在建立工程时可以通过标记为T/N/X来灵活选择测试文件,T表示要测试的文件,N表示不测但会调用的文件,X表示不测试也不需要调用的。

(17).  十二、对嵌入式项目的支持  可以支持绝大多数嵌入式项目。

(18).VU自(自)动(动)解(解)决(决)各(各)种(种)嵌(嵌)入(入)式(式)项(项)目(目)的(的)平(平)台(台)差(差)异(异)和(和)编(编)译(译)差(差)异(异),自(自)动(动)模(模)拟(拟)底(底)层(层)调(调)用(用)包(包)括(括)操(操)作(作)系(系)统(统)API。  利(利)用(用)VU开(开)发(发)嵌(嵌)入(入)式(式)项(项)目(目),在(在)主(主)要(要)的(的)开(开)发(发)过(过)程(程)中(中),可(可)以(以)实(实)现(现)并(并)行(行)、脱(脱)板(板)开(开)发(发),大(大)幅(幅)提(提)升(升)开(开)发(发)效(效)率(率)。

(19).  十三、轻松实现linux/unix项目的测试  可在win系统,通过远程控制,直接测试linux/unix项目。

(20).远程测试,是指针对在windows上开发的linux项目,进行单元测试和可视编程。测试代码在linux上编译和执行。软件特色  1、构建测试用例的成本  表格驱动逻辑块的输入输出,不需要编写测试代码和桩代码,支持面向逻辑块的测试  2、完成覆盖的成本  自动计算近似用例和修改提示,根据提示修改近似用例可以快速实现覆盖  3、对编程效率的促进  程序行为可视,列出最新更新的函数,支持Easy TDD快速编程  4、维护成本  测试代码完全自动生成,自动维护  5、数据的可重用性  数据与测试代码分离,易以重用使用说明  1、启动VU-Setup_v4.7.exe就可以执行软件安装  2、设置软件的安装地址D:Visual_Unit_4  3、进入软件就可以创建新的测试项目,也可以打开软件提供的示例工程文件  4、使用演示License只能测试示例代码(可以新建工程测试/Samples/Demo/中的代码)您也可以为其他项目建立W工程,但需要正式License才能正常测试。

(21).  5、产品项目开发环境设置界面:ADS1.2、AVR、CCS、CodeWarrior、CS+ for CA,CX、CubeSuite、DS-5、EVC 4.0、G++4  6、数据导入界面,支持从工程文件或makefile导入数据,或从makefile生成的命令行导入数据,cmake生成的makefile  7、执行make -B -k-n >xxx.txt,可生成文件xxx.txt,点击“选择文件”,选择xxx.txt文件。

(22).如xxx.txt是从他处拷贝的,则需同时拷贝CMakeFiles文件夹下的*.rsp文件,并保持这些文件原来的目录结构。

(23).  8、第三方库头文件根目录(用;分隔)  如使用了第三方库(指可以链接.a或lib的模块,不包括编译器的头文件),请将这些库的头文件的根目录添加在这里。

(24).使用多个第三方库时,只需添加共同的根目录。  9、将全部文件设为隔离(X),手动选择测试目标  也可以点击“下一步”跳过本步骤。

(25).  即使由工程文件导入数据,也可以在后续步骤中手工调整各项设定,包括重设测试目标。  10、请谨慎选择!建议选择到包含项目所有源文件和头文件的最低目录,例如,E:/a/b/proj,proj下有inc、src、lib等子目录,则根目录应设为E:/a/b/proj。

(26).根目录可以重设(例如,测试工程拷到其他机上工作时,根目录可能不同),但必须指向相同的子目录。同一项目的所有测试工程,根目录也应该指向相同的子目录。

(27).  11、本地工程(可在远程设置中指定根目录,工程迁移只需拷贝此文件夹)  开发过程中,编译中间文件(如VC.obj,GCC的.o)保存目录  12、常规头文件目录(产品项目头文件、嵌入式环境头文件,---自动插装/打桩--)  13、预处理定义(用,或;分隔,用=赋值)  _MT,_WIN32,WIN32,_WINDOWS,_MSC_VER=1200,_M_IX86=500,_MSC_EXTENSIONS,  _INTEGRAL_MAX_BITS=64,_DEBUG,DEBUG  14、其他选项(需按命令行的格式填写,如VC系列由/开始,GCC由-开始,用空格分隔)  15、链接  库文件搜索目录  $(vc6_dir)/vc98/lib/  $(vc6 dir)/vc98/mfc/lib/  链接以下库(用或分隔)  忽略以下库(用或;分隔)  其他链接选项(需按命令行的格式填写,如VC系列由/开始,GCC由-开始,用空格分隔)  命令行  16、高级设置  替换:屏蔽/转定义关键字或代码片断,主要用于在PC上测试嵌入式项目。

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

(29).  扩展:其他选项,通常无须修改。  敏捷开发设置:用于TDD(测试驱动开发)、VTDD(Visual TDD)的设置,可按规则指定不测试的函数。

(30).  集成测试设置:集成测试方面的设定。  强制拷贝文件:强制拷贝文件到VU工程,通常用于在源文件未建立的新项目中分配头文件。

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

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

(33).  18、忽略  不展开的宏定义(用,分隔,只需填写宏名称)  ASSERT, ASSERT_VALID, TRACE, TRACEO, TRACE1, TRACE2, TRACE3, new, DEBUG_NEW,  _T, _TEXT, _FILE_,_FUNCTION_,LINE_  将带分支或复杂的宏设为“不展开”,可以避免VW将这些宏展开造成分支和路径增多。

(34).  内容引用名称的宏不展开(如#define Var gObj.Var,展开可能造成编译错误)  19、扩展选项  头文件  生成桩代码时将库头文件放在前面  自动为头文件添加#ifndef XXXX #define XXXX ... #endif宏,避免头文件被重复编译  数据表格特别标识符(为维护测试数据统一,建议不要修改。

(35).流类型修改在重新打开工程后生效)  20、这里是软件的帮助功能,如果你需要查看软件的全部教程内容就可以在这里打开帮助 免费教程  禁止初始化  加入表格的变量,缺省会自动初始化(调用构造子函数或清零),对于在定义中已初始化的变量,可填写UNINIT,禁止初始化,但表格中仍然可以对个别成员赋值。

(36).  例如,以下代码  全局变量fpData的两个成员,在定义时已初始化为分别指向已实现的函数func和func2,如果在测试时不希望改变它们的值,则可以在表填中填UNINIT,如下图,仍然可以给其他成员设值:  fpData.fp1()实际调用的是函数func,如果要给func设定底层输入,需要在左边函数代码窗口,右键菜单选择“添加间接底层输入”,直接给函数func设定底层输入,如下图用例2:  从命令行导入数据  从命令行导入数据的优势  命令行是指编译命令行,其内容包括了源文件编译时需要的所有信息,因此,从命令行导入数据,可以让VU准确完整地获得编译信息,减少测试工程可能产生的错误。

(37).  使用命令行导入方式建立的测试工程,通常不须要作任何的手动设置(指不需要修改工程属性)。  命令行导入数据方式,适用于超大型项目。

(38).  生成命令行文件  目前只支持由cmake生成的命令行。

(39).  用以下参数调用make,即可生成命令行文件:  make -B -k -n >filename.txt  其中,-B,表示全部重新生成,-k表示有错误也继续,-n表示只生成命令行,不实际编译,>filename.txt,表示将输出结果保存到filename.txt文件。

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

(41).  建立测试工程时导入数据  建立测试工程时,在导入数据界面,选择从命令行文件导入,如下图。

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

(43).  Linux项目远程测试  远程测试简介  远程测试,是指针对在windows上开发的linux项目,进行单元测试和可视编程。

(44).  测试代码在linux上编译和执行。  远端工具的安装与启动  VU根目录下,有一个utrt64(用于64位系统)和utrt32(用于32位系统)文件夹,这是远端工具,utrt的含义是:Unit Test Remote Tool。

(45).  安装:将utrt文件夹拷贝到linux某个位置,例如桌面,不用安装。  启动:在utrt文件夹下打开终端工具,输入./utrt。

(46).如(如)下(下)图(图)。启(启)动(动)后(后),显(显)示(示)utrt的(的)ip地(地)址(址)和(和)监(监)听(听)端(端)口(口)号(号)。

(47).  VU端的设置  在VU“代码”菜单,选择“远程设置”,显示如下图所示界面:  ip地址和端口号填写utrt显示的ip和port。

(48).  本机ip地址和端口号:多网卡可能需要指定本机ip,本机端口号实际并未使用,可以不填。  ip和端口号设置完成后,点击“连接”,即可连接utrt并检测网络状态。

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

(50).  本地工作目录:本地保存测试工程的缺省目录。  库头文件目录,在建立工程时,将直接添加到“工程属性>头文件>库头文件搜索目录”中,这部分要设置完整且正确 ,点击GCC/G++可自动查询并填写。

(51).  linux库头文件目录查询方法  打开终端,输入:echo 'main(){}' | gcc -E -v -  结果如下图所示。

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

(53).  从linux获得编译命令行  对于linux项目,编译命令行需在linux下生成。

(54).方法:  make -B -k -n >filename.txt  建立测试工程  建立测试工程时,开发环境选择VSCode-Linux,如果linux为64位,则选项带-64字样的模板,否则选择带-32字模的模板,如下图。

(55).点击“下一步”会弹出远程配置界面,可以确认一下远程配置是否正确。

(56).然后,进入导入数据界面,选择从命令行文件导入,并从映射盘下选择上一步生成的命令行文件。再后续的步骤可以一路下一步。

(57).建立工程后,使用上与本地测试方式基本上没有区别。

(58).以后打开工程前,记得先启动utrt!。  调试  点击调试,将编译调试工程, 编译成功后,显示以下信息“Please use gdb to debug: xxxx”,xxxx为调试文件的路径。

(59).可用gdb运行此文件进行调试。目前未实现windows端的IDE方式调试。  独立执行测试(持续集成)  独立执行概述  是指脱离VU环境, 以命令行方式执行测试,并生成测试报告以及覆盖统计报告。

(60).  独立执行可集成到Jenkins之类的持续集成平台,按预设的周期自动执行测试。  执行测试前,会自动检查源代码的修改,对于更新过的代码,会自动刷新测试代码,实现自动检测代码修改是否引入了新的错误。

(61).  生成独立执行工程  VU“工程”菜单,选择“导出独立执行的工程”,弹出以下窗口时,导出完成:  上图的提示信息列出了独立工程的文件夹(TestRun文件夹)保存位置,TestRun文件可以拷到没有VU的环境下工作,但执行过程需要编译器、链接器、make,并且,这些应用程序的路径均应已在系统的PATH环境中设定,可以直接调用。

(62).TestRun文件夹具有如下图所示的内容:  上图是在linux环境下执行测试的工程,windows环境下有些文件名称不同:  coder.bin(linux) => Coder.exe(windows)  outrun.bin(linux) => OutRun.exe(windows)  maketest.sh(linux) => maketest.bat(windows)  路径修改  每次执行测试前,会自动检查代码修改并刷新测试代码。

(63).如果流水线环境下有些路径与当前工程不同,可打开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。

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

(65).  报告文件  测试报告:test.xml  覆盖统计文件:cov.xml  文件内容与格式与gtest生成的基本一致,持续集成工具中,用于显示gtest报告的插件可以兼容以上的告。

(66).  检查独立工程是否有错误  执行outrun.bin或OutRun.exe,如果能生成text.xml和cov.xml,表示执行成功。

(67).如果失败,可用文本编辑工具打开maketest.sh或maketest.bat,在最后加一行:pause,保存,然后 执行它,查看输出信息一般可以分析出失败原因,常见的原因是找不到make或编译器、链接器。

(68).更新日志  V4.7 更新 (20220309)  1、增加了从命令行导入数据来建立测试工程的功能  2、增加了远程测试功能,用于针对在windows上开发的linux项目,进行单元测试和可视编程  3、增加了命令行方式执行测试功能,可用于将单元测试集成到持续集成工具中  4、增加了用例数据恢复功能(数据表格右键菜单“恢复用例数据”)。

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

(70).  8、覆盖统计增加了“调用返回覆盖率”。 以上就是南通手游网小编为您搜集整理并带来的游戏、软件Visual Unit(C/C++单元测试工具)的醉新醉全面的详细介绍。

(71).大家觉得小编为各位带来的游戏软件介绍怎么样呢?相关攻略请继续关注我们的网站南通手游网吧。

展开
游戏截图
详细信息

当前版本: 免费版

游戏大小: 99.8 MB

系统要求:

游戏语言: 中文

是否收费:免费(游戏内购买项目)

游戏厂商:互联网