软件测试中使用LoadRunner进行数据集成软件的压力测试
LoadRunner,是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试。通过使用 LoadRunner,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。 LoadRunner是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。
以ORACLE9i数据库为例。
1、测试环境准备
LoadRunner所在机器须安装有ORACLE9i客户端,以便于通过SQLPLUS工具对数据库中的表数据进行操作。
2、建表
源表:
CREATE TABLE CVIC_TEST_IN (
ID VARCHAR2 (40) NOT NULL,
NAME VARCHAR2 (50),
SEX VARCHAR2 (10),
ADDRESS VARCHAR2 (30),
CREATETIME VARCHAR2 (30),
PRIMARY KEY ( ID ) )
目的表:/*增加一个ARRIVETIME字段,赋予默认值current_timestamp以记录数据传输到目的表的时间*/
CREATE TABLE CVIC_TEST_OUT (
ID VARCHAR2 (40) NOT NULL,
NAME VARCHAR2 (50),
SEX VARCHAR2 (10),
ADDRESS VARCHAR2 (30),
CREATETIME VARCHAR2 (30),
ARRIVETIME VARCHAR2 (30), DEFAULT to_char(current_timestamp(3),'yyyymmddhh24missff'),
PRIMARY KEY ( ID ) )
3、编写SQL文件
首先需要在数据库中新建一个sequence命名为SEQ1,起始值为1,不设置最大值,非循环。然后编写sql语句:
insert into CVIC_TEST_IN(ID,NAME,SEX,ADDRESS,CREATETIME) values(SEQ1.nextval,'susan','female','shanghai',to_char(current_timestamp(3),'yyyymmddhh24missff'));
commit;
/*关键字ID用sequence顺序生成,CREATETIME字段取当前值,以记录源表测试数据产生的时间*/
将以上sql语句拷贝到test.sql文件中。
4、测试脚本录制
(1) 打开LoadRunner选择Create/Edit Scripts打开新建窗口,选择Oracle(2-Tier)进行录制
(2)单击“OK”按钮后,进入mercury virtual user generator脚本窗口,在左边点击“vuser_init”将它选中
(3)点击Start Record,弹出Start Record界面,在Program to record一栏里选择数据库客户端的应用文件sqlplusw.exe所在目录(d:\oracle\ora92\bin\sqlplussw.exe),在Record into Act
(4)在弹出oracle sql*Plus界面后输入数据库的用户名称,口令,和主机字符串(SID),点确定
(5)在单击确定后,在Recording对话框中将vuser_init更改为vuser_Act
命令如下: @D:\temp\test.sql;回车。其中D:\temp 为test.sql文件所在的目录。
(6)在测试文件导入完成后,将Recording对话框的Act
5、并发用户
让数据集成软件实现将源表CVIC_TEST_IN 中的数据同步到目的表CVIC_TEST_OUT的功能,数据集成软件运行之后,在LoadRunner中并发50个vuser(Virtual Users\Add Vusers),设置每秒钟启动一个vuser,运行时间5分钟,同时停止所有vuser。
6、平均响应时间计算
数据同步完毕后,在数据库中对目的表进行如下操作:select (SUM(ARRIVETIME)-SUM(CREATETIME)) from CVIC_TEST_OUT,除以总记录数select count(*) from CVIC_TEST_OUT,即为每条记录的平均响应时间。