熟悉软件测试流程的人都知道,我们的产品发布环境通常包括以下环境:研发环境、测试环境、UAT环境、生产环境。
其中研发环境供开发调试使用,测试环境供测试人员测试使用,UAT环境即预发布环境,供上线前仿真测试,而生产环境为真实线上环境,供产品服务日常运行使用。测试人员需要验证测试各个环境程序的运行情况并确保程序业务功能在各个环境运行正常。
当然,在这里,笔者并不是想理清几套环境之间的不同和业务关系,而是想通过描述他们之间的隔离性来告诉大家测试环境模拟仿真生产环境数据的重要性。
我们知道以上几套环境的数据并不是共用的,也就是说,他们使用的数据库并不是同一套,可能测试环境/预发布环境数据量比较小,而生产环境数据量比较大,这就会导致以下问题的出现:生产环境数据量较大,数据较特殊,导致数据溢出、曲线图变形、程序崩溃等等。
可能有人会说,我们在测试环境做了性能测试,导入了大量的数据样本真实模拟生产环境,找到了系统瓶颈,并且已经报给开发修复掉了。当然,我们不否认性能测试的重要性,性能测试能够最大化模拟生产运行环境,测试当负载逐渐增加时,系统各项性能指标的变化情况。
但是大家都忽略了数据特殊性这个点,生产环境是程序运行的最真实的环境,那么就需要测试人员在测试进行的过程中,将测试环境生产化仿真,真实模拟生产环境,做到数据完全拷贝,这样,在生产环境运行之前,程序已经经过了一系列模拟验证,能够保证程序更加稳定、可靠。
上面说得可能还太过抽象,接下来,我用一个案例来说明一下。
下图是某炒股软