看到很多人在要這個(gè),找到一篇,轉過(guò)來(lái)給大家看看
文章的出處沒(méi)有看到作者的名字,非常抱歉
腳本與被測程序有關(guān),直接運行這個(gè)腳本是不能回放成功的(因為你沒(méi)有腳本運行的環(huán)境)
文章如下
第一步:設置Robot
Robot――Tools――Session Record options,Method選擇API Recorder,Generater Filtering中Filtering選擇Auto filtering,Select protocols只選擇Socket;
第二步:錄制VU腳本
在啟動(dòng)的Start Application窗口中,Executable輸入被測程序的客戶(hù)端程序的路徑和文件名,Working Directory中輸入被測程序的工作路徑,Program Arguments如果沒(méi)有就空著(zhù)。被測程序程序啟動(dòng)后,執行需要的操作然后關(guān)閉程序,停止錄制腳本,Robot會(huì )自動(dòng)生成腳本。
腳本示例:
#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];
}
這個(gè)腳本如果不能正確回放,可以將將sock_recv ["123003"] "$"; /* 50 bytes */改為
sock_nrecv ["123003"] 50; /* 50 bytes */
第三步:設置Suite,回放腳本
回放錄制的腳本,Testmanager會(huì )自動(dòng)創(chuàng )建Suite,如下所示:
默認腳本運行一次,為了長(cháng)時(shí)間運行,修改增加腳本的運行次數(最大32767),在Run properties中Iterations中設置。然后運行Suite,在Run Suite窗口中的“Number of users”上輸入虛擬用戶(hù)數,如200。
第四步:觀(guān)察被測服務(wù)程序的運行情況,查看有無(wú)異常。壓力測試需要連續、高負載運行不少于72小時(shí),運行完成服務(wù)程序需要無(wú)資源泄漏、無(wú)報錯、無(wú)異常退出以及其他不正常情況。
數據庫并發(fā)測試
數據庫并發(fā)測試的必要性:
1、 與數據庫連接的服務(wù)程序采用多線(xiàn)程同時(shí)開(kāi)啟多個(gè)數據庫連接;
2、 與數據庫連接的服務(wù)程序單線(xiàn)程,但是同時(shí)開(kāi)啟多套服務(wù)程序;
以上兩種情況均會(huì )產(chǎn)生對數據庫的并發(fā)訪(fǎng)問(wèn)操作。數據庫并發(fā)訪(fǎng)問(wèn)會(huì )導致數據庫數據錯誤、數據庫死鎖等故障,需要在測試階段進(jìn)行充分測試。
數據庫并發(fā)測試測試方法:
1、 利用測試工具模擬多個(gè)最終用戶(hù)進(jìn)行并發(fā)測試;
這種測試方法的缺點(diǎn):最終用戶(hù)往往并不是直接連接到數據庫上,而是要經(jīng)過(guò)一個(gè)和多個(gè)中間服務(wù)程序,所以并不能保證訪(fǎng)問(wèn)數據庫時(shí)還是并發(fā)。其次,這種測試方法需要等到客戶(hù)端程序、服務(wù)端程序全部完成才能進(jìn)行;
2、 利用測試工具編寫(xiě)腳本,直接連接數據庫進(jìn)行并發(fā)測試;
這種方法可以有效的保證并發(fā)操作,而且在數據庫訪(fǎng)問(wèn)程序完成即可測試,可以大大縮短測試時(shí)間,而且測試效果更好。
文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/