在日常測試工作中,經常需要在短時間內構造大量的測試數據,這些測試數據,有的需要通過數據庫SQL生成,有的需要人力點擊業務系統生成,有的需要構造特定大小的文件,等等
而實際上這些工作都有技巧可循,今天將自己的思路與大家分享:
一、數據庫層面,之前看到過一本書《收獲,不只是Oracle》,書中大量的數據采用指數級插入重復數據來構造,例如
創建表:create table test as select * from all_objects;
寫入數據:insert into test as select * from test;
這樣簡單的反復執行寫入數據操作,會在幾秒內構造出幾十萬條記錄的數據庫表test以供測試,值得借鑒;
二、業務系統中,需要手工進行業務數據構造,這時如果時間允許,可以將重復的操作步驟,制作成自動化腳本,Python + AutoItLibrary就是比較好的選擇,當然Python+Selenium+Robotframework也不錯;當然,如果系統在安全層面做的不好的情況下,完全可以使用Loadrunner錄制個腳本,參數化一下用戶信息和提交的數據信息,來個壓力測試,分分鍾也能在系統里造無數的測試數據來;
三、構造固定長度內容,或固定文件大小的測試數據,這時候一般想到的是EditPlus或UE工具,即可以快速確定文本長度,又支持按列編輯,事半功倍;對於文件大小來說,可以用文件合並的方式進行,windows/linux都提供了文件合並的命令。例如 windows下反復執行如下兩個命令,1.txt文件的內容會指數級增加的:
copy 1.txt 2.txt
copy 1.txt+2.txt 1.txt
再比如,Linux下可以用寫個cron任務,固定執行某個shell腳本,每一秒都為文件中寫入內容,等方法
【未完待續】