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

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

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

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

领测软件测试网

导入一个数据池

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

  1. 您可以点击 Test Element DetailsCommon 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
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网