看到很多人在要這個,找到一篇,轉過來給大家看看
文章的出處沒有看到作者的名字,非常抱歉
腳本與被測程序有關,直接運行這個腳本是不能回放成功的(因為你沒有腳本運行的環境)
文章如下
第一步:設置Robot
Robot――Tools――Session Record options,Method選擇API Recorder,Generater Filtering中Filtering選擇Auto filtering,Select protocols只選擇Socket;
第二步:錄制VU腳本
在啟動的Start Application窗口中,Executable輸入被測程序的客戶端程序的路徑和文件名,Working Directory中輸入被測程序的工作路徑,Program Arguments如果沒有就空著。被測程序程序啟動后,執行需要的操作然后關閉程序,停止錄制腳本,Robot會自動生成腳本。
腳本示例:
#include <VU.h>
{
push Timeout_scale = 200; /* Set timeouts to 200% of maximum response time */
push Think_def = "LR";
Min_tmout = 120000; /* Set minimum Timeout_val to 2 minutes */
push Timeout_val = Min_tmout;
SERVER = sock_connect("123001", "SERVER:2000");
{ INFO SERVER "SERVER"="192.168.1.12"; } /*1*/
set Server_connection = SERVER;
push Think_avg = 0;
sock_send
"`45645651300000000001cc00f701000002000000c3330100000000000000000001000000" "00000000000sdgsdfgfhjghjjdfhjhkjgfhjgfjjk000000000000hh0000000000000000000000" "000000000000000000000000000000000000000000000100`g2222`0012313546545465431" "`45641313000000000000000000000000000000000000`";
sock_nrecv ["123002"] 200;
sock_send "`1321321656548745215599154654456546122132112313210000000000000001000000" "00000000021321215665654548879654654655562000000000000000000000000000000" "00000000000000000000000000000000000000000000012131132321213212111323213" "`123110000000`Z2";
sock_recv ["123003"] "$"; /* 50 bytes */
sock_disconnect(SERVER);
pop [Think_def, Think_avg, Timeout_val, Timeout_scale];
}
這個腳本如果不能正確回放,可以將將sock_recv ["123003"] "$"; /* 50 bytes */改為
sock_nrecv ["123003"] 50; /* 50 bytes */
第三步:設置Suite,回放腳本
回放錄制的腳本,Testmanager會自動創建Suite,如下所示:
默認腳本運行一次,為了長時間運行,修改增加腳本的運行次數(最大32767),在Run properties中Iterations中設置。然后運行Suite,在Run Suite窗口中的“Number of users”上輸入虛擬用戶數,如200。
第四步:觀察被測服務程序的運行情況,查看有無異常。壓力測試需要連續、高負載運行不少于72小時,運行完成服務程序需要無資源泄漏、無報錯、無異常退出以及其他不正常情況。
數據庫并發測試
數據庫并發測試的必要性:
1、 與數據庫連接的服務程序采用多線程同時開啟多個數據庫連接;
2、 與數據庫連接的服務程序單線程,但是同時開啟多套服務程序;
以上兩種情況均會產生對數據庫的并發訪問操作。數據庫并發訪問會導致數據庫數據錯誤、數據庫死鎖等故障,需要在測試階段進行充分測試。
數據庫并發測試測試方法:
1、 利用測試工具模擬多個最終用戶進行并發測試;
這種測試方法的缺點:最終用戶往往并不是直接連接到數據庫上,而是要經過一個和多個中間服務程序,所以并不能保證訪問數據庫時還是并發。其次,這種測試方法需要等到客戶端程序、服務端程序全部完成才能進行;
2、 利用測試工具編寫腳本,直接連接數據庫進行并發測試;
這種方法可以有效的保證并發操作,而且在數據庫訪問程序完成即可測試,可以大大縮短測試時間,而且測試效果更好。
文章來源于領測軟件測試網 http://www.kjueaiud.com/