在为其他人开发Web应用程序时,多个测试环境是个好主意。但是,不同的开发团队对每个环境的含义有不同的定义。
目前,我喜欢保持简单,并且有一个开发环境(我的本地机器),一个临时环境(在我将应用程序部署到世界之前的某个人),然后是生产环境。虽然在更多的环境中可能有价值,但我现在要坚持这三个。
我的主要问题是:
哪些属性适合 在定义登台环境时?
但是,这里有一些相关的问题:
答案 0 :(得分:11)
我建议您的暂存环境尽可能地与您的生产环境相似。
如果您为数据库和Web服务器使用单独的服务器,请尝试将其保留在暂存中,如果您使用负载均衡器,请尝试将其配置为暂存等等。
但根据我的经验,情况并非如此,我们的临时环境在硬件方面总是比生产环境更不强大。这样做的问题是你无法测试每个功能,并确保生产工作相同。
至于你的其他问题:
答案 1 :(得分:10)
对我而言,“升级”的含义是您即将部署到生产环境,因此您需要一个尽可能模仿生产环境的环境,以尽量减少可能由于以下原因而直接导致的任何问题。不同的环境。例如,开发和测试环境可能具有生产环境没有的某些实用程序,或者生产环境可能具有更严格的权限和身份验证,可能会导致应用程序出现问题。
因此,理想的临时环境是生产环境的精确克隆环境(尽管没有公共访问权限)。如果您使用的是虚拟化服务器,那么这应该是微不足道的。如果没有,那么环境应该尽可能地模仿生产环境(应该将应用程序部署到相同的路径,权限应该相同,配置文件应该是生产的副本,等等)。回答你的问题:
答案 2 :(得分:2)
“在定义登台环境时,哪些属性适合?”
技术堆栈必须相同。实际上,您应该能够简单地克隆分段以重建生产。
“Web服务器是否必须位于与数据库不同的物理机器上?”
进行分期?不必要。如果您的配置管理坚如磐石,那么您将拥有所有必要的配置。分段中的参数,并在转移到生产时正确修复它们。
如果你的CM不稳固,你需要升级以获得与生产相同的物理架构,这样你就可以进行配置更改。
“数据库必须与生产数据库完全相同吗?”
取决于用例。如果要升级数据库,则它们不能完全相同。
如果您没有升级数据库,它们将完全相同。
“暂存环境是否可以停止维护?”
为什么不呢?
“可以使用暂存环境来测试新功能(即测试环境)吗?”
必须使用它。你怎么做升级?
答案 3 :(得分:0)
阶段或暂存环境是用于测试的环境,与测试环境完全相似。换句话说,它是生产环境的完整但独立的副本,包括数据库。分段为QA测试提供了真正的基础,因为它精确地再现了生产中的内容。良好实施的临时环境可以定义重要标准并对其进行准确测试。
现在,考虑一个在非生产环境中执行所有测试的测试团队。例如,在大多数软件开发组织中,在生产版本的发布方式上有多个用于开发编码和QA测试的环境。但是,开发和QA测试环境都不具备生产环境的功能。 需要任何帮助,请查看我们的Custom Web Application Development Services