实现了该扩展点之后,当处理扩展中指定的协议的测试生成数据时,RPT 数据关联引擎会调用该扩展点声明的类中的相关代码,以例子插件为例,类的实现代码如下,完整代码请参见附件:
public class RTAProtoAdapter extends HTTPProtoAdapter implements IProtoElementAdapter7_0 { public RTAProtoAdapter() { } public List findSubs(ArrayList elem, int index) { if (!(elem.get(index) instanceof HTTPRequest)) return null; List subs = super.findSubs(elem, index); RTASubSites subSites = new RTASubSites(elem, index); subSites.processSites(subs); return subSites.getList(); } public void findReference(LTTest test, Substituter sub, ArrayList elem, int index) { if (!(elem.get(index) instanceof HTTPRequest)) return; RTASource source = new RTASource(); source.findSource(sub, elem, index); } ... } |
如图 12,在使用该插件之前,自动数据关联规则只实现了 processAreaUUID 的数据关联。
图 12. 使用 rta 插件前的自动数据关联
在使用该插件之后,根据用户的配置需求,我们可以取消 processAreaUUID 的数据关联,增加 ItemID,StateID,TransactionID 这个几个关键词的数据关联。
图 13. 使用 rta 插件后的自定义动数据关联
对于 rta 插件中关键词的设置,我们通过对 RPT 首选项的扩展实现,实现后的图形界面如图 14 所示,用户可方便地在界面上输入需要去除的数据关联和需要新增的数据关联。实现扩展点的代码如下所示,所涉及类的完整代码实现见附件。
<extension point="org.eclipse.ui.preferencePages"> <page class="com.ibm.rational.test.lt.datacorrelation.testgen.rta.ui.preference.RTATest.GenPreferencePage" |-------10--------20--------30--------40--------50--------60--------70--------80--------9| |-------- XML error: The previous line is longer than the max of 90 characters ---------| category="com.ibm.rational.test.lt.testgen.ui.preference.RPTTestGenPreferencePage" name="RTA Test Generation" id="com.ibm.rational.test.lt.datacorrelation.testgen.rta.ui.preference.RTATestGenPreferencePage"/> |-------10--------20--------30--------40--------50--------60--------70--------80--------9| |-------- XML error: The previous line is longer than the max of 90 characters ---------| </extension> |
图 14. rta 设置界面
总结
利用 Rational Performance Tester 进行性能测试的过程中,数据关联处理在测试脚本的编辑和调试中显得至关重要,其正确性直接影响加上负载后系统测试的结果可信性。RPT 提供了脚本的自动数据关联功能,该自动关联规则基于使用中的最佳实践,能够满足大部分测试脚本的需求。但其规则内嵌于代码中,其不透明性决定了用户对自动关联结果的茫然,本文揭秘了 RPT 自动数据关联的详细规则,使得用户对自动生成的测试脚本更加了解、容易掌控。而且对于复杂的被测应用系统,RPT 还提供了扩充数据关联规则的方法,本文以实例说明了如何扩展数据关联规则,方便用户在了解具体待测试的应用的基础上,根据需求在此规则上加入自定义的规则,从而大大提高了脚本编辑和调试的效率。
参考资料
学习
仔细查 Rational Performance Tester 信息中心。
参考 Jazz.net 了解更多基于 Jazz 的产品,并下载使用 Jazz 产品:
Rational Team Concert(RTC)
Rational Quality Manager and Rational Test Lab Manager (RQM)
Rational Requirements Composer (RRC)
Rational Project Conductor (RPC)
访问 developerWorks 中国网站的 Jazz 技术空间,这里汇集了丰富的 Jazz 平台中文技术资源。 您可以通过这里了解更多关于 Jazz 平台和 Jazz 技术发展趋势的最新信息。