开发者沙盒

沙盒(sandbox)是一个完整的工作环境,在这个环境中可以对系统进行构建、测试和运行。出于安全的考虑,你希望不同的沙盒之间保持分离——开 发者应该能在自己的沙盒中工作而不必担心会破坏别人的工作,你的质量保证/测试小组应该能够安全地运行他们的系统集成测试,你的最终用户应该能够运行系统 而不必担心开发者会造成源数据或系统功能上的冲突。图1.5展示了沙盒的一种逻辑组织——我们称之为逻辑组织是因为大型/复杂的环境可能拥有7~8个物理 沙盒,而小型/简单环境可能只有2~3个物理沙盒。

 
图1.5 为用户提供安全性的逻辑沙盒
为 了能够对数据库schema成功地进行重构,开发人员需要在他们自己的一个物理沙盒中工作,其中有一份需要改进的源代码拷贝,一份需要改进的数据库拷贝。 每个人都拥有自己的环境,这使他们能够安全地进行变更,对变更进行测试,以及采用或退出变更。当他们确信的一个数据库重构是可行的,他们会将其提升到他们 的共享项目环境中,对其进行测试,并将其置于变更管理控制之下,以便让团队中的其他成员能够得到它。然后,团队提升他们的工作,放入到演示环境或投入生产 前的测试环境中,这些工作也包括了所有的数据库重构。这种提升(promotion)通常在每个开发周期中发生一次,也许在你的开发环境中也可能多次发 生,或很少发生(你越是频繁地提升你的系统,就越可能得到有价值的反馈)。最后,如果你的系统通过了验收测试和系统测试,它将被部署到生产环境中去。第4 章将详细地介绍该提升/部署过程。
原文地址:https://www.cnblogs.com/shihao/p/2467370.html