Vector CAST 安使用指南总结

  • 一、安装Vector CAST软件本体
     
    • 准备:Vector CAST软件本体安装包
       
    • 1、解压VectorCAST 安装包。
       
      • 2024版本安装密码是
         
        • 4ERFAYjF1Lwr4zw
           
      • 2025版本安装密码是
         
        • yewWv1qY76VE7iL
           
      • 如需要其他版本安装包解压密码,请咨询支持邮箱
         
    • 2、双击setup.exe 安装
       
    • 3、如果检测到本机安装过的其他VectorCAST版本,则会弹出如下界面
       
      • 选择Install a new instance of this application
         
    • 4、然后一路选择Next到安装目录
       
      • 注意:如果本机有安装其他版本的VectorCAST,在选择安装目录时需选择另一个干净的目录安装新版本。目录不要包含空格和中文。
         
    • 5、VectorCAST 安装结束后
       
      • 结束。
         
      • 注意:如果弹出界面是否要选择有效的license服务器,则直接选择第二项,具体查看Vector CAST安装指南。
         
  • 二、激活license许可证服务
     
    • 准备:Vector CAST软件的license许可文件
       
    • 1、检查许可证文件
       
      • 检查license文件第一行的主机名和MAC地址是否正确
         
        • 如果不一致则需要重新申请许可证文件
           
    • 2、激活许可证服务
       
      • 进入服务器端软件目录下(默认在VCAST安装文件夹内 D:\VCAST\FLEXlm),右键lmtools.exe,以管理员身份运行
         
        • 文章图片
           
      • 选择界面上方的Config Services 选项卡文章图片
         
        • 在Service Name输入框中输入新名称,如VCAST2019
           
        • 点击Path to the Imgrd.exe file 项关联的Browse 按钮,找到并点击Imgrd.exe 文件,输入Imgrd.exe 的完整路径名称
           
          • 默认Imgrd.exe 文件位于服务器端软件目录中
             
        • 点击Path to the License file 项关联的Browse 按钮,输入VectorCAST许可证的完整路径名称
           
          • 申请的license许可文件
             
        • 在Path to the debug log file 输入框中,输入调试日志文件的完整路径名称。
           
          • 注意:若文件不存在,则必须先创建该文件(重要)
             
      • 选择界面上方的Start/Stop/Reread 选项卡文章图片
         
        • 选择新建的服务器如VCAST2019,点击Start Server
           
          • 如若成功则在左下角会显示Server Start Successful,完成激活。
             
          • 如有其他情况,具体查看Vector CAST安装指南。
             
  • 三、导入HighTec IDE 的TC 375配置包(如需要其他配置包请找官方寻求提供)
     
    • 准备:HighTec_TC37x配置包(压缩包)、Trace32_Tricore软件绿色版(压缩包)
       
    • 1、将上面两个压缩包解压到D盘符中(盘符可自行更正)
       
    • 2、解压后打开HighTec_TC37x文件夹中的LAUNCH_VCAST.bat文件
       
      • 文章图片
         
    • 3、修改配置文件
       
      • 文章图片
         
        • VCAST_TRACE32 = D:\Trace32_Tricore(Trace32_Tricore的解压位置)
           
        • VCAST_COMPILER_INSTALL_BASE = D:\HighTec_4.9.4.1\toolchains\tricore(编译器的安装位置)
           
        • CHIP_MODEL = TC375TP(当前芯片为TC375TP)
           
    • 4、保存后运行LAUNCH_VCAST.bat文件,自动打开Vector CAST
       
    • 5、注意以后每次使用Vector CAST是时,都要通过运行LAUNCH_VCAST.bat文件来运行
       
  • 四、建立工程
     
    • 1、打开软件
       
      • 如果使用HighTec IDE的TC 375的配置包,需要通过我们上面配置好的LAUNCH_VCAST.bat文件进行启动;
         
        • 文章图片
           
    • 2、选择对应的配置文件,新建工程
       
      • 通过配置文件新建工程;文章图片
         
        • 输入项目名称后,选择HighTec IDE 的TC 375配置包内的配置文件;文章图片
           
          • 修改配置文章图片
             
            • 导入需要进行覆盖率测试的代码工程文件夹;文章图片
               
              • 如果文件分支或者数量比较多,会出现此弹窗,点击是即可,若还是存在弹窗,多次点击即可;文章图片
                 
                • 选择覆盖类型:语句覆盖和分支覆盖;然后保存配置文章图片
                   
    • 3、新建单元测试环境
       
      • 创建覆盖率单元测试环境文章图片
         
        • 输入环境命名(自定义)文章图片
           
          • 查看HighTec工程配置的编译命令文章图片
             
            • 根据步骤复制所有的编译命令文章图片
               
          • 导入编译命令文章图片
             
            • 选择单元测试的.c文件,点击构建文章图片
               
              • 构建成功文章图片
                 
  • 六、测试用例及其问题汇总
     
    • 1、关于简单测试用例
       
      • 插入一个<INIT>测试用例
         
        • <INIT>测试用例是简单测试用例的一种类型。它们调用测试框架,但不调用任何子程序。它们主要用于执行初始化或检查全局数据的最终值
           
        • <INIT>测试用例允许您在待测单元中初始化全局数据。此测试用例会调用测试框架,但不会调用任何子程序。任何初始化(全局数据初始化、类对象构造)都会在测试驱动程序“main”被调用之前进行。
           
        • <INIT>测试用例的另一个有用功能是作为复合测试用例的设置步骤。您可以设置<INIT>测试用例来初始化全局数据,然后将该测试用例作为复合测试的第一个槽位包含。这样做可以允许一次性为多个复合测试输入大量初始化数据。
           
      • 为子程序插入测试用例
         
        • 首先插入测试用例。新建的测试用例默认是空用例,可以尝试运行此用例。由于没有输入输出约束,因此会默认判定为测试通过。但这类用例无法增加语句覆盖率,需根据实际代码手动或自动生成测试输先插入测试用例。
           
          • 插入测试用例文章图片
             
            • 此时为空测试用例文章图片
               
              • 执行单条测试用例(①选中测试用例,②点击运行)文章图片
                 
                • 用例执行结果文章图片
                   
        • 分析源代码可以看到第一个分析语句if((MS_Data.MS_State_His == 1)),所以我们为了进行语句覆盖,要通过修改MS_Data.MS_State_His 等于 1和MS_Data.MS_State_His 不等与 1 ,让程序能够执行到if程序和else程序,新建测试用例后,在用例里面的参数树下搜索MS_Data.MS_State_His,给定输入为1,保存后,复制用例将复制用例的MS_Data.MS_State_His,给定输入不为1(这里给定为0),保存后,执行第一条用例,发现让程序能够执行到if程序,但执行不到else程序,执行第二条用例,发现执行到了else程序,这条分支全部覆盖到了
           
          • 分析源码分支结构文章图片
             
            • 编写测试用例,让MS_Data.MS_State_His 等于 1文章图片
               
              • 复制上面用例,让MS_Data.MS_State_His 等于 0文章图片
                 
                • 执行第一条测试用例001,运行后发现让if下面的语句已被执行文章图片
                   
                  • 执行第二条测试用例002,运行后发现让else下面的语句已被执行文章图片
                     
    • 2、关于复合测试用例
       
      • 复合用例可以由简单用例组合而成,复合测试用例中的每个测试用例可以被执行一次或多次。
         
        • 文章图片
           
      • 有一个处理过程,该过程实现了一个数据库,其中一个子程序用于向数据库写入数据,另一个子程序用于从数据库读取数据。在这种情况下,可以开发一个复合测试,以调用"写入"子程序的调用,紧接着立即调用"读取"子程序的调用。通过这种方式,您可以验证存储数据的完整性。
         
        • 例如:存在一个计数器,这个计数器需要多次计数才能达到某种条件,我们需要将每次计数的值记录下来以便下次循环使用,我们可以使用复合测试用例,将满足计数的条件的测试用例迭代多次,直到计数到需要的值。
           
    • 3、查看已执行测试用例的代码覆盖率
       
      • 文章图片
         
        • 文章图片
           
    • 4、查看Control Flow Graph(控制流程图)
       
      • 先选择要查看的函数,再点击Control Flow Graph,等待几秒
         
      • 用例执行后的分支覆盖和语句覆盖,通过控制流程图输出显示
         
        • 文章图片
           
          • 控制流程图文章图片
             
    • 5、查看代码覆盖率摘要报告
       
      • 度量指标报告
         
        • 文章图片
           
      • 代码覆盖率摘要
         
        • 文章图片
           
    • 可能出现的问题,以及解决方法
       
      • 环境构建时候出现for循环中无法定义变量
         
        • 文章图片
           
          • 单次解决方法:在创建环境的编译器配置中,将GNU版本改为100200文章图片
             
          • 长期解决方法:在配置文件中,将GNU版本改为100200文章图片
             
      • 用例执行失败,报告里面提示数据溢出,一般是代码里面指针导致的或者被调函数里面的代码导致的,可以屏蔽某些代码,观察哪一行代码导致的错误,也可以用Trace32软件调试。
         
        • 文章图片
           
          • 指针没有指向可用地址,修改测试用例的全局变量将指针地址赋值
             
    • 回归测试
       
      • 所谓回归测试,就是旧代码修改之后,重新进行测试以确保修改没有引入新的错误或者是导致其他代码产生错误。
         
        • VectorCAST具有强大的回归测试的功能,可通过GUI—Incremental或命令行的方式定期的执行测试用例,以增量的方式重构测试环境,检查代码变更,只执行被影响到的测试用例,节约项目测试时间,降低项目版本维护的成本。
           
  • 参考文件