【总结】大规模数据测试,数据准备时需要注意的问题(【保护已有数据】【大规模数据影响普通测试】【不要着急删除数据】)
2012-05-17 21:00
561 查看
有时我们要进行大规模的数据测试,要往DB中插入大量的数据。
一下有三点是我们要考虑的:
【保护已有数据】
这么做有两个目的
1.我们只想对我们插入的数据进行测试。
2.我们在测试结束之后,还要删除我们插入的数据。
如何做
(可以作为区分的条件:程序中抽出数据时的条件,作为我们用以区分的条件)
举例
比如:抽出数据的条件是 select * from user where updatetime = 当前系统时间之前的一个小时
现在时间是20120517
这样我们在做数据之前,把系统中已有的数据的 updatetime 都调整成将来很远的一个日子 比如 20120626
这样程序执行时,便不会对我们的寄存数据产生影响。
(备考:对于插入的数据,我们使用存储过程,定义一个比较早的时间,比如20120501)
这样便可以达到以上那两个目的了!
好处:
保护寄存数据不受影响。
------------------------------------------
【大规模数据影响普通测试】
这一点是今天下班回家
在车上时,突然想到的!
也正是因为这一点,才写了这个总结。这一点才是最重要的!!
之前总是觉得,大规模的数据做成之后,就无法再实行普通的测试了。
因为,一个select条件一下子抽出了上百万条数据。
但是并不是这样,因为我们忽略的一个问题,
就是我们可以通过更改抽出条件,使得这大规模的数据不被抽出。
还是上面提到的抽出条件 updatetime 现在时间是20120517
寄存数据是20120501
我们可以把这些数据都调整为 20120505
(大规模数据更改时间,虽然会慢,但怎么都比把数据删了,再做数据强)
这样,大规模的数据对于我们的普通测试便不会再产生影响。
(除此之外,如果工程允许debugdate,我们还可通过修改debugdate来实现,
不让百万条数据被抽出.我们的这个工程有这个功能,可以设置调试时间,
比如把调试时间设置成20120202,那么程序运行时,对应程序来说,
当前的系统时间便是20120202)
好处;
让我的测试能顺利进行,不受他会、规模数据的影响
---------------------------------------
【不要着急删除数据】
每次做数据都是一件非常麻烦的事情。
比如这次,做一次300万件的数据(postgre和oracle两端)大概需要6个小时。
删除这些数据,需要1个半小时左右的时间。
当我们在完成一次性能测试之后,发现性不好,还会进行性能测试时。
不要急着删除这些数据,就算在下一个性能测试之前,还有普通的机能测试。
我们也可以留着这些数据,通过上面的方法。
使大规模数据,不对我们的普通测试产生影响!
好处:
这样,我们便可不必每次都花费大量时间准备数据 删除数据。
准备一次即可!
一下有三点是我们要考虑的:
【保护已有数据】
这么做有两个目的
1.我们只想对我们插入的数据进行测试。
2.我们在测试结束之后,还要删除我们插入的数据。
如何做
(可以作为区分的条件:程序中抽出数据时的条件,作为我们用以区分的条件)
举例
比如:抽出数据的条件是 select * from user where updatetime = 当前系统时间之前的一个小时
现在时间是20120517
这样我们在做数据之前,把系统中已有的数据的 updatetime 都调整成将来很远的一个日子 比如 20120626
这样程序执行时,便不会对我们的寄存数据产生影响。
(备考:对于插入的数据,我们使用存储过程,定义一个比较早的时间,比如20120501)
这样便可以达到以上那两个目的了!
好处:
保护寄存数据不受影响。
------------------------------------------
【大规模数据影响普通测试】
这一点是今天下班回家
在车上时,突然想到的!
也正是因为这一点,才写了这个总结。这一点才是最重要的!!
之前总是觉得,大规模的数据做成之后,就无法再实行普通的测试了。
因为,一个select条件一下子抽出了上百万条数据。
但是并不是这样,因为我们忽略的一个问题,
就是我们可以通过更改抽出条件,使得这大规模的数据不被抽出。
还是上面提到的抽出条件 updatetime 现在时间是20120517
寄存数据是20120501
我们可以把这些数据都调整为 20120505
(大规模数据更改时间,虽然会慢,但怎么都比把数据删了,再做数据强)
这样,大规模的数据对于我们的普通测试便不会再产生影响。
(除此之外,如果工程允许debugdate,我们还可通过修改debugdate来实现,
不让百万条数据被抽出.我们的这个工程有这个功能,可以设置调试时间,
比如把调试时间设置成20120202,那么程序运行时,对应程序来说,
当前的系统时间便是20120202)
好处;
让我的测试能顺利进行,不受他会、规模数据的影响
---------------------------------------
【不要着急删除数据】
每次做数据都是一件非常麻烦的事情。
比如这次,做一次300万件的数据(postgre和oracle两端)大概需要6个小时。
删除这些数据,需要1个半小时左右的时间。
当我们在完成一次性能测试之后,发现性不好,还会进行性能测试时。
不要急着删除这些数据,就算在下一个性能测试之前,还有普通的机能测试。
我们也可以留着这些数据,通过上面的方法。
使大规模数据,不对我们的普通测试产生影响!
好处:
这样,我们便可不必每次都花费大量时间准备数据 删除数据。
准备一次即可!
相关文章推荐
- 【总结】大规模数据(300万条)测试时,需要注意的问题。
- 创建实体数据模型需要注意的,不要选单复数形式,否则AddObject出问题
- 使用分区删除数据需要注意的问题
- socket 发送数据需要注意的问题
- 采用Json字符串,往服务器回传大量富文本数据时,需要注意的地方,最近开发时遇到的问题。
- 使用FlashPlayer11.2测试右键需要注意的问题
- 从Oracle数据库中查询前几个月数据时需要注意的一些问题
- 设计android程序框架需要注意的问题总结
- 如何进行aix下误删除LV的数据恢复问题(包含现场保护方案和数据恢复方案)
- VS2012_MVC4入门例子、代码视图分离办法、需要注意的坑爹问题等_被坑后不断更新此贴,要转载的话,请使用链接,不要转载内容
- C++学习总结_成员函数的声明和实现需要注意问题
- 数据库测试数据的准备问题,可以用工具生成,主要有DataFactory和TestDataBuilder.
- 总结出通过W3C XHTML1.0标准需要注意的九个问题:
- 总结适配IOS10需要注意的问题
- DataTable数据导入到Excel 引用Microsoft Office 12.0 Object Library和 Microsoft Excel 14.0 Object Library 并且需要注意的问题
- GET方式传递表单数据需要注意的一个问题
- Hive 数据操作需要注意的问题(一)
- 初学Java,粗浅看待数据类型与运算符中需要注意的问题
- IE.火狐中href 兼容的注意事项 ,应用中的删除自己所在行数据,在IE上可用,在FF,谷歌等不可用的问题