软件测试环境要不要和软件开发环境隔离?
开发环境要不要和测试环境隔离?要就是说,是不是要各用一套数据库等基础设施? 能隔离当然最好,开发人员和测试人员不会互相干扰。但隔离是有代价的,它意味着你要多引一个数据库,如果你的系统是分布式的,你还要多维护一套MQ、RPC中间件等。 依我看,需不需要隔离要看系统是否满足下面的三个条件: 1、两个环境的系统总是要接触到同一份数据 2、数据被一个系统接触后,业务状态会改变;导致这份数据对另一个系统不再可用 3、很难禁止两个系统在同一时刻接触到同一份数据 解释: 条件1.如果两个环境共享数据库,但开发环境只处理北方数据,测试环境只处理南方的,那不用隔离 条件2.即使两个环境都会处理北方数据,但如果这种处理是只读的,也就是开发环境用了,测试环境可以再用,那也无所谓 条件3.即使数据被一个环境处理后,另一个不能用;但如果对数据的接触是人为触发的,也就是说开发环境被人触发数据改动时,不会干扰测试环境的测试,那也无所谓。 具体的场景: 1、纯读的网站不必隔离,它不满足条件2 2、有写、但所有操作都由用户触发的网站也不必隔离,因为它不满足条件3 3、以全局数据为目标的自启应用需要隔离,比如Quartz...