随着越来越多的面向服务的体系结构(SOA)在整个行业中部署,需要在 SOA 的所有组件上强制执行策略和最佳实践。对这些组件的策略执行将有助于确保 SOA 整个生命周期中的互操作性、一致性和可重用性。

SOAtest 为 SOA 架构师提供了创建和管理设计时 SOA 策略的能力。现在,SOAtest“策略”组合了用于 XML 构件(WSDLs、模式和 SOAP)的静态分析策略配置,以及语义和模式验证测试。

SOAtest 允许架构师创建一个策略配置,该配置将编码标准工具规则断言与测试断言(如模式有效性和 WS-I 互操作性)相结合。新的 SOA 策略配置接口与 Parasoft 的语言产品中的规则配置非常相似(针对 Java 的 Jtest,针对 C 和 C++ 的 C++test,针对.NET 的 dotTEST)。SOAtest 以在 WS-Policy 上扩展的 XML 格式保存和加载策略。

当完成本教程这个部分时,您的测试套件应类似 SOAtestTutorial.tst 文件中标题为“Design and Development”的测试套件。

执行设计时 SOA 策略

在本例中,我们将使用位于 http://localhost:8080/parabank/services/store-01?wsdl 的 WSDL 为书店服务创建 WSDL 测试。

  1. 右键点击之前练习的项目,然后选择新建> 测试 (.tst) 文件
  2. 输入文件名称(例如,策略执行),点击下一步
  3. 选择 SOA> WSDL,点击下一步进入 WSDL 对话框。
  4. WSDL URL 下拉菜单中选择 http://localhost:8080/parabank/services/store-01?wsdl
  5. 启用创建测试用于在 WSDL 上验证和执行策略通过 WSDL 创建功能测试
  6. 点击下一步,直到进入策略执行对话框,启用应用策略配置。这将创建 WSDL 和功能测试,它们将强制执行在指定策略配置中定义的断言。

    默认策略配置 default.soapolicy 是全行业最佳实践的集合。若要使用自定义策略配置,请点击浏览选择一个策略配置,或者在文本字段中输入策略配置路径。有关策略配置的详情,请参阅 SOA 策略执行:概要
  7. 点击完成
  8. 双击添加到测试套件树中的新建测试套件: 测试套件节点,在测试配置面板的名称字段中输入策略配置,然后点击工具栏中的保存
  9. 展开测试套件: 策略配置,然后展开测试套件: WSDL 测试。注意,测试 4: 策略执行被添加到了测试套件: WSDL 测试
  10. 展开测试 4: 策略执行测试以查看其链接的工具。您将看到两个编码标准工具,一个用于在 WSDL 上强制执行规则,另一个用于在模式上强制执行规则。

    • 第一个工具 WSDL-> WSDL 策略执行器链接到测试 4 的 WSDL 输出:策略执行测试,从而通过用于规则实施的基本 WSDL 和所有导入的 WSDL。
    • 第二个编码标准工具 Schema> Schema 策略执行器链接到策略 4:策略执行的模式输出,从而传递 WSDL 中引用的用于规则强制的所有模式文件。
  11. 展开其中一个测试,该测试位于测试套件: CartServicePort 节点,并注意,一个名为响应 SOAP Envelope-> SOAP 策略执行器引用编码标准工具已经链接到测试上。

    此工具将在此测试客户端接收的消息上应用其包含的策略配置。该工具是对根测试套件下工具测试套件中全局工具的引用。

    有关全局工具的更多信息,请参阅全局工具
  12. 选择测试 4: 策略执行测试并点击工具栏中的运行测试。这将对 WSDL 和模式文件运行策略执行测试。如果发生任何错误,它们将在质量任务视图中报告。

定义自定义 SOA 策略

在前面的练习中,我们使用默认策略配置强制执行策略。对于本例,我们将定义一个自定义 SOA 策略。

  1. 在工具栏中,转到新建 > SOA 策略配置文件
  2. 策略名称字段中输入策略名称,点击完成。将在 SOAtest 的右侧 GUI 窗格中打开策略配置面板,并列出与策略执行规则和 WSDL 测试相对应的断言。
  3. 在策略配置面板中,您可以:
    • 通过选择或取消相应的复选框来启用/禁用单个断言。
    • 通过右键点击并从快捷菜单中选择查看规则文档来访问断言的帮助文档。
    • 点击添加,导入使用 SOAtest 的 RuleWizard 特性设计的自定义规则。
  4. 点击保存将自定义策略保存到默认的 SOAtest 规则文件夹。稍后可以使用您定义的策略配置自动创建测试来执行策略。
  • No labels