使用PowerDesigner生成數據庫測試數據

特別說明:本文產生於個人工作總結,轉載請註明原文出處http://blog.csdn.net/horace20

1、環境

       PowerDesigner15.2.0.3042-BEAN+ MySQL5.5 + mysql-connector-odbc-5.1.8

       以上軟件在網上都很容易找到,這裏就不再給出相關鏈接!系統環境爲WindowsXP。

2、具體流程

       既然是生成測試數據,首先數據庫一定存在,這裏我以對MySQL的操作爲例,假設我的數據庫名稱爲db_generate_test。

       流程如下:

 

2.1數據庫反向工程

在PowerDesigner環境中,只能對PDM(物理數據模型)生成測試數據所以,首先將需要生成測試數據的數據庫反向工程爲PowerDesigner的PDM模型。

2.1.1配置數據源

       針對MySQL5.0系列版本需要安裝mysql-connector-odbc-5.1.8,這裏沒有什麼選擇項,直接“下一步”就行。安裝好後,打開控制面板 | 管理工具 | 數據源(ODBC) 如圖:

 

添加數據源:

 

創建數據源:

 

填完相關選項後點擊“Test”連接成功,OK確定即完成數據源的創建。

2.1.2數據庫反向工程

       數據源建好後打開PowerDesigner,選擇File | Reverse Engineer |Database…,如下圖:

 

  

你可以爲物理數據模型命名,確定即可,這裏我命名爲GenerateTestDataModel_1,接着:

  

點擊紅色箭頭處配置數據源:

 


另外在“Options”選項下可以配置編碼類型等選項:


確定後如下:

 

選擇數據庫用戶,選擇表,OK即可完成數據庫到物理數據模型的轉換

 

我這裏只有兩個表,而且表結構也極其簡單,這個過程很快就會完成,但是如果你的數據庫表多、表結構複雜,那麼這將是一個非常耗時的過程。我曾遇到過耗了三天三夜險些未完成的(果真是那樣的話,不建議使用PowerDesigner生成測試數據,因爲在生成測試數那一步會更加耗時,自己編寫程序插入模擬數據會快很多)。

2.2配置測試數據摘要文檔

       這一步相當於是制定你的測試數據生成規則,可以單獨做也可以和下一步“應用測試數據摘要文檔”一起做,單獨做的話點擊Model | Test Data Profile…,不過我個人更建議和下一步一起做,因爲那樣使你更加明確需要配置哪些測試數據摘要文檔。

2.3應用測試數據摘要文檔

       在PowerDesigner PDM模型下雙擊Table,Columns選項卡下再雙擊相應字段,如下:

 

在出現的ColumnProperties選項板中Detail選項卡下點擊紅色箭頭可創建測試數據摘要文檔:

這裏我爲id列創建的測試數據摘要文檔名爲Num_id,是Number類型,自動產生。其中這裏有三種類型可以選擇,分別是:Number(數值型)、Character(字符型)、Data&Time(日期時間型)。在”Generaction Source”項上爲測試數據摘要文件指定數據的產生方式:Automatic是自動產生、List是根據列表值產生、ODBC是根據其它的數據庫產生。

       再雙擊“Num_id”可制定更細緻的規則,如下我這裏指定的是一序列的方式從1遞增至1000,步長爲1(我假設在這裏要產生1000條數據):

 

       制定摘要文檔完成後確定回到Column Properties - id選項板下,爲列應用摘要文檔,如下:

 

       制定完所有測試數據生成規則後可進入下一步“生成測試數據”。

2.4生成測試數據

       選擇Database | Generate Test Data…如下:

 

       確定即可開始生成測試數據。

2、總結

       每當我們完成數據庫的構建,接下就需要數據庫性能測、相關接口測試以及報表測試等等,這時就需要大量的測試數據。相比手工創建,使用PowerDesigner自動生成不失爲一種方便簡捷的辦法。但是這一切都是建立在我們的數據庫結構並不複雜龐大的情況下,如果你的數據庫結構龐大複雜,那麼你看到的將是PowerDesigner未響應,這時PowerDesigner的效率還不如我們自己寫程序生成。

       另,在生成大量測試數據的過程中,爲了節約時間我們可以採用並行生成測試數據,即在不影響相關外鍵及其他約束的情況下,我們可以將數據庫分爲幾個相對獨立的模塊,分別生成。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章