{管理信息化OA自动化}LoadRunner测试Tuxedo

上传人:蜀歌 文档编号:156563815 上传时间:2020-12-18 格式:PDF 页数:31 大小:625.09KB
返回 下载 相关 举报
{管理信息化OA自动化}LoadRunner测试Tuxedo_第1页
第1页 / 共31页
{管理信息化OA自动化}LoadRunner测试Tuxedo_第2页
第2页 / 共31页
{管理信息化OA自动化}LoadRunner测试Tuxedo_第3页
第3页 / 共31页
{管理信息化OA自动化}LoadRunner测试Tuxedo_第4页
第4页 / 共31页
{管理信息化OA自动化}LoadRunner测试Tuxedo_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《{管理信息化OA自动化}LoadRunner测试Tuxedo》由会员分享,可在线阅读,更多相关《{管理信息化OA自动化}LoadRunner测试Tuxedo(31页珍藏版)》请在金锄头文库上搜索。

1、管理信息化 OA 自动 化LoadRunner 测试 Tuxedo 管理信息化 OA 自动 化LoadRunner 测试 Tuxedo 修订纪录 日期,修订版本,修改描述,作者日期,修订版本,修改描述,作者 2005-7-14,1.00,初稿完成,张翼 , , , , , , 1 概述1 概述 随着软件行业的发展,测试作为软件生命周期中特别重要的一个步骤,已经被越来越多的软 件开发单位所重视。随着客户对软件认识的不断深入,对测试的要求也越来越高。客户已经 不再仅仅满足于软件功能的完成。而更注重的是软件的性能和能够承受的压力。 很多人容易把软件性能测试和软件压力测试混淆,甚至包括一些已经从事软件

2、测试工作多年 的专业人员。其实,二者之间确有关联,但也有比较明显的区别。 按照我个人的理解,软件性能测试主要关注的是软件在规定正常的条件下,其处理能力的体 现。比如对软件响应速度的测试和对服务器资源占用情况的检测;而压力测试,顾名思义, 既是对软件的运行环境施加压力,来观测软件的运行情况。它关注的不是软件的响应速度或 占用了多少系统资源。而是以高出正常负载 20%30%的情况下,观测系统是否能够成功正确 的响应请求。其失败率是多少。 在做软件性能测试的时候如何去检测系统的响应速度?又如何去观测系统资源占用的情况 呢?在做软件压力测试的时候,如何构造一个高于正常负载的一个测试环境呢?又如何统计

3、业务的失败率呢?目前,业界中有不少能够做性能和压力测试的工具,MercuryInteractive 公司的 LoadRunner 是其中的佼佼者,也已经成为了行业的规范。它完全能够帮助完成以上 所需要的工作。 2 编写目的2 编写目的 河北移动 BOSS1.5 是以 Tuxedo 为中间件的 C/S 三层结构系统。作为测试员,我被安排做账 务这个模块的性能和压力测试。由于以前从来没有使用过 LoadRunner,这次工作遇到了很大 的困难。疯狂 K 书的结果是发现 LoadRunner 对 B/S 系统的性能和压力测试支持得如此之好。 凡是网上有的资料十之八九的都是介绍如何用 LR 对 B/S

4、 系统的测试。此外就是一些喜欢玩 底层的高手,弄一大堆英文资料来介绍 Winsock 的测试。我只能说,对不起,Winsock 的英 文资料我看不懂, B/S 的资料我暂时不需要。 还有一篇网上流传的文章, 介绍的是用 LR 对 BEA (Tuxedo、Weblogic)的测试,只简单描述了 LoadRunner 测试步骤,其介绍太留于表面, 扫盲尚可,作为使用的说明,那就差的太远了。 对于我们的系统来说,很明显应该使用 Tuxedo 协议去录制测试脚本。由于不能找到相关的 介绍文档。我在著名的 51testing 论坛上和深圳测试协会的论坛上都发帖求助。居然 5 天过 去了,看的人不少,回复

5、的人一个也没有。气愤之余,决心要在这次测试搞定以后一定记录 下步骤和心得,亦是本文形成的缘由。 3 本文讨论的范围3 本文讨论的范围 本文是针对 LoadRunner 对 Tuxedo 中间件系统测试的一个专题文档。通过实例描述的方式介 绍 LR 对 Tux 中间件系统进行测试的方法, 主要介绍对脚本的处理, 顺带介绍一下 LoadRunner 基本功能和测试步骤,但是不会以此为主。本文不会对 Tuxedo 中间件的详细配置进行介绍。 4 测试脚本的准备4 测试脚本的准备 我打算以缴费的性能测试作为例子,通过我是怎样一步步实现这个测试脚本的,来介绍这个 过程。 4.1 脚本的录制万事开头难?4

6、.1 脚本的录制万事开头难? 当接到测试缴费性能的任务时,我已经看过了一些关于用 LR 测试 B/S 的文章。所以毫不犹 豫的开始了用 Tuxedo 协议录制脚本的工作。 4.1.1 协议的选择4.1.1 协议的选择 打开 VuGen,选择单协议录制方式,采用 Tuxedo6 协议: 图表 1 协议选择 由于系统的服务端采用的 Tuxedo8.0 服务, 所以刚开始的时候我使用 Tuxedo7 协议进行录制。 在录制到第 8 个事件的时候报错(如图 2) 。后来考虑到录制的客户端是 tuxedo6.5 的,可能 不包含 Tuxedo7 的部分 dll 文件,所以改用 Tuxedo6 协议,就能

7、够成功录制了。 图表 2 协议选错了 4.1.2 开始录制选单设置4.1.2 开始录制选单设置 当打开 Tuxedo6 协议开始录制以后,系统弹出一个开始录制对话框。由于测试对象是 C/S 结 构的,所以我选择“Win32 应用程序”为应用程序类型。然后在要录制的程序里面通过选择 按钮选到要运行的客户端程序。将“录制到操作”定位到 vuser_init 中。详细的信息如图。 图表 3 开始录制对话框 注意: 1、 LR 的脚本基本上分成三个结构,vuser_init、action、vuser_end。对于 Web 协议的脚 本来说 action 可以是多个的。对于选用的 Tuxedo6 协议,

8、经过观察,好像不能添加多个 action。通常 vuser_init 是用来放置登录脚本的,vuser_end 是用来放置退出脚本的,这两 部分的脚本不参与迭代和循环,也不需要定义事务。如果需要在登录的时候添加集合点,验 证多用户登录的压力测试方案,则需要将登录脚本放在 action 中,让 vuser_init 留空。因 为在 vuser_init 区域内是不允许添加集合点的。 2、 “工作目录”通常是根据“要录制的程序”的选择而自动填充的,不需要做修改。 4.1.3 录制登录4.1.3 录制登录 “开始录制”对话框设置完成,点击 OK 键,录制正式开始。LR 会根据设置的“要录制的程 序”

9、打开对应的客户端程序(如图 4) 。按照正常步骤登录即可。 图表 4 正常登录 输入工号和口令点击确定,成功登录系统。LR 的录制控制条会显示录制过程中发生的事件, 比如在登录窗口打开过程中共做了 24 个事件(如图 4) ,登录成功后共做了 112 个事件(如 图 5) 。 4.1.4 插入集合点4.1.4 插入集合点 登录完成后,将要做缴费操作,所以需要更换录制脚本的区域。直接在录制控制条上将 vuser_init 换成 action 即可(如图 5)。 图表 5 更换录制区域 然后继续脚本的录制。打开缴费的界面,输入一个要缴费的服务号码(电话号码) 。输入完 成后添加集合点。添加集合点的

10、方式为点击录制控制条上的添加集合点按钮(如图 6) 。然后 弹出“插入集合点”对话框,输入集合点的名字,就成功了。 图表 6 添加集合点 注意: 1、集合点:当通过 controller 虚拟多个用户执行该脚本时。用户的启动或运行步骤不一定 都是同步的。集合点是在脚本的某处设置一个标记。当有虚拟用户运行到这个标记处时,停 下等待,直到所有的用户都达到这个标记处时,再一同进行下面的步骤,这样能够用最大的 用户并发去做下面的操作,就像集合再前进一样。集合点之名由此而得。集合点主要用于对 关键步骤的加压。所以常用在事务定义之前。 4.1.5 插入事务点4.1.5 插入事务点 集合点插入完毕,点击录制

11、控制条上的“事务开始定义”按钮定义事务。 “开始事务”对话 框弹出,输入事务名称,点击确定就完成了开始事务的标记。 (如图 7) 图表 7 插入事务开始点 注意: 1、事务:对于一个录制好的脚本,在回放的时候怎么去关注它的具体性能呢?当然不是全 局的去观察。测试需要注意的其实是脚本中的关键点。比如图书馆的新书入库,其实测试人 员关注的只是在图书入库的那个步骤的性能值,通常都不会去研究填写这些入库图书信息的 那些过程。所以 LR 的事务添加操作就是把测试所需要关注的操作定义成事务告诉 LR,这个 是我想要重点检测性能的操作。 LR 就会在运行过程中记录事务内操作的响应事件等性能数据。 并在 An

12、alysis 中以报告的形式给出统计结果。 4.1.6 插入事务结束点4.1.6 插入事务结束点 事务开始点插入完成后,点击 Enter 键,对输入的服务号码进行查询。查询出号码对应的账 户信息。当查询完成后,点击录制控制条中的插入事务结束点按钮。弹出“结束事务”对话 框,点击 OK 结束定义的事务。 (如图 8) 图表 8 插入事务结束点 现在来回顾一下 4.1.4 到 4.1.6 做了什么。其实我的目的是让 LR 关注查询输入的电话号码 对应的账户信息这个步骤,因为它是一个要和数据库交互的动作,并且会被客户经常使用。 所以应该把查询账户信息的操作定义成一个事务。在做这个事务之前,为了给这个

13、事务正常 加压。所以定义了集合点。 4.1.7 完成脚本录制4.1.7 完成脚本录制 账户信息查询的过程完成后,在“实交”区域内输入实际要交的金额。然后效仿前面的步骤 为缴费提交的操作添加集合点、事务开始点。然后点击确定按钮。等提交完成后加入事务结 束点。 事务结束点加入过后,需要的基本操作就完成了。最后录入退出脚本。此时需要将脚本录制 区域修改为 Vuser_end(如图 9) 图表 9 更换脚本录制区域 然后点击关闭客户端的按钮。在系统提示确认过后,成功退出客户端。然后点击录制控制条 上的结束控制按钮, 就能够成功生成录制的脚本。 至此我的缴费性能测试脚本就制作完成了。 谁说万事开头难?就

14、录脚本来说,我认为是 LoadRunner 操作中最简单也最容易上手的。 注意: 在录制脚本的过程中,需要选择数据。建议最好能够选择比较有代表性的数据。比如我的脚 本中,选择的服务号码。该号码对应的账号和用户号码最好不要相同。因为这两个号码在后 面动态关联或参数替换的地方需要用到。如果不能区别的话,到时候从 ReplyCARRYbuffer 中找到的数据就不知道哪些应该替换成账号,哪些应该替换成用户号码了。后面会对参数替 换和动态数据的关联详细介绍。 4.2 脚本的修改增强脚本功能4.2 脚本的修改增强脚本功能 关于 Tuxedo6 协议的 LoadRunner 录制脚本的增强,费了我不少功夫

15、。主要是到处都找不到 资料。上网求助也无门。后来发现高手就在身边,通过不断的请教,终于顺利完成了这次的 工作任务。再次特别的感谢这位高手。 脚本录制完成了,我在 Vugen 中回放了两边,都能够顺利通过。 但是如果就用这个脚本去做性能测试显然是不能测试到真正的性能的。 4.2.1 录制的原始脚本不能直接用做性能测试4.2.1 录制的原始脚本不能直接用做性能测试 为什么录制的原始脚本不能直接用做性能测试呢? 这里先简单讲述一下 controller 的用途。 LoadRunner8.0 以前的版本主要包含了 3 个应用VUGenerator、 Controller 和 Analysis。 VUG

16、enerator 用于对测试脚本的录制、编译和调试;Analysis 用于对性能测试结果的分析和 给出报表结果;LoadRunner8.0 还包含一个叫做 TuningConsole 的应用,是用作系统优化方 案的(我没有用过,连相关资料都没看过,就不吹这个了) ;Controller 是用于虚拟场景的 构建、提供虚拟用户方案的模拟,对测试脚本的分配,以及提供监视器实时监控系统资源。 简单点讲,就是用 VuGen 录制完脚本了,用 Controller 去生成一个场景,然后产生大量的 虚拟用户,把脚本分配给这些虚拟用户在场景中去执行,对服务器来说就好像同时有很多用 户都在访问自己,实际上都是一台或数台机器虚拟出来的。 现在来讨论一下为什么原始脚本不行。拿我录制的脚本来说,首先,登录系统以后,要用一 个电话号码查询账户信息,然后给这个账户缴费。当虚拟了大量用户以后,每个用户都同时 去执行这个脚本,就会造成所有的虚拟用户同时在为同一个账户缴费。由于系统有 concurrenceconstraint 机制,是不允许两个操作员同时操作同一条数据的。所以用

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 经营企划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号