Robot進(jìn)行數據庫的并發(fā)測試[2] 軟件測試
GO
SET ANSI_NULLS ON
GO
第二步:創(chuàng )建測試腳本:在Robot中新建VU腳本,輸入以下內容:
#include
{
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;
ser=sqlconnect("server","sa","888","192.168.0.99","sqlserver");
set Server_connection = ser;
push Think_avg = 0;
sync_point "logon";
sqlexec ["sql_1000"] "testdb..test";
sqldisconnect (ser);
}
說(shuō)明:
ser=sqlconnect("server","sa","888","192.168.0.99","sqlserver")
sa為數據庫用戶(hù)名,888為sa密碼,192.168.0.99數據庫IP地址
以上三項按實(shí)際的測試數據庫設置更改,其他兩項不用修改
sqlexec ["sql_1000"] "testdb..test"
testdb為新建存儲過(guò)程test所在的數據庫,按實(shí)際的數據庫修改
第三步:執行測試:運行上一步創(chuàng )建的腳本(運行時(shí)自動(dòng)創(chuàng )建Suite),在Run Suite窗口中的“Number of users”上輸入20。運行完腳本,打開(kāi)數據庫查看counts的數值。把counts值改為零多次運行腳本,觀(guān)察每次運行后counts的結果。
測試說(shuō)明
(1)、測試示例程序的目的是,存儲過(guò)程test每執行一次,表testtable中的counts字段增加一;
(2)、第三步的測試可以發(fā)現每次執行后counts結果并不相同,而且不等于20,這說(shuō)明這個(gè)程序是在并發(fā)時(shí)是問(wèn)題的。
(3)、將存儲過(guò)程中的select @count=counts from testtable where testid=1修改為select @count=counts from test
文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/