IBM Rational Performance Tester 和 HP Mercury LoadRunner 的比较

发表于:2008-4-02 15:27

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

 作者:未知    来源:网络转载

分享:

2.3 数据关联

        数据关联类似于参数化,可以简化脚本,适应企业应用中需要动态数据的情况。默认情况下,LR 和 RPT 都能做到一些基本的数据关联,但是由于 HTTP 请求之间关联的复杂性,需要用户手动做一些数据关联。数据关联包含三个步骤,一是定义哪个录制的值需要被关联(替换);二是定义数据源。三是定义被关联的数据与数据源之间的关联关系。

        LR 的数据关联过程如下:lr_save_XXXX(value,dataSource)语句将数据源的值保存到参数 dataSource 中;用 lr_eval_XXXX(dataSource)语句替换被关联的数据。

        RPT 中如果需要自己定义关联,则在 HTTP 请求中的 URL 中或者 Data 中选择需要创建关联的部分,然后右键选择替换对象。其中替换对象可以是脚本中已经建立好的引用(这里的引用就是一种用户自定义的数据源),或者 RPT 自带的数据源(例如时间戳对象),或者是 Custom Code( 下节介绍 )。

        图 3 中浅紫色的部分是已经被关联的 URL,运行测试时该部分将由被引用的 URL 值来替换该 URL。


        图 3. RPT 数据关联
               RPT 数据关联

2.4 Custom code

        Custom code 是 RPT 独有的概念。尽管 RPT 脚本开发过程中,用户可以直接在 UI 层面达到对脚本的定制,但是这种定制能力毕竟有限。将定义好的 Custom Code 通过 UI 穿插到脚本之中,从而为 RPT 录制的脚本提供充足的扩展能力来保证其灵活的定制性。Custom code 本质上就是一个 Java 类。Custom Code 需要实现 com.ibm.rational.test.lt.kernel.custom.ICustomCode2 接口,并实现该接口中的如下方法:

public String exec(ITestExecutionServices tes, String[] args)
 


        ITestExecutionServices tes 参数是 Test Container 中的一个实例 , 使用它可以访问 Test Container 运行态一些服务。

        String[] args 参数是我们定义 Custom Code 时定义传入的参数数组。

        该方法的主体就是基于传入的信息进行业务逻辑处理代码,然后将处理结果(一个字符串)返回,其返回的字符串可以被后续的请求引用。Custom Code 是一个纯 Java 的类,所以具有 Java 编程经验的人都可以根据业务需求编写自己的 Custom code。

2.5 数据池

        性能 / 压力测试过程中,通常都需要为某些测试提供大量的测试数据。LR 和 RPT 都提供了数据池功能,即是将一个数据文件作为参数值赋给一个参数。

        LR 中,用户可以指定该文件的多个数据以何种方式赋值到该参数中。LR 提供三种选择,顺序,随机,唯一。前两种比较容易理解,最后一种是指每个虚拟用户都从该文件中取不同的值作为参数值,如果该数据池不足够大,所有的备选值都已经被取出过一次,即该数据池资源被用尽时,LR 报错。

        在 RPT 中,用户只能顺序从数据池中读入测试数据。RPT 的数据池是以 XML 格式存储的,并且在测试开始时,将数据池中的所有数据都加载到内存中,这样的实现模式不利于测试中使用大数据量。不过灵活的 Custom Code 功能可以弥补这方面的不足。对于大量的测试数据,可以通过自定义 Custom Code 来实现 On Demand 的数据读取和加载。


        图 4. RPT 数据池
           RPT 数据池

价值398元的测试课程免费赠送,填问卷领取吧!

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号