随着越来越多的面向服务的体系结构(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. 右键单击以前练习的项目,然后从快捷菜单中选择 Add New> Test (.tst) File
  2. 为文件输入名称(例如, Policy Enforcement),然后单击 Next
  3. 选择 SOA>  WSDL,然后单击 Next 进入 WSDL 对话框。
  4. 选择 http://localhost:8080/parabank/services/store-01?wsdl ,该路径来自 WSDL URL 字段。
  5. 选中 Create Tests to Validate and Enforce Policies on the WSDL 复选框,并确保同时选中了 Create Functional Tests from the WSDL 复选框。



  6. 单击 Next ,直到进入 Policy Enforcement 对话框。
    • 选择 Apply Policy Configuration 多选框。这将创建 WSDL 和功能测试,它们将强制执行在指定策略配置中定义的断言。



      默认策略配置 soa.policy是全行业最佳实践的集合。若要使用自定义策略配置,可以使用 Browse 按钮选择一个策略配置,或者在文本字段中输入策略配置路径。有关策略配置的更多详情,请查阅 SOA 策略执行:概要
  7. 点击 Finish 按钮。
  8. 双击新建的 Test Suite: Test Suite 节点添加到测试用例树,然后输入 Policy Configuration 到测试配置面板中的 Name 字段,然后单击 Save 工具栏按钮。
  9. 展开 Test Suite: Policy Configuration ,然后 Test Suite: WSDL Tests。注意, Test 4: Policy Enforcement 被添加到了 Test Suite: WSDL Tests



  10. 展开 Test 4: Policy Enforcement 测试以查看其链接的工具。您将看到两个编码标准工具,一个用于在 WSDLs 上强制执行规则,另一个用于在模式上强制执行规则


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



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



    有关全局工具的更多信息,请参见 Global Tools
  12. 选择 Test 4: Policy Enforcement Test ,然后单击 Test 工具栏按钮。这将对 WSDL 和模式文件运行策略实施测试。如果发生任何错误,它们将在质量任务视图中报告。

定义自定义 SOA 策略

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

  1. 打开 New 工具栏按钮的下拉菜单(左上角),然后选择 SOA Policy Configuration File



  2. Policy name 字段中输入策略名称,然后单击 Finish 按钮。将在 SOAtest 的右侧 GUI 窗格中显示 Policy Configuration 面板,并列出与策略实施规则和 WSDL 测试相对应的断言。



  3. 在 Policy Configuration 面板中,您可以:
    • 通过选择或取消相应的复选框来启用/禁用单个断言。
    • 通过右键单击并从快捷菜单中选择 View Rule Documentation 来访问断言的帮助文档。
    • 通过单击 Add导入使用 SOAtest 的 RuleWizard 特性设计的自定义规则。
  4. 单击 Save 将自定义策略保存到默认的 SOAtest 规则文件夹。稍后可以使用您定义的策略配置自动创建测试来执行策略。
  • No labels