在日常测试工作中,经常需要在短时间内构造大量的测试数据,这些测试数据,有的需要通过数据库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脚本,每一秒都为文件中写入内容,等方法
【未完待续】