使用 Rational Tester for SOA Quality 简化服务集成测试

发表于:2007-11-26 12:00

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:李旭    来源:网络转载

        本文介绍了如何使用Rational Tester for SOA Quality 对业务流程中调用的Web服务进行集成测试。通过阅读本文,您将了解如何从一个 BPEL 描述文件出发生成针对 Web 服务的集成测试脚本,如何编辑测试脚本,如何创建和使用数据池,以及如何分析 Web 服务测试结果。

1. 引言

        Rational Tester for SOA Quality 是一个用于验证 Web 服务的功能测试工具,该工具支持 Web 服务测试脚本的创建、执行以及测试报告的分析。Rational Tester for SOA Quality 基于 Rational Performance Tester Framework 实现。它继承了 Rational Performance Tester 的许多强大的功能特性,例如零代码测试设计,数据池,自动数据关联以及强大的测试报告框架等等。在阅读本文之前,您需要对 Rational Performance Tester 有基本的了解。

        在开始测试之前,先让我们一起来了解一下 Rational Tester for SOA Quality 的主要优势:

        零代码 (code-free) 测试设计通过提供良好的用户界面,使得用户无需编写任何代码便可以自动创建、编排、修改并执行测试。这里,测试的概念是指对 Web 服务的若干操作进行调用并验证返回结果。用户可以设置或验证 Web 服务的各种信息,包括 HTTP header, cookies 以及 SOAP 消息。 
        简化无图形界面 (GUI-less) 服务的测试通过自动产生 Web 服务的客户端,该工具大大简化了对无图形化用户接口的服务测试。 
        简化服务集成测试从业务流程(由 WS-BPEL 定义)中自动产生对其调用的 Web 服务的测试。使得用户可以迅速地对复杂的业务流程进行测试并能够确保测试的最大覆盖率。 
        支持多种服务标准支持 SOAP, HTTP, JMS, WS-Security 以及 UDDI。 
        自动数据关联和数据驱动测试在记录测试的过程中,工具能够自动检测到输入数据从而进行数据驱动测试。提供表格式数据编辑器,用户可以创建定制的数据集在测试回放 (playback) 过程中将其自动插入测试脚本。 
        在接下来的内容中,我们将利用一个实际的业务流程,向您介绍如何利用 Rational Tester for SOA Quality 进行服务集成测试。

安装测试环境

        本文的测试环境使用 IBM® Rational® Performance Tester 7.0.0.2(英文),IBM® Rational® Tester for SOA Quality 7.0.0,WebSphere Process Server 6.0.2, Microsoft® Windows® 2000 Professional SP2。

        注意:在安装 IBM® Rational® Tester for SOA Quality 7.0.0 之前,必须保证您的 IBM® Rational® Performance Tester 的版本高于 7.0。

        在安装完测试环境之后,您需要下载本文提供的应用程序,将其安装在 WPS 上并启动,具体步骤请见本文最后的附录部分。

        这是一个简单的业务流程,接收两个整数类型的数据作为输入参数,然后调用一个外部的 Web 服务,将两个整数进行相加,将和数作为结果返回。其流程结构如图 1 所示:


图 1. InvokerProcess 业务流程
             

该流程包括三个活动:

        Receive:该活动是整个流程的起点,用于从客户端接收消息并将接收到的数据存储于流程的变量中。在本流程中,该活动接收两个参数 input1, 和 input2 作为输出。BPEL 定义如下表所示。

表 1. Receive 活动定义
               
<bpws:receive createInstance="yes" name="Receive" operation="operation1"
 partnerLink="InvokerProcess" portType="ns0:InvokerProcess" wpc:displayName="Receive"
  wpc:id="6">
      <wpc:output>
        <wpc:parameter name="input1" variable="Input1"/>
        <wpc:parameter name="input2" variable="Input2"/>
      </wpc:output>
</bpws:receive>
 


InvokeArithmetic:该活动调用一个外部的 Web 服务,将输入的两个数字进行加法运算,返回和数。BPEL 定义如下表所示。

表 2. InvokeArithmetic 活动定义
               
<bpws:invoke name="InvokeArithmetic" operation="add"
 partnerLink="ArithmeticServiceImpl" portType="ns1:ArithmeticServiceImpl"
 wpc:displayName="InvokeArithmetic" wpc:id="8">
      <wpc:input>
        <wpc:parameter name="num1" variable="Input1"/>
        <wpc:parameter name="num2" variable="Input2"/>
      </wpc:input>
      <wpc:output>
        <wpc:parameter name="addReturn" variable="Output1"/>
      </wpc:output>
</bpws:invoke>
 


Reply:该活动是这个流程的终点,返回上一步计算出的和数。BPEL 定义如下表所示。

表 3. Reply 活动定义
               
<bpws:reply name="Reply" operation="operation1" partnerLink="InvokerProcess"
 portType="ns0:InvokerProcess" wpc:displayName="Reply" wpc:id="7">
      <wpc:input>
        <wpc:parameter name="output1" variable="Output1"/>
      </wpc:input>
 </bpws:reply>
 


        其中被调用的 Web 服务为 ArithmeticService, 该服务提供加法和减法两种操作。接口定义如下图所示。


图 2. ArithmeticService 接口定义
            

61/6123456>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号