本文對 datapool 進行簡單介紹的同時結合實際功能測試和性能測試的來講界使用 datapool 。希望對廣大的軟件測試人員有幫助。由於寫作
DataPool 是一種測試數據集,在測試腳本回放的時候提供給腳本的變量。 datapool 可以由 rational 產品 robot 或 TestManager 創建,下邊的表格列舉出在 robot 和 testmanager 中可以對 datapool 執行的操作:
操作 Robot TestManager 在測試腳本中自動建立 datapool ● 創建測試腳本並產生自動數據 ● ● 修改 vu 腳本中的 datapool 設置 ● 修改 datapool 字段定義並修改測試數據 ● ● 創建並修改數據類型 ● 管理 datapool 比如改名或者拷貝 ● 倒入到出數據 ● 倒入數據 ●備注: rational 中 datapool 有兩種文件: txt 和 csv 文件,創建 datapool 成功後會保存在
盤符:\工程文件目錄\TestDatastore\DefaultTestScriptDatastore\TMS_Datapools文件夾下
測試數據保存在有 csv 擴展名的文本文件中,所有字段信息保存在後綴名為 spc 的文件中,該文件由 testmanager 管理。
datapool 有兩種創建方法,一種是在 testmanager 中建立,一種 robot 錄制 vu 腳本時自動建立同名 datapool ,只有在 robot 中 tools->session record options, 設置 Generator 頁面 general 的 use datapool 選項,才可以生效。下邊分別介紹這兩種創建和使用方法:
一.
建立 datapool :
1 .啟動 Rational TestManager ;
2 . Tools>Manage>Datapool ,點擊 New …,輸入數據池名稱點“確定”;
3 .在打開的 Data Type Specification 中添加字段定義;(字段定義說明見後)
4 .生成數據 Generate Data (產生大量數據,這裡默認產生 100 個數據)
5 .修改其中的數據 Edit DataPool data
其中字段定義說明:
1) Name 指的是數據池列標題名它與測試腳本中變量相一致。如果你改變了數據池列名,也必須保證測試腳本中的變量做相應的改變;如果你不是在 Rational 測試環境下建立的數據池然後導入它, TestManager 自動給數據池列分配缺省的名稱。也必須保證測試腳本中的變量與其相一致。你可以用 ime 給 datapool 字段起多字節的名字
2) Type 標准的或用戶定義的數據類型都按名稱向數據池列提供其值。猶如建立數據庫,先建立字段名,後改動類型。
制定數據池列的數據類如下操作:
a 、選擇標准類型或已存在的用戶定義數據類型,點擊當前顯示的數據類型名稱,然後從列表中選擇新的數據類型。
b 、可以選擇 rational 中的標准的數據類型。
c 、如果想自定義一個類型名稱而不是進行選擇,在用戶定義數據類型前輸入星號,如: *MyData;
d 、建立新的用戶定義數據類型,輸入數據類型名稱(不要帶 * ),然後點擊 Return 。在你點擊了 Yes 確定你想要建立用戶定義的數據類型,
例如:建立新的 column ,輸入列名,輸入 DemoType (自定義類型),保存。這時會出現數據類型屬性編輯對話框(我向 Description 中輸入描述信息,確定按鈕不可用,可能是 rational 的 bug ,不知道告訴 ratioanl 有沒有獎勵),確定,出現另一個數據類型屬性編輯界面,輸入測試數據,退出。選中該行生成數據, testmanager 會自動創建你輸入的數據。
e 、建立新的用戶定義數據類型。
3) Sequence 數據類型的值的順序被寫入數據池列中。只要從中進行選擇即可:- Random -隨機向數據池列中寫入數字和字母的值。- Sequential -順序寫出,如 0 , 1 , 2 , 3 , ... Sequential 僅僅支持數字值(包括日期和時間) 和生成的用戶定義的日期類型。當你選擇數字類型,必須確定其最大和最小的范圍,間隔必須大於 0 ;- Unique 即其中的值是唯一的。也可定義最大最小值。
4) Repeat 即出現在數據池列的時間, Repeat 不能為 0 。要想設置有符號的整數和用戶定義的數據類型的唯一性,設置 Reapeat 為 1 。當定義唯一值時,確定生成的數在你定義的范圍之內。
5) Length 數據池列中存在的最大的數。這個長度包括小數點和負號。
6) Decimals 定義最大的浮點數的小數位,最大的設置是 6 位。
7) Interval 如果你在數據池列中設置了間隔,那麼將按照你設置的順序,而順序變化。最小的間隔是 1 ,最大的間隔是 999999 在數字數據類型下選擇了 Sequence ,並定義了最大和最小范圍,間隔必須大於 0 。這設置僅僅在數字設置時有效。
8) Minimum 確定數字最小值這設置僅僅在數字設置時有效。
9) Maximum 確定數字最大值這設置僅僅在數字設置時有效。
10) Seed 是 Rational Test 為了計算隨機值的數。相同的種子數產生相同的隨機數,要改變隨機順序,改變種子數。
11) Data File 用戶定義的數據類型的路徑,這個路徑是自動付給你的,不能進行修改。數據類型文件存放在你的項目文件中的 Data Type 目錄,不能進行直接修改。
4 、 在設置好字段後,在 No. of records to genarete :中輸入要生成的記錄數,然後點擊 Genarete Data 即可生成數據,或者點擊 SAVE 按鈕,關閉當前窗口,然後點擊 manage datapools>edit>edit datapool data ,直接手工輸入數據;
5 、 這樣就完成了數據池的創建,還可以執行數據池的編輯、改名、刪除、導入、導出等操作;
6 、 數據池有數據生成能力,但是不具備數據的計算能力。這種情況下可以利用其他工具(如 EXCEL )生成數據,並保存為 csv( 逗號分割文件 ) 格式,然後在 manage datapools 中導入;
實際應用:
開發部最近提出對現有軟件系統的登陸功能進行測試。測試工程師設計測試用例,在實際工作中發現登陸系統版本基本穩定,而且功能孤立,界面在將來的版本中變化的可能性不大,所以決定測試自動化,減少人工重復勞動,提高測試效率。
測試工程師開始利用黑盒測試方法等價類法,因果分析法,邊界值法等方法設計測試用例,開發功能測試腳本,用 datapool (數據池中的數據是設計測試用例的時候用到的輸入值)保存測試數據。 登陸界面需要輸入用戶名,密碼,在數據池中建立兩個字段 username,password 。 Datapool 中的數據和測試用例中輸入數據相一致。