軟件測試工具中使用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 Action一欄里選擇vuser_init,點擊OK
。4)在彈出oracle sql*Plus界面后輸入數據庫的用戶名稱,口令,和主機字符串(SID),點確定
。5)在單擊確定后,在Recording對話框中將vuser_init更改為vuser_Action在sqlplus界面中輸入命令導入步驟一準備好的測試文件test.sql
命令如下: @D:\temp\test.sql;回車。其中D:\temp 為test.sql文件所在的目錄。
。6)在測試文件導入完成后,將Recording對話框的Action更改為Vuser_end,在sqlplus界面輸入quit命令,回車,退出sqlplus界面,單擊Recording對話框的停止按鈕。
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,即為每條記錄的平均響應時間。
文章來源于領測軟件測試網 http://www.kjueaiud.com/