Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from space FUNCTDEV and version SVC2020.1

...

这两个功能通常同步使用,以确保快速准确的更新。本课程将向您展示如何使用这两种功能来更新测试。

针对服务的“旧”版本创建测试

首先为旧版本的书店服务创建一组测试。稍后,我们将使用 Change Advisor 和 Search 和 Replace 功能来更新这些测试。  

...

使用此断言器,我们声明元素价格在 SOAP 响应消息中仅发生一次。如果以后在服务的更新版本中更改了此元素,我们将必须重新配置更新测试的 XML 声明器。

变更影响分析

要对这些测试资产执行变更影响分析:

  1. 通过选择 Window> Perspective> Open Perspec-tive> Parasoft Change Advisor 来打开 Change Advisor 透视图。
  2. 在测试用例浏览器中选中 Change Advisor Lesson> Change Advisor Lesson .tst> Test Suite:Test Suite.
  3. 单击 Perform Change Impact Analysis 工具按钮。



  4. 在打开的对话框中,选中 Scan the selected assets against their current service description, 然后单击 Finish



  5. 在 Quality Tasks 视图中,将布局更改为 SOAtest 更改影响布局,该布局旨在查看运行更改影响分析的结果。你可以通过单击 Quality Tasks 视图的 SOAtest Change Impact Layout 工具按钮



    来切换布局,也可以从下拉菜单中选择布局。



    Info
    title没有更改影响布局工具栏按钮?

    如果绿色的 SOAtest 更改影响布局工具栏按钮不存在,请选择配置目录命令,然后选中 SOAtest Change Impact Layout 复选框。

    此变更影响分析配置为将测试中保存的服务信息与测试当前引用的“实时” WSDL 中包含的服务信息进行比较。它将报告任何会影响测试用例的 WSDL 更改。由于我们所有的测试都是在几分钟前使用此 WSDL 创建的(此后 WSDL 从未更改过),因此分析报告没有任何更改。接下来,我们将看到如果运行变更影响分析与其他不同的 WSDL 会有什么变化。

  6. 在测试用例浏览器中,选中 Change Advisor Lesson> Change Advisor Lesson .tst> Test Suite:Test Suite.
  7. 单击 Perform Change Impact Analysis 工具按钮。
  8. 选中 Scan the selected assets against a specified service description,确保在 Artifact 类型下选中WSDL,然后完成对话框,如下所示:
    • Scan Assets that use the following WSDL: http://localhost:8080/parabank/services/store-01?wsdl
    • Compare assets to the following WSDL:http://localhost:8080/parabank/services/store-01V2?wsdl
      第一个选项告诉 SOAtest 对哪个测试执行分析。第二个选项告诉 SOAtest 将比较哪些 WSDL 的测试。因为这些 WSDL 中发现的服务差异,结果现在将报告更改。



  9. 单击 Finish
  10. 在 Quality Tasks 视图中,探索报告的更改。  对于许多测试,名称空间和 targetURI 均已更改。
    • 查看测试2的结果:addNewItemtoInventory。
    • 请注意,报告了许多其他更改:
      • 添加了新元素 productInfo
      • 元素 price 的名字被改变
      • 信息中元素的顺序已更改

...


请注意更改影响结果不会显示服务定义中的所有更改; 它们仅显示实际上影响测试的服务定义更改。例如,如果当前未测试的操作中有更改,则不会报告这些更改的更改影响结果。

创建变更模板

当变更影响分析运行时,服务目录视图将自动填充有关被分析的测试所测试的服务和服务版本的信息。

...

  1. 将服务和版本重命名为我们可以更好地理解的名称:
    1. 在服务目录中,右键单击顶级服务节点,然后选择 Rename Service
    2. 输入 Bookstore 作为服务名称。
    3. 右键单击书店服务的 Old Version 节点,选择 Rename Version, 然后将Old Version替换为 1.0



    4. 右键单击书店服务的 Current Version 节点,选择 Rename Version,然后将 Current Version 当替换为 2.0.



      。接下来,我们要定义一个更改模板,该模板将定义如何更新测试以使他们测试服务的新版本 。   
  2. 创建更改模板,如下所示:
    1. 在服务目录中,选择节点 1.02.0
    2. 右键单击所选内容,然后选择 Add Change Template 1.0 -> 2.0



    3. 输入 LessonTemplate 作为文件名,然后保留 /Change Advisor Lesson 作为位置。



    4. 单击 Finish。更改模板编辑器将打开。
  3. 查看已创建的更改模板的第一个选项卡。注意:



    • Map Operations 选项卡显示两个 WSDL 中定义的操作,以及不同版本的 WSDL 之间的默认映射。当 SOAtest 首次创建变更模板时,它会在不同版本之间创建默认映射,以尝试匹配它认为相同的节点。
    • 绿色匹配表示 SOAtest 确信它创建的映射是正确的,不需要进行审查。
    • 黄色匹配表示 SOAtest 对其创建的映射是否正确不太确定,建议检查以确认或更新映射。
    • 除了操作 getItemByIdgetItemByIdentifier 之间的映射外,所有操作映射都以绿色显示。该操作似乎更改了名称,但操作的意义是相同的。这似乎是一个很好的匹配。
  4. 通过右键单击 getItemById 并选择 Mark Match getItemById -> get-ItemByIdentifier as Reviewed,表明我们已经查看了操作 getItemByIdgetItemByIdentifier 之间的映射”。这会使匹配变绿。



  5. 检查已创建的更改模板的第二个(Map Schemas)选项卡。注意:
    • 此选项卡显示为每个操作定义的模式。您可以双击编辑器选项卡以使其展开,以使编辑器更大。
    • 标有红色 ‘ X’的 addNewItemToInventory 操作,表示需要检查该操作存在差异的模式。



    • 因为 SOAtest 没有检测到需要检查的那些操作中的有任何更改,所以其他操作不需要检查。如果您选择的每个操作都没有红色的“ X”图标,则会看到所有匹配项均为绿色。
  6. 选择 addNewItemToInventory 操作进行浏览。注意
    • SOAtest 匹配 pricegenre 元素,但表示需要进行检查
    • 该操作包含一个名为 amount 的新元素,该元素未出现在原始版本中。



  7.  通过选择 price 元素并单击 Disconnect.



    来指示 pricegenre元素之间的映射不正确,显示 price 元素已重命名为 amount,而 genre 是 WSDL 中的新元素。 
  8. 选择priceamount 然后单击 Connect 按钮



    表示元素 amount  替换了元素 pricegenre 元素是这个操作中出现的新元素。  为了正确地更新测试,我们必须为将在每个更新的测试中配置的元素配置默认值。否则更新测试将为该新元素赋一个空值。 
  9. genre 元素配置默认值,如下所示:
    1. 右击genre 然后选择 Configure Default Value for Added "genre" element



    2.  在打开的对话框中,在输入字段中输入 Literature ,然后单击 OK



    3. 注意genre现在带有绿色的“?”,并且所有匹配项和未匹配节点现在都是绿色的。这表示我们已经完成了检查和配置此操作。
  10. 通过右键单击最高处 productInfo 元素,然后选择 Mark"productInfo" and Children as Reviewed,表示三个父节点已被检查。
  11. 通过单击 Save 工具栏按钮保存模板。至此,我们的模板已经定义好可以应用于我们的测试了。双击更改模板编辑器选项卡以将其恢复为正常大小。

应用更改模板批量更新测试

要更新受此服务更改影响的测试:

  1. 在测试用例浏览器中,选中 Change Advisor Lesson.tst 然后点击 Refactor Using a Change Template 工具按钮。



  2. 按照以下步骤完成向导:
    1. 如下所示完成第一个页面,然后单击 Next

      Version:1.0
      Update Parasoft assets to use service version: 2.0
      By applying the change template: LessonTemplate



    2. 在第二页中,保留已选 New Location ,然后使用 Workspace按钮选择 Change Advisor Lesson 项目。这将导致更新的测试被保存在 Change Advisor Lesson 项目中的新文件夹中。注意,在一些案例中你可能想重写你以前的测试。但是,除非您备份了测试(例如,使用源代码控制系统),否则不建议这样做。否则,您将丢失原始测试。



    3. 单击 Finish。将创建一个名为“ Change Advisor Lesson”的新文件夹。这个文件夹包括更新测试。



  3. 打开 .tst 文件然后打开 Test Suite: 的编辑器Test Suite> Test Suite:CartService-Port> Test 2: addNewItemToInventory.注意:
    • 如果您选择元素 productInfo,则会看到我们为元素 price 配置的值已经转移到数量元素,如更改模板中所定义。 



    • 我们之前输入的其他值已延续到新测试中。选择类型元素,然后注意 Literature 的值出现在此处,如我们的更改模板中所定义。



    • 已将新的更新环境添加到新文件夹的 Environments 节点中,并将其设置为活动环境。



  4. 选中新文件夹 Change Advisor Lesson> Test Suite:Test Suite,单击 Run Change Impact Analysis 工具栏按钮,选择 Scan selected assets against their current service description 单选按钮,然后选择 Finish。请注意,没有报告更改,因为现在更新了新测试以测试该服务的当前版本。

使用搜索和替换更新测试

Change Advisor适用于已配置的测试:

  • 针对其中一种受支持的工件类型,并且
  • 在表单输入模式下。

...