本主题解释如何在 SOAtest 和 Virtualize 中使用 Parasoft 变更指导助手。它描述了如何更新测试或服务虚拟化资产发送的请求或响应消息。
本章包含:
变更指导助手可以自动识别服务变更(例如,重命名的操作、添加的元素或类型、变更空间名称等)如何影响现有测试或服务虚拟化资产发送的消息。它还基于一个更新现有测试或响应程序套件或新建的变更模板自动重构受影响的工具(单独地或者是批量)。查看和完善自动定义的映射来创建变更模板,这些映射解释了原始定义中的元素、操作、资源和模式与当前定义中的元素、操作、资源和模式之间的关系。这确保您的资产得到尽可能快速、准确和智能的更新。
变更指导助手依赖于 Eclipse 的一个 EMF Compare 插件。 该插件将在完整的 SOAtest 安装中安装,但不会在从更新地址或插件安装程序安装 SOAtest 时安装。 您可以用 Eclipse 更新地址来安装 EMF Compare 插件。 更新地址为 http://download.eclipse.org/modeling/emf/compare/updates/releases/2.0 |
如果您怀疑服务已变更,则通常的工作流程为:
逐个应用变更模板(以解决变更影响分析报告的特定变更影响)或批量重构(以快速更新项目,套件等中所有受影响的工具),来更新现有套件或创建一个新的变更模板。
运行变更影响分析时,变更指导助手报告相关定义文件(例如 WSDL、架构、WADL、OpenAPI、Swagger、RAML)中的更改如何影响资产的信息。分析也可以:
将资产的消息与当前配置它们的服务定义进行比较。
资产的信息与其他服务定义进行比较。
分析的结果可帮助您评估更新资产信息所需的更改的范围和性质。
确定应更新的内容后,可以应用更改模板来自动重构信息以适合修改后的服务定义。该模板可以以多种方式应用:
从服务目录自动生成变更模板,该服务目录会在变更影响分析期间填充。
一旦创建了变更模板,我们建议您查看并微调自动定义的映射,这些映射说明原始定义中的元素、操作、资源和模式与当前定义中的元素、操作之间的关系。
在图形化的更改模板编辑器中查看和更新自动定义的映射:
生成变更模板后,可以逐案应用(解决变更影响分析报告的特定变更影响)以及批量重构(以快速更新项目、套件等所有受影响的工具)
变更指导助手可以应用于消息响应程序如果将工具设置为限制成 WSDL 或 Schema,或者服务定义中指定了 RAML、WADL(SOAtest)或 OpenAPI 、 Swagger,则变更指导助手会对表单输入指定的消息进行操作。如果服务定义指定了 RAML,WADL(SOAtest)或 OpenAPI 、 Swagger,则它将对 JSON 表单指定的消息进行操作。 如果以一种不支持的格式指定工具信息,则会在分析和重构时跳过该信息。用 Parasoft 搜索和替换来更新格式、工具中其他非信息字段中的值或变更指导助手不支持的工具中的值。请参阅使用搜索替换工具更新工具值。定义文件的简单更改(重新排列元素,更改类型等)将自动更新。
变更指导助手透视图专门用于识别和解决变更影响。
打开变更指导助手透视图:
此透视图提供:
Toolbarbuttons: 添加了三个按钮:Run (用于重新运行变更影响分析以检查资产是否已正确重构) Perform Change Impact Analysis (如下所述), and Refactor Using a Change Template (如下所述)。
变更影响分析比较了最初用于构建工具信息的服务定义
变更影响分析仅报告与您正在分析的工具相关的变更。例如,如果服务不再包含工具从未使用过的可选元素,则不会报告更改影响。
从变更指导助手运行变更影响分析:
例如,假设您选择了一个包含基于 3 种不同服务定义的资产的套件。用 Scan the selected assets against their current service description 选项进行分析,将所有这些资产与其相关服务定义的当前版本进行比较。如果选择 Scan the selected assets against a specified service description,并且指定这些资产使用的3个服务定义中的1个的现有和更新版本的位置,则该分析将仅实用于用该指定服务的资产描述。基于其他两个定义的资产将不进行分析。
在运行分析时,报告分析进度显示在进度视图以及控制台视图中。注意如果资产报告为 "skipped",则表明它没有以受支持的格式(例如,表单输入)指定信息。
分析结果将在质量任务视图中报告。变更影响布局可以帮助您查看变更影响。如果质量视图尚未使用此布局,则可以在结果视图中单击 Change Impact Layout 工具栏按钮来启用它:
您也可以从该视图的下拉菜单中打开此布局。
结果顺序为服务、套件、位置和更改类型:
要打开其信息需要更新的工具:
要查看工具在项目中的位置,请执行以下操作:
变更模板按照所述创建Defining a Change Template。应用更改模板有两种方法:
应用一个变更模板:
在向导的第二页中,指示要将更新的资产保存在何处。默认设置是将更新的资产保存在新位置,以便您创建一组新的测试或响应体,而不是覆盖原始资产。
重构将更新变更模板中定义的消息。禁用删除操作的工具,但不会删除。
更改模板指定如何将元素、操作、资源和模式(XML 或 JSON)从一个服务版本映射到另一个服务版本。定义变更模板后,就可以将其应用于更新受服务变更影响的资产:纠正变更影响分析后报告的特定变更影响,或者对选定的工具,套件或项目执行批量更新。例如,如果在更改模板中将 FundPrepaid 映射到 FundPrepaidRequest,则应用此模板会将所选工具消息中的 FundPrepaid 更新为 FundPrepaidRequest。
从 Parasoft 变更指导助手角度创建、检查和修改变更模板。
创建一个变更模板:
要重命名服务或版本,请右键单击其服务目录节点,然后选择适当的 Rename 命令。此处指定的名称将在使用变更模板进行重构向导中使用。
注意如果同时安装了 SOAtest 和 Virtualize,则 Operations 节点将分为两个节点: • Client View: SOAtest 消息传递客户端(包含请求参数) • Responder View: Virtualize 消息响应程序(包含响应参数) |
然后将创建一个更改模板,并在更改模板编辑器中将其打开。
更改模板会根据 Parasoft 的启发式自动将元素、操作、资源及其架构从原始服务定义映射到新服务:
在 Map Elements/Operations/Resources 选项中将元素、操作、资源进行映射。
在 Map Schemas 选项卡中映射每个元素的架构。
在查看映射时,可以使用编辑器顶部的可用过滤器来关注高概率匹配,过滤匹配或不匹配的项目。
在查看和修改更改模板时,可以执行以下操作:
为实现这一目标... | 这样做... |
---|---|
指定两个未映射的项目相关。 | 选中两个项目然后单击 Connect。 |
指定两个映射项不相关。 | 选中两个项目然后单击 Disconnect。 |
指定不匹配项的默认值。 | 右键单击该项目,选择 Configure Default Value for Added [item_name],然后在打开的对话框中指定适当的值。 |
表示已审核“需要检查的匹配”(由黄色映射变为绿色映射)。 | 右键单击映射的任何区域,然后选择 Mark Match [mapping] as Reviewed 或者 Mark Match [mapping] and Child Matches as Reviewed。 |
表明已审查不匹配项目。 | 右击那个元素然后选择 Mark [item_name] as Reviewed 或 Mark [item_name] and Children as Reviewed. |
映射元素、操作、资源和架构时,可以参考属性视图以获取有关要映射的项目的详细信息。例如:
以下图标用于在变更模板编辑器中标记 XML 项目:
图标 | 说明 |
---|---|
全部 | |
任何类型 | |
属性 | |
选择 | |
复合型 | |
元件 | |
枚举 | |
Operation | |
操作方式 | |
简单类型 |
以下图标用于在变更模板编辑器中标记 JSON 项目:
图标 | 说明 |
---|---|
任何类型 | |
数组 | |
数组项 | |
布尔型 | |
枚举 | |
枚举值 | |
整数、数 | |
物品容器 | |
空值 | |
物体 | |
物体属性 | |
一个 | |
属性集合 | |
字符串 |
如果您的团队想要共享变更模板,请共享包含该模板的项目,或者将该模板从一个工作空间复制到另一个工作空间。