制造测试数据
上一篇 /
下一篇 2012-04-17 11:08:47
2012.03.09 测试小感想
这周主要工作就是制造数据,共7张表,其中4张表之间相互主外键关联,另外3张表主外键关联,另外数据字典3个表里,7张表里很多字段的值取自数据字典,7张表按照业务逻辑需要产生数据量不同。
上周五用IBM的数据生成工具DataFactory,先用这个工具来制造主表的,在里面写好sql,配置好,然后运行,然后发现很慢,简直是超级慢那种,三夜两天半即68小时产生了2K数据。其实在之前我也试过100万两数据产生过程仅仅需要1个半小时,那是字段值是随机产生的,但真正使用时候字段是需要从字典来的,需要sql语句来产生值,牵涉多张表就超级慢了。哎,没有报告,周五就绝对,周末别过来,在家加班,赶紧写过程,用工具DateFactory太不靠谱啦。
当时同陈还在一起住,然后在陈我两的主刀下,一个很简单的db2制造数据存储过程产生了,没有游标,但制造数据很合理。
然后在周一给领导说下,这个工具基本不靠谱,写了个存储过程,先用过程来造吧,能感觉到领导很高兴,后来才知道他们这里制造数据还没写过程序的,都是手工,比如在UE里先制造几条合理的,然后复制粘贴,然后导入到库里,要动用很多功能方面的人员来配合测试。
周一用写的那个很简单的过程来生成主表数据,主表很简单,仅仅5个字段,数据量也最小。好像一两个小时就产生了五百多万,就够了,当时挺高兴的。在运行过程产生主表数据时候,我赶紧写下个表过程,此表字段超多,且取自字典很多,还有外键,然后紧跟着问题就来了,产生下个表数据时候,因字段多,取自字典也多,然后速度一下就慢了,怎么办?最后赶紧修改过程,加了两个循环,在外循环内select取自字典的一些字段值,内循环里仅仅变化一些主键值还有一些rand函数能变的值。这样速度嗖嗖上去啦,哎,中间还有很多性酸,暂时不表啦,一个字值啦。反正最后,终于把过程修改的超级快,最后终于在周五晚上运行2个大表过程,周六早上select数据发现170G硬盘全部占满,制造数据时没有让产生日志。但7张表数据好几个亿的数据已经差不多产生完毕,因硬盘不够还差两千万。但这是小意思了。
然后,通过这件事,公司dba也注意下我这个小小测试人员,小喜一下,然后再请教dba问题,发现真是大转弯,以前都是懒得搭理我,感觉给你说也不懂,现在都是很耐心地说的很专业,也很深入,感觉俺这个小小测试员能听得懂他说的,不是对牛弹琴。
路还长,仍要加油啊!
收藏
举报
TAG: