datafactory-如何快速生成大批量數據


http://blog.csdn.net/lykangjia/article/details/53837070轉載《IT沖浪者》

上次在我的博客中講述了

quest公司的spotlight系列軟件,這次來扯淡一下quest公司的另一測試輔助軟件 datafactory(數據工廠),顧名思義,數據工廠是生產數據的,主要應用領域是性能測試中的大數據量測試, 也就是性能測試數據准備階段。

 

原理說明:

通過和數據庫進行連接后,對選定表的字段設定一定的插入規則,然后批量插入記錄。Datafactory支持各種主流數據庫(Oracle、DB2、MS SQL),甚至excel、access等。下面以以主流的oracle為例進行說明。

 

環境說明:

Oracle10g,創建2個表,一個是testtable,一個testtable2。計划用datafactory往testtable中插入記錄,其中需要讀取testtable2中的部分字段信息。testtable表的字段類型如下(字段類型已經盡可能覆蓋多種情況):

Testtable表:

 

testtable字段類型

 

Testable2字段類型和testtable類似,里面記錄情況如下:

編號

姓名

性別

出生日期

畢業院校

分數

照片

考核情況

1

張三

1

2009-12-21

北京大學

85.5

<BLOB>

<NCLOB>

2

李四

0

2002-7-16

清華大學

78.2

<BLOB>

<NCLOB>

3

王五

1

1999-6-8

湖南大學

65.5

<BLOB>

<NCLOB>

 

 

 

詳細操作描述:

安裝完datafactory之后,進入file菜單下面點擊new,然后選擇oracle數據庫類型。

oracle數據類型

 

然后會要求輸入oracle的net服務,和連接的用戶名和密碼。

 

 

 

選擇要插入記錄的表。

 

 

進入設置插入表規則界面,對每個字段的插入規則在右邊界面進行設置。

 

設定規則,testtable表中編號字段為long integer類型,這里設定為插入順序值(insert sequential values)。

 

設定規則,testtable表中姓名字段為vachar2類型,這里設定從testtable2表中查詢結果隨機取值。

 

 

設定規則,testtable表中出生日期為date類型,這里設定設定一個隨機的時間,時間跨度為1982年-1988年的任何一天。

 

 

設定規則,testtable表中分數為為number類型,這里設定設定一個隨機數值,數字跨度為50-85.5。

 

設定規則,testtable表中考核情況為NCLOB類型,這里設定隨機從文件夾中的text文件獲得內容。

 

設定規則,testtable表中照片為BLOB類型,這里設定隨機從文件夾中的獲得圖片。

 

設定完畢后,點擊上面的run按鈕,成功執行插入。插入后的效果如下所示:

 

 

 

引發的另外一個問題:

      因為datafactory試用版只能每次插入100條數據,購買正版又沒有錢,而大數據量的測試動不動就要100萬級的數據,那要准備100萬條數據可是要點10000次鼠標啊,那樣的話,性能測試還沒有開始,人就已經崩潰了。其實,有很多辦法能夠解決這個問題。如寫一個多線程的程序,反復觸發插入事件。當然最簡單的辦法,還是用HP公司的Loadrunner錄一段插入的腳本,然后設定幾個虛擬用戶(原理上也是多線程插入的方式)進行插入就可以輕松搞定了。

錄制插入腳本,把整個插入操作當作一個事務。

 

設定場景,這里設定8個虛擬用戶,並發插入,時限為5分鍾。

 

場景運行情況,插入事務一共通過了2635個。

 

從上面的事務來看,一共有2635個事務通過,因為試用版每次插入100條數據,則應該插入的總記錄數為:2635×100=263500條,進入數據庫,執行查詢,可以發現記錄數正確。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM