...
这两个功能通常同步使用,以确保快速、准确的更新。本课程将向您展示如何使用这两种功能来更新测试。
针对服务的“旧”版本创建测试
首先为旧版本的书店服务创建一组测试。稍后,我们将使用变更指导助手和搜索查询功能来更新这些测试。
...
使用该断言器,我们声明元素 price
在 SOAP 响应消息中仅发生一次。如果以后在服务的更新版本中更改了此元素,我们将必须重新配置更新的测试的 XML 声明器。
执行变更影响分析
要在这些测试资产上执行变更影响分析,请执行以下操作:
...
注意,变更影响结果不会显示服务定义中的所有更改;它们仅显示实际上影响测试的服务定义更改。例如,如果当前未测试的操作中有更改,则将不会报告这些变更的变更影响结果。
创建变更模板
运行变更影响分析时,服务目录视图将自动填充有关正在分析的测试所测试的服务和服务版本的信息。
...
- 将服务和版本重命名为我们可以更好地理解的名称:
- 在服务目录中,右键点击顶部服务节点,然后选择重命名服务。
- 输入
Bookstore
作为服务名称。 - 右键点击书店服务的旧版本节点,选择重命名版本,然后使用
1.0
代替旧版本
。 - 右键点击书店服务的当前版本节点,选择重命名版本,然后使用
2.0
代替当前版本
。
接下来我们要定义一个变更模板,该模板将定义我们应该如何更新测试,以便它们测试服务器的新版本。
- 创建变更模板,如下所示:
- 在服务目录中,选择节点 1.0 和 2.0。
- 右键点击所选项,然后选择添加变更模板 1.0 -> 2.0。
- 输入
课程模板
作为文件名称,将/Change Advisor Lesson
作为位置。 - 点击完成。将打开变更模板编辑器。
- 查看已创建的变更模板的第一个选项卡。您会发现:
- 映射操作选项卡显示两个 WSDL 中定义的操作,以及不同版本的 WSDL 之间的默认映射。当 SOAtest 首次创建变更模板时,它会在不同版本之间创建默认映射,以尝试匹配它认为相同的节点。
- 绿色匹配表示 SOAtest 确信映射正确,因此不需要进行审查。
- 黄色匹配表示 SOAtest 不太确信映射的正确性,建议进行审查以确认或更新映射。
- 在这里,所有操作映射都以绿色显示 — 除了
getItemById
和getItemByIdentifier
操作之间的映射。似乎此操作已更改名称,但该操作的含义相同。这似乎是一个很好的搭配。
- 表示我们已经审查了操作
getItemById
和getItemByIdentifier
之间的映射可以通过右键点击 getItemById 并选择 标记匹配 getItemById -> get-ItemByIdentifier 为已审查”来实现。这会使匹配变成绿色。 - 查看已创建的变更模板的第二个(Map Schemas)选项卡。您会发现:
- 此选项卡显示为每个操作定义的 schema。您可以双击编辑器选项卡将其展开,这样编辑器就会变得更大。
- 这个
addNewItemToInventory
操作标有红色的“ X”,表示该操作的模式存在差异,需要检查。 - 其他操作不需要审查,因为 SOAtest 并未在那些需要审查的操作中检测到任何变更。如果您选择的每个操作都没有红色的“X”图标,则会看到所有匹配项均为绿色。
- 选择 addNewItemToInventory 操作对其进行探索。您会发现:
- SOAtest 将
price
和genre
元素匹配,但提示需要进行审查。 - 这个操作包含名为
amount
的新元素,该元素未出现在早期版本中。
- SOAtest 将
- 表示
price
和genre
元素之间的映射不正确可以通过选择 price 元素,然后点击 断开连接来实现。
这样看来,price
元素已重命名为amount
,并且genre
是 WSDL 中的新元素。 - 表示
price
元素已重命名为amount
可以通过选择 price 和 amount,然后点击连接来实现。
这个genre
元素是此操作显示的新元素。为了正确地更新测试,我们必须为将在每个更新的测试中配置的元素配置默认值。否则,更新的测试将为该新元素发送一个空值。 - 为
genre
元素配置一个默认值,如下所示:- 右键点击 genre,然后选择 为已添加元素 "genre" 配置默认值。
- 在打开的对话框中,在输入字段中输入
文学
,然后点击 OK。 - 注意,现在
genre
有一个绿色的 ‘?’,并且所有匹配和不匹配的节点现在都是绿色。这表示我们已经完成了审查和配置此操作。
- 右键点击 genre,然后选择 为已添加元素 "genre" 配置默认值。
- 通过右键点击最高的 productInfo 元素并选择 标记"productInfo" 和子系列为已审查来表示金额的三个父节点已经过审核。
- 点击工具栏中的保存,保存该模板。至此,我们的模板已经定义好,可以应用于我们的测试了。双击变更模板编辑器选项卡以将其恢复为正常大小。
应用变更模板批量更新测试
要更新受此服务变更影响的测试,请执行以下操作:
- 在测试用例浏览器中,选择变更指导助手课程.tst,然后点击工具栏中的使用变更模板重构。
- 在打开的向导中,完成第一页的内容:
- 版本:
1.0
- 更新 Parasoft 资产使用服务版本:
2.0
- 通过应用变更模板:
LessonTemplate
- 版本:
点击下一步。
在第二页,启用新的位置,然后点击工作空间并选择变更指导助手课程项目。这将导致更新的测试被保存在变更指导助手课程项目中的新文件夹中。请注意,在某些情况下,您可能想覆盖以前的测试。但是,除非您备份了测试(例如,使用源码控制系统),否则不建议这样做。不然您将会丢失原始的测试。
点击完成。将创建一个名为“变更指导助手课程”的新文件夹。此文件夹包含更新的测试。
- 打开该 .tst 文件,然后打开测试套件: 测试套件> 测试套件: CartService-Port > 测试 2: addNewItemToInventory 的编辑器。您会发现:
- 如果选择 productInfo 元素,您将看到我们为
price
元素配置的值已经转移到 amount 元素,如变更模板中所定义。 - 我们之前输入的其他值已延续到新测试中。选择 genre 元素,并注意值
文学
出现在此处,如我们的变更模板中所定义。 - 已将新的更新环境添加到新文件夹的环境节点中,并将其设置为活动环境。
- 如果选择 productInfo 元素,您将看到我们为
- 选择新文件夹 变更指导助手课程> 测试套件: 测试套件,点击工具栏中的运行变更影响分析,启用根据当前的服务描述扫描所选资产,然后点击完成。请注意,没有报告更改,因为现在更新了新测试以测试该服务的当前版本。
使用搜索和替换更新测试
变更指导助手适用于以下配置的测试:
- 针对一种支持的工件类型,并且
- 处于表单输入模式。
...