本主题解释如何通过修改内置静态分析规则或创建您自己的静态分析规则,以检查自定义需求或根据您的独特需求定制现有规则。
本章包含:
自定义参数化规则
许多规则都是参数化的,这意味着您可以通过修改可用的规则参数自定义规则的性质。许多命名约定规则都是参数化的,因此可以指定要检查的命名约定。其他规则是参数化的,这样您就可以控制规则选项,比如检查的范围,或者在规则的不同解释之间进行选择。在测试配置对话框 Static> Rules Tree 选项卡中的参数化规则用一个特殊的图标标记(带有单选按钮的向导帽):
如果规则是参数化的,则在规则的描述中描述其参数。若要查看规则说明,则右键单击代表该规则的节点,然后从快捷菜单选择 View Rule Documentation 。
若要编辑参数化规则:
- 请通过选择 Parasoft> Test Configurations 或选择 Test Using 工具栏按钮下拉菜单中的 Test Configurations ,打开测试配置对话框。
- 为任务测试配置打开 Static> Rules Tree 选项卡。修改后的规则参数将应用于所有测试配置,因此在此步骤中选择哪个测试配置并不重要。
- 展开规则的类别分支。
- 右键单击要修改的参数化规则,然后从快捷菜单中选择 View/Change Rule Parameters 。
- 在打开的对话框中修改规则参数。
- 单击 OK 保存更改。
关于 RuleWizard
RuleWizard(只在架构师和自动化版本中可用)允许您创建自定义静态分析规则。SOAtest 可以自动执行在 RuleWizard 中创建的任何有效规则。通过创建和检查自定义规则,团队可以验证独特的项目和组织需求,并防止最常见的错误再次发生。
使用 RuleWizard,可以图形化地创建规则(通过创建类似于流程图的规则表示形式),也可以自动地创建规则(通过提供演示违反规则示例的代码)。编写或修改规则不需要编写代码或了解解析器。
打开 RuleWizard 有两种方法:
- 请选择 Parasoft> Launch RuleWizard。
- 单击测试配置面板的 Static 选项卡中的 New 按钮。
然后,打开 RuleWizard 用户界面。RuleWizard 用户指南(可在 SOAtest GUI 或 Eclipse 工作台中选择 Parasoft> Help ,然后打开 SOAtest RuleWizard User’s Guide )包含关于如何修改、创建和启用自定义规则的信息。
使用 RuleWizard 自定义内置规则
使用 SOAtest Architect Edition 和 Automation Edition,您可以使用 RuleWizard 在测试配置面板的规则树中自定义任何标有以下向导帽 + 向导棒图标的规则:
强烈建议保留 SOAtest 内置规则;与其修改内置规则,不如复制它们,然后修改重复的规则。
若要自定义 RuleWizard 中的内置规则:
- 请通过选择 Parasoft> Test Configurations 或选择 Test Using 工具栏按钮上下拉菜单中的 Test Configurations ,打开测试配置对话框。
- 为任务测试配置打开 Static> Rules Tree 选项卡。
- 右键单击要修改的规则,然后从快捷菜单中选择 Duplicate 。一个重复的规则节点(带有文件图标)将被添加到规则树中。
- 右键单击复制规则,然后从快捷菜单中选择 Edit Rule in RuleWizard 。
然后,打开 RuleWizard 用户界面。RuleWizard 用户指南(可在 RuleWizard GUI 中选择 Help> Documentation 来访问)包含关于如何修改和保存自定义规则的信息。确保在修改规则之后保存它,然后按照 配置策略的测试配置和规则 或 Using Custom Rules (For Teams Not Using Team Server) (如果不打算与团队服务器共享定制规则)中的描述启用它。
在 Parasoft 测试系列产品中,此过程是相同的。有关详细信息,请查阅 配置策略的测试配置和规则。
创建新规则
可以使用 SOAtest RuleWizard 模块轻松地创建您自己的静态分析规则(或修改内置规则),该模块是 SOAtest (架构师版本)和 SOAtest(自动化版本)中提供的图形化规则创建和定制工具。
使用 RuleWizard,可以图形化地创建规则(通过创建类似于流程图的规则表示形式),也可以自动地创建规则(通过提供演示违反规则示例的代码)。编写或修改规则不需要编写代码或了解解析器。
若要打开 RuleWizard:
- 请选择 Parasoft> Launch RuleWizard。
然后,打开 RuleWizard 用户界面。RuleWizard 用户指南(可在 RuleWizard GUI 中选择 Help> Documentation 来访问)包含关于如何修改和保存自定义规则的信息。
在检查自定义规则之前,必须配置 SOAtest 来导入并检查它们。有关如何配置 SOAtest 以识别和检查这些规则的详细信息,请参阅 配置策略的测试配置和规则 或 Using Custom Rules (For Teams Not Using Team Server) (如果不打算与团队服务器共享定制规则)。
规则 ID 注意事项
导入到工具中的每个规则必须具有唯一的规则 ID。您不应该导入具有相同规则 ID 的多个规则。
使用定制规则(用于使用团队服务器的团队)
请查阅 配置策略的测试配置和规则。
使用定制规则(用于不使用团队服务器的团队)
在检查 RuleWizard 中设计的自定义编码规则之前,需要配置 SOAtest 来访问和检查这些规则。
注意
如果不使用 Parasoft 团队服务器在整个团队中共享规则,那么下面的过程将描述如何启用自定义规则。如果正在使用团队服务器,请按照 配置策略的测试配置和规则中的说明进行操作。
若要配置 SOAtest 来导入和检查自定义规则,如果不使用团队服务器:
- 请通过选择 Parasoft> Test Configurations 或者选择 Test Using 工具栏按钮下拉菜单中的 Parasoft> Test Configurations ,打开测试配置对话框。
- 选择任何测试配置类别。新规则将在所有可用的测试配置中可用。
- 打开 Static> Rules Tree 选项卡。
- 如果任何新规则应该属于一个新类别,则创建一个新类别如下:
- 点击 Edit Rulemap按钮。
- 打开 Categories 选项卡。
- 单击 New。将添加一个新的条目到类别表中。
- 在新条目中输入类别 ID 和类别描述。例如,组织可能选择使用 ACME 作为类别 Id,使用 ACME 内部规则作为描述。
- 单击 OK ,保存新类别。
- 单击规则树右侧的 Import 按钮。将打开 Import RuleWizard 规则对话框。
- 使用 Import RuleWizard 规则对话框指定要导入哪个规则,以及是否要覆盖现有规则文件(如果导入的规则文件具有与现有规则文件相同的名称)。
- 单击 OK。规则将显示在指定的类别下,默认情况下将禁用。
- 启用要检查的新规则。
- 单击 Apply 或 Close 提交修改后的设置。