• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: 小 中 大 | 推荐给好友 上一篇 | 下一篇

使用 IBM Rational Tester for SOA Quality 将动态数据添加到Web 服务测试中

发布: 2007-10-25 12:22 | 作者: 网络转载 | 来源: IBM | 查看: 105次 | 进入软件测试论坛讨论

领测软件测试网

导入一个数据池

现在您需要做的第一件事就是使您的数据池正常工作。

  1. 您可以点击 Test Element Details 下 Common Options 标签里的 Add Datapool 为您的测试套件启动数据池。
  2. 打开 Import Datapool 对话框(查看图8)。

图8:Import Datapool 对话框
Figure 8. The Import Datapool dialog screen

  1. 点击您想要是用的数据池,然后选择 Select 将其启动。然后您可以查看 Common Options 下的数据池和变量列表(图9)。

图9:Test Element Details 下的数据池信息列表
Figure 9. Datapool information under Test Element Details

建立一个置换

下一步,您需要使用置换关联值。

  1. 在 Test Contents 目录树中,选择 doSpellingSuggestion ,然后选择 Details 标签。
  2. 选择 片语 元素。在这里您可以右键点击 Value 域,然后选择 doSpellingSuggestion datap...的 Substitute From > "片语" 变量。注意 Substitute from 菜单列出的元素是基于和测试关联的数据池而动态产生的(图10)。

图10:选择一个置换
Figure 10. Shows selecting a Substitution

在您建立了置换后,您会看到值会变成绿色。如果您解除对片语元素的定位,您仍然会看到它被高亮显示。(查看图11。)这些都是显示它们已经被置换的指示器。这使您能够在调试和更新您的测试时,快速的找到这些置换值。


图11:高亮显示的置换元素
Figure 11. Substitution element highlighting

  1. 下一步,您需要根据数据池的返回值来更新确认点以作应答。您可以通过选择 Equal Verification Point,找到 Detailed 标签中的返回元素,再次建立一个置换来完成这个操作。无论怎样,这次选择 doSpellingSuggestion datap... 的返回变量。

使用置换运行您的 Web 服务测试

如果您现在就运行测试,那么测试会使用您数据池中的第一个值。在这个练习的设置过程中,这个值是 phrasesWithSuggestions 等价类中的 "IBM Rational Perforlmance Tester"。数据读取正确并且确认点通过。列表1和列表2中的代码同是来自于一个单用户测试的测试日志。


列表1:Web服务调用代码
                
<soapenv:Envelope
 xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <soapenv:Body>
  <rpcns:doSpellingSuggestion
 xmlns:rpcns="urn:GoogleSearch" 
 soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
   <key xsi:type="xsd:string">00000000000000000000000000000000</key>
   <phrase xsi:type="xsd:string">IBM Rational Perforlmance Tester</phrase>
  </rpcns:doSpellingSuggestion>
 </soapenv:Body>
</soapenv:Envelope>
			



列表2:确认点代码
                
<Envelope>
 <Body>
  <doSpellingSuggestionResponse>
   <return>IBM Rational Performance Tester</return>
  </doSpellingSuggestionResponse>
 </Body>
</Envelope>
			


下一步,设置您的测试循环测试所有数据。最容易的实现方法是添加一个循环:

  1. 选择 Test Contents 树中的 doSpellingSuggestion(查看图12),然后点击Insert &gt; Loop 按钮。

图12:在您的测试套件中添加一个循环
Figure 12. Adding a loop to your test suite

  1. 您会被提示是否想要将选择的条目移动到循环中。点击 Yes 按钮。
  2. 循环下的 Test Element Details(图13),输入数据池值的数量(这里是6个)。

图13:循环的 Test Element Details
Figure 13. Screen capture of Test Element Details for a loop

  1. 保存后执行测试套件。

如果您查看测试运行时的 Return Equal Verification Points 报告(图14),您会看到有6个确认点被执行,并且全部通过。


图14:Return Equal Verification Points 报告
Figure 14. Shows the Return Equal Verification Points report

如果您查看测试日志中 Events 树的 Web 服务调用请求和回应,您会看到所有的数据池记录都被正确的调用。如果您想要移除一个置换,那么您只需要右键点击并选择 Remove Substitution 按钮。

域的引用

一个 Web 服务请求可能包含先前请求响应中返回的数据值。例如,假象在一个过去的商业服务公司的项目中,第三方合作伙伴使用一个 Web 服务请求您的系统的信息。对请求的响应是一个简单的确认,它包含一个稍后将要发送的响应的引用号。您需要使用这个引用号来手机第二个响应的信息。因此,在您的测试中,对于每一个您启动的会话来说,都有第一个响应和第二个请求之间数据相关的两个请求 XML 文件和两个响应 XML 文件。

在 Rational Tester for SOA Quality 中,您可以使用一个域的引用来执行这类的操作。在一个 Web 服务测试中,请求中的数据在哪里,由先前请求的响应中包含的数据决定,请求数据被它所依靠的响应数据所置换。这个响应和请求数据的内部标签的条件是数据相关性。

一个域的引用是测试中的一个值,它可以被测试中的一个并发值所使用。当测试码生成程序检测到一个需要被先前值置换掉的请求值时,它会指定早一些到来的值作为引用,并将并发的请求值和引用关联起来。

提示:
您可以手动将测试中的两个值关联或者解除已经存在的关联性。

让我们看一个使用 doSpellingSuggestion 的例子。您将会在第一个请求中查找到一个拼写错误的单词,然后您需要响应这个请求,并将它注入另一个 doSpellingSuggestion 调用,并且要验证没有任何建议被返回。这个例子有一些冗余,但是它阐明了我在一个真实项目中遇到的一个情况。

建立您的域引用

  1. 建立一个新的测试套件,覆盖第一个测试套件的 doSpellingSuggestion 调用。粘贴调用两次,它的结构应该和图15类似。

图15:建立第二个 doSpellingSuggestion 调用
Figure 15. Creating a second call to doSpellingSuggestion

  1. 在第一个 doSpellingSuggestion 调用中,选择 Test Contents 树的响应,然后选择 Details 标签。
  2. 选择返回元素。
  3. 右键点击 Value 域,然后选择 Create Field Reference。

注意,元素变成了蓝色,Value 域的背景颜色发生了改变,一些蓝色的箭头图标出现在了响应节点的 Test Contents 树中(图16)。这种情况显示了一个已经定义的域引用。


图16:定义一个域的引用的指示器
Figure 16. Shows the indicators for defining a field reference

使用您的域引用

  1. 在第二个 doSpellingSuggestion 调用中,选择 Test Contents 中的请求,然后选择 Details 标签。
  2. 选择片语元素。
  3. 右键点击 Value 域。然后选择 Substitute From &gt; /Envelope/Body/doSpellingSuggestionResponse/return。

注意,正如同置换一样,域引用同样也是动态构成的。这一次,片语元素变成了紫色,Value 域的文本被紫色高亮显示,一些绿色的箭头图标出现在了请求节点的 Test Contents 树中(图17)。这表示测试正在使用一个域的引用。


图17:使用一个域的引用的指示器
Figure 17. Shows the indicators for using a field reference

  1. 请确保您选择了第二个调用上的 Equal Verification Point ,并且移除了值(因为引用值的请求的拼写都应该正确)。

如果现在您再次运行测试,两个校验点都会通过,如果查看测试日志中的细节信息,所有的使用值都在每一个请求和响应 XML 中。如果您想要移除一个域的引用,右键点击并选择 Remove Field Reference。

这篇文章介绍了 Rational Tester for SOA Quality 动态数据的一些基本内容。按照您的需要任意混合搭配置换和引用。如果您想要学习更多关于在 Web 服务测试中使用动态数据的内容,请访问下面资源部分的文章,课程和站点列表。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

22/2<12

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:[email protected] 电话:010-51297073

软件测试 | 领测国际 | ISTQB | ISTQB官网 | TMMi | TMMi认证 | 国际软件测试工程师认证 | 领测软件测试网