Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from space CPPTDESKDEV and version 2020.2

本主题说明了如何在团队中创建和共享自定义测试配置(以及它们依赖的任何规则文件或规则映射文件)。

内容包括:

Table of Contents
maxLevel1

关于测试配置

C++test 的每次测试运行(无论是在 GUI 中还是在命令行界面中)都基于定义了测试方案并设置所有相关测试参数的测试配置。您可以使用 C/C++test 附带的内建测试配置执行测试 这些配置基于 各种流行的测试场景。另外,您可以通过复制一个内建测试配置并修改副本来创建自定义测试配置,或者从头开始创建新的测试配置;请参见Creating a Custom Test Configuration在 DTP 服务器上创建和存储的测试配置 只能直接在 DTP 上进行自定义;请参见DTP Test Configurations

为了您的方便,您可以配置一个您计划最经常使用的最喜欢的测试配置。最喜欢的测试配置定义了默认的测试场景,可以很容易地 Parasoft菜单,使用测试工具栏按钮,或从命令行界面运行;请参见 设置收藏测试配置

设置收藏测试配置
Anchor
Changing the Favorite Test Configuration
Changing the Favorite Test Configuration

将测试配置设置为【收藏夹】可轻松 在 IDE 的 Parasoft 菜单和工具栏中访问它,以方便执行您最常见的测试场景。此外,收藏夹测试配置定义了命令行执行的默认测试场景。

您可以指定多个最喜欢的测试配置,以配置对经常使用的测试配置的轻松访问。C/C++test 假定在【收藏夹】层次结构中具有最高位置的测试配置是命令行使用 运行测试 工具栏按钮的默认配置。

指定收藏测试配置:

  1. 从【IDE】菜单中选择 Parasoft> 测试配置 或在运行测试 工具栏按钮上的下拉菜单中选择测试配置 以打开测试配置面板
  2. 右键单击您想要设置为【收藏夹】的测试配置。
  3. 从【上下文】菜单中选择设为收藏夹
  4. 指定测试配置的位置:
    - F:表示最高优先级和默认方案; 此测试配置将带有“ F”图标
    - 1-3的标记: 指示收藏的测试配置在 GUI 中的显示顺序(使用测试 按钮, 运行测试 按钮 菜单)

创建自定义测试配置
Anchor
Creating a Custom Test Configuration
Creating a Custom Test Configuration

您不能直接修改 C/C++test 附带的内建测试配置。要创建自定义测试配置,请复制 现有的测试配置,然后在【用户定义】类别中修改重复的配置。

(info) 在 DTP 服务器上创建和存储的测试配置 只能直接在 DTP 上自定义。

创建自定义测试配置:

  1. 从【IDE】菜单中选择 Parasoft> 测试配置 或在运行测试 工具栏按钮上的下拉菜单中选择测试配置 以打开测试配置面板
  2. 查看可用的测试配置,然后执行以下任一操作:
    • 要基于现有测试配置创建自定义测试配置:选择并右键单击现有测试配置,然后选择复制。 
    • 要从头开始创建自定义测试配置:单击新建
    复制或新创建的测试配置将被添加到测试配置树的“用户定义”类别中
  3. 选择新的测试配置。
  4. 根据需要修改设置; 请参见Configuring Test Configurations 以获取有关每个选项卡中可用设置的信息。
  5. (可选)将【测试配置】设置为【收藏测试配置】;请参见 设置收藏的测试配置
  6. 点击应用
  7. 点击 关闭
Info
iconfalse
title“变灰”测试配置=不兼容的测试配置

如果测试配置为“灰色”,则表明它是使用不兼容的 C/C++test 测试版本创建的,因此无法对其进行编辑或使用当前版本运行。

Tip
title提示-导入和导出以共享测试配置

如果您不使用 DTP 或团队服务器在整个团队中共享测试设置,则可以通过导出测试配置来共享自定义测试配置,以便其他团队成员可以导入它。有关详细信息,请参见导入/导出测试配置


Anchor
deploying_test
deploying_test
跨团队部署测试配置

您可以通过 DTP 跨团队署测试配置,DTP 是共享和配置团队配置的主要平台,可以通过团队服务器,或者通过手动导出然后导入测试配置。

Anchor
DTP Test Configurations
DTP Test Configurations
DTP 测试配置

如果 C/C++test 连接到 DTP,则可以根据存储在指定 DTP 服务器上的测试配置来分析代码(请参见Connecting to DTP)。


(info) 在 DTP 服务器上创建和存储的测试配置 只能直接在 DTP 上进行自定义; 。

要自定义 DTP 测试配置:

  1. 从【IDE】菜单中选择 Parasoft> 测试配置 或在运行测试 工具栏按钮上的下拉菜单中选择测试配置 以打开测试配置面板
  2. 选择 DTP 类别以查看您的 DTP 上可用的测试配置。
  3. 单击您要修改的测试配置。
  4. 单击在 DTP 中配置 链接以在 DTP 界面中打开【测试配置】页面。

有关在 DTP 上添加,配置和管理测试配置的详细信息,请参见《 Parasoft DTP 用户指南》中的【测试配置】部分。

Anchor
Deploying Test Configurations Across the_Team
Deploying Test Configurations Across the_Team
团队测试配置

团队测试配置是应用特定于团队的测试设置(例如,静态分析的选定子集或自定义测试生成设置)的测试配置。在整个团队中执行相同的测试配置,可以使您一致地分析代码,并确保 在整个代码库中一致地应用团队的质量和样式准则。

部署团队测试配置

将团队测试配置添加到团队服务器后,可以从所有连接的团队 C/ C++test 安装中访问该配置。如果测试配置使用自定义规则和/或规则映射,则可以将它们添加到团队服务器,然后由所有连接的团队 C/C++test 安装自动访问。

为了在团队范围内共享团队测试配置,架构师或经理在已经连接到团队服务器的 C/C++test 安装上执行以下过程:

  1. 创建应用指定团队设置的用户定义的测试配置;请参见 Creating a Custom Test Configuration
  2. 选择 Parasoft> 测试配置 以打开 测试配置 面板。
  3. 右键单击要上传的测试配置。
  4. 从上下文菜单中选择上传到团队服务器

您可以配置多个团队测试配置。

修改团队测试配置

团队测试配置可以在您的 IDE 中直接进行编辑。

  1. 从【IDE】菜单中选择 Parasoft> 测试配置 或在运行测试 工具栏按钮上的下拉菜单中选择测试配置 以打开测试配置面板
  2. 在左窗格中选择团队> [your_team_test_configuration]
  3. 根据需要修改设置。
  4. 单击应用关闭以提交修改的设置。

这些设置将在团队服务器上更新并在整个团队中共享。

(info) 或者,您可以首先更新您的测试配置所基于的自定义测试配置,然后将该测试配置重新上传到团队服务器。

Tip
title设置团队收藏测试配置

考虑将您的团队测试配置设置为【收藏】测试配置;请参见 设置收藏的测试配置

在团队中部署自定义规则映射
Anchor
Deploying Custom Rule Mappings Across the_Team
Deploying Custom Rule Mappings Across the_Team

规则映射是配置 C/C++test 以执行团队或组织的编码策略(例如,通过自定义内置规则名称,严重性和类别以匹配策略中定义的规则)的关键部分。

您可以使用团队服务器确保所有团队成员都可以访问您创建的用于自定义 Parasoft 规则类别和严重性级别的rulemap.xml文件。有关如何创建此文件的详细信息,请参见Modifying Rule Categories, IDs, Names, and Severity Levels)。 

要上传 rulemap.xml文件到团队服务器:

  1. 从计算机上启动 C/C++test,您可以从其中访问要共享的rulemap.xml文件。
  2. 选择Parasoft> 浏览> Team Server 以打开浏览对话框。
  3. 打开浏览对话框的规则选项卡。
  4. 单击上传按钮以打开文件选择器。
  5. 选择您创建的rulemap.xml文件,然后单击打开。您刚刚上传的rulemap.xml文件现在将列在【浏览】对话框的规则选项卡中。该文件中指定的规则配置将在连接到团队服务器的所有 C/C++test 安装中可用。
  6. 单击完成
  7. 单击应用 并关闭 Parasoft 首选项对话框。
  8. 重新启动程序。您不必先停止服务器。

您可以在任何测试配置的【静态】选项卡中验证是否应用了新规则设置。

Tip
title提示

如果以后修改主rulemap.xml 文件,则必须重复 跨团队部署自定义规则映射 过程以上传修改后的文件;如果未上传修改的文件,则不会共享修改。

在团队中部署自定义规则
Anchor
Deploying Custom Rules Across the_Team
Deploying Custom Rules Across the_Team

您可以使用团队服务器确保所有团队成员都可以访问和检查使用 RuleWizard 模块设计的自定义静态分析规则。当团队服务器管理规则时,所有连接到团队服务器的 C/C++test 安装都将自动访问该规则的最新版本。如果规则变更并将修改后的规则上传到团队服务器,则所有团队 C-C++test 安装的版本都将自动更新。 

架构师(或其他指定的团队成员)对已经连接到团队服务器的一个 C/C++test 测试执行以下过程:

  1. 在 RuleWizard 中创建一个或多个自定义规则。
  2. 保存每个规则并为其分配一个.rule扩展名。您可以将规则保存在任何位置。
  3. 如果您希望新规则属于一个新类别,请按如下所示创建一个新类别:
    1. 从【IDE】菜单中选择 Parasoft> 测试配置 或在运行测试 工具栏按钮上的下拉菜单中选择测试配置 以打开测试配置面板
    2. 选择任何测试配置。
    3. 打开静态> 规则树选项卡。
    4. 点击编辑 Rulemap按钮。
    5. 打开类别选项卡。
    6. 点击新建。新条目将添加到类别表。
    7. 在新条目中输入类别 ID 和类别说明。例如,组织可能选择使用 ACME 作为类别 ID,并选择 ACME 内部规则作为说明。
    8. 注意 Rulemap 文件的位置,该位置在此对话框的顶部。在步骤 9 中,您将需要此信息。
    9. 单击 OK 以保存新的类别。
  4. 选择Parasoft> 浏览> 团队服务器。将打开【浏览】对话框。
  5. 打开浏览对话框的规则选项卡。
  6. 点击上传按钮。将打开文件选择器。
  7. 选择您创建的一个或多个新建.rule文件,然后单击打开。您刚刚上传的.rule文件现在将列在【浏览】对话框的规则选项卡中。此选项卡中表示的所有规则将在连接到团队服务器的所有 C++test 安装上可用。
  8. 通过重复前面的两个步骤来添加其他团队规则。
  9. 如果您添加了任何新规则类别或对规则映射进行了其他任何更改,请单击上传,选择已编辑的 rulemap 文件,然后单击打开。您刚刚上传的文件现在应列在【浏览】对话框的规则选项卡中。该文件将在连接到团队服务器的 C/C++test 安装中可用。此文件控制团队规则的分类方式。
  10. 通过选择Parasoft> 测试配置,打开【测试配置】对话框。
  11. 选择任何测试配置,然后打开静态> 规则树选项卡。 
  12. 单击重新加载。新规则应在所有可用的测试配置中可用,并在【团队】类别下分类。该规则默认为禁用。
  13. 如果您希望团队测试配置检查以下规则:
    1. 配置新的或现有的测试配置以检查这些规则。默认情况下将禁用添加的规则,因此您需要启用要检查的所有规则。
    2. 确保已修改的测试配置对团队可用,如在 整个团队中部署测试配置中所述。即使您正在修改已经共享的测试配置,也必须遵循此过程。

  14. 单击应用关闭以提交修改的设置。
Tip
title提示
  • 如果您的自定义规则在测试配置规则树中可见(例如,如果您通过规则树导入按钮导入它),您可以通过简单地右键单击规则,然后从快捷菜单中选择上传到团队服务器,将其上传到团队服务器。
  • 如果以后修改团队规则,则必须重复跨团队部署自定义规则过程以上传修改后的规则文件;如果未上传已修改的.rule文件,则不会共享规则修改。

从团队服务器中删除规则

要从团队服务器中删除规则,架构师(或另一个指定的团队成员)将从 C/C++test 执行以下过程:

  1. 选择Parasoft> 浏览> Team Server 以打开浏览对话框。
  2. 打开浏览对话框的规则选项卡。
  3. 选择您想要删除的文件。
  4. 点击删除
  5. 单击完成

Anchor
Importing/Exporting Test_Configurations
Importing/Exporting Test_Configurations
导入/导出测试配置

如果要与其他团队成员共享自定义测试配置或在 C/C++test 的升级版本中使用它,则可以将此测试配置导出到 .properties 文件,然后由其他团队成员导入。

导出

要导出测试配置:

  1. 从【IDE】菜单中选择 Parasoft> 测试配置 或在运行测试 工具栏按钮上的下拉菜单中选择测试配置 以打开测试配置面板
  2. 右键单击要导出的测试配置。
  3. 从上下文菜单中选择导出,然后使用文件选择器指示要在其中保存将为此测试配置创建的 .properties 文件的位置。
  4. 单击保存将打开一个对话框,以确认新创建的 .properties 文件的位置。 

导入

要从 .properties 文件导入测试配置,请执行以下操作:

  1. 从【IDE】菜单中选择 Parasoft> 测试配置 或在运行测试 工具栏按钮上的下拉菜单中选择测试配置 以打开测试配置面板
  2. 右键单击用户定义类别。
  3. 从上下文菜单中选择导入 以打开文件选择器。
  4. 导航到要导入的测试配置的 .properties 文件。
  5. 单击 打开
Table of Content Zone
maxLevel2
minLevel2

测试配置-高级主题

将用户和团队测试配置组织到子目录中

您可以将用户和团队测试配置组织到用户定义的子目录中。

要将用户或团队测试配置移至用户定义的子目录:

  1. 从【IDE】菜单中选择 Parasoft> 测试配置 或在运行测试 工具栏按钮上的下拉菜单中选择测试配置 以打开测试配置面板
  2. 右键单击要移动到子目录的测试配置。
  3. 从上下文菜单中选择设置文件夹
  4. 指定子目录或子目录,然后单击确定在以下示例中,测试配置移至“安全性”子目录:

     创建的子目录将在“使用测试...”目录中可用。



(info)  不要在命令行模式下提供子目录的路径 子目录不影响命令行执行在上面的示例中,您可以指定以下测试配置:-config "team://Policy Compliance"

指定测试配置继承

如果要使多个测试配置共享某些参数设置(例如,如果要使多个测试配置启用相同的规则),则可以引用一个父测试配置来创建新的子测试配置。子级测试配置将继承父级的设置;只要未在子测试配置中配置相应的首选项,就使用父测试配置中每个首选项的值。  

继承是递归的。例如,如果 MyConfig2 测试配置从 MyConfig1 继承设置,而 MyConfig3 从 MyConfig 2 继承设置,则 MyConfig3 将继承一些 MyConfig1 设置,因为它继承了 MyConfig2 设置。

您可以从测试配置面板中显示的测试配置中创建子测试配置,也可以通过指定测试配置的 URL(如果可以通过 HTTP 获得测试配置)来创建子测试配置。

要从测试配置面板中显示的测试配置创建一个子节点,请执行以下操作:

  1. 打开【测试配置】面板。
  2. 右键单击所需的父级【测试配置】。
  3. 从上下文菜单中选择新建子级

要从 HTTP 提供的测试配置中创建一个子节点:

  1. 打开【测试配置】面板。
  2. 右键单击用户定义的节点。
  3. 从上下文菜单中选择新建子级
  4. 在打开的对话框中,输入所需的父级测试配置的 URL (http://config_address)。例如:
    http://SOAtest.acme.com/configs/static.properties

断开子级与父级的连接:

  1. 打开【测试配置】面板。
  2. 单击父级字段右侧的断开连接按钮。
Note
title重要的注释
  • 一旦父级和子级关系被设置,该相关性就不能被修改。例如,如果测试配置 A 是测试配置 Z 的父级,则不能将测试配置 Z 的父级切换到测试配置 B。 
  • 子级测试配置与其父级断开连接后,将无法重新连接。断开连接时,所有继承的设置都直接应用于子级。
  • 给定的测试配置可能只有一个父级配置。不支持多重继承。

使用【测试配置】面板比较测试配置

如果要查看两个测试配置之间的差异,可以比较它们以突出显示差异。在以下情况下,您可能需要比较测试配置:

  • 您从先前的产品版本自定义了内建的静态测试配置,并且想要验证该内建测试配置的最新版本中已添加并启用了哪些新规则。
  • 如果在“快速模式”中运行给定的测试配置,您需要验证哪些设置将受到影响。
  • 您要验证子测试配置与其父测试配置之间的差异。

比较【测试配置】面板中显示的任何两个测试配置。

  1. 选择两个测试配置。
  2. 右键单击选项。
  3. 选择比较

要将子级测试配置与其父级进行比较:

  1. 右键单击子级测试配置。
  2. 选择比较与>父级配置

在快速模式下将子测试配置与相应的测试配置进行比较:

  1. 右键单击子级测试配置。
  2. 选择比较与> 快速模式配置

变更将在打开的比较编辑器中突出显示。


比较测试配置允许您识别面板中明显的差异(例如,当一个测试配置中禁用了某个设置,而另一个测试配置中启用了该设置时),以及较低级别上的差异,例如不同的规则参数化。