需求:
从数据库读取数据,生成txt文件,文件命名规则如下:
USER_日期(YYYYMMDD)_2位序号(01~99).txt
即文件命名如下:
USER_20180104_01.txt
USER_20180104_02.txt
等等等。。。。。。
单个txt文件里面最多有10万条数据,也就是说,如果数据库中有多于10万条的数据,那么就得生成多个文件
测试:
在测试中,我只往数据库中插了11万多条数据,程序生成了两个txt文件,文件命名如下:
USER_20180104_01.txt
USER_20180104_02.txt
文件命名没有问题,txt文件里面的内容也很正确,看来算是测试通过了,无Bug。
Bug总是在意想不到的地方出现。
到了生产环境,我们数据库中有四五百万条数据,也就是说,会生成几十个文件,此时的文件命名就出现了Bug。
前十个文件,文件命名的序号是01~10,文件命名正确。
再往后,文件命名就出错儿了。从第十一个文件开始,文件命名中的序号仍然是从01开始,并没有从11开始。
在上线当晚发现这个问题,后来又紧急修复了。
为什么当初在测试环境没发现这个问题呢?
因为在测试环境,要是在数据库中插入几百万条数据,那么执行一次用的时间比较长,得好几个小时,因此在测试环境上就没发现这个问题。
记录一下这个问题,以后再测类似的功能,避免再出现。
领取专属 10元无门槛券
私享最新 技术干货