首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >测试和生产环境的最佳实践

测试和生产环境的最佳实践
EN

Stack Overflow用户
提问于 2011-03-13 05:49:01
回答 5查看 31.9K关注 0票数 13

在我工作的公司,我们有两个环境:测试和生产。由于成本的原因,我们目前没有开始一个新的环境。

以下是我们遵循的过程:业务提出功能请求,开发使其发生,并将其部署到测试环境中。然后业务对其进行测试(UAT),如果没有问题,该功能将包含在下一次生产部署中。

问题是测试数据库的最佳实践。开发人员将测试环境视为他们的游乐场,有时为了测试目的,他们会将DB重置为初始状态。另一方面,业务人员认为测试数据库必须是稳定的,不应该被重置。我们希望解决这个问题,并决定测试环境应该属于开发团队还是业务团队。(开发人员不希望业务人员把他们的鼻子放在测试环境中,但业务团队正在为服务器买单。)

关于环境的最佳实践是什么?你能推荐一篇关于这方面的文章吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-03-13 06:03:53

在我们公司也有两个数据库,一个测试数据库和一个生产数据库。测试数据库主要用于开发人员的测试,但有时也用于业务测试。使用生产数据库的实际拷贝每天刷新此数据库。因此,这个数据库既可以是游乐场,也可以是一个严肃的测试数据库。但第三,开发,数据库是最好的选择。我们有一个,但它现在坏了。但是,当你得到一个这样的,你应该确保它是足够频繁的刷新。当开发人员将其用作游乐场时,它将偏离生产环境,其数据将既陈旧又陈旧。正因为如此,开发人员将无法很好地测试自己。因此,请确保定期刷新此数据库(也可能每天刷新一次,或至少每周刷新一次)。

票数 11
EN

Stack Overflow用户

发布于 2017-07-20 00:53:10

我曾在许多公司工作过,每家公司都有一套不同的环境,我最喜欢的一家有5个环境:

1)本地:基本上是你的机器。在这里,您甚至可以在请求同行审核之前对您的更改进行编码和测试。

2) Dev:如果由于某种原因你不能在本地测试你的代码(依赖问题主要是:“我的代码在我的机器上没有编译过,但它在Jenkins/B/Travis中编译得很好”),那么你把你的修改推到你的Git中的feature分支上,然后让竹子编译它,并把它部署到你可以测试的开发服务器上(你仍然不确定它是否可以工作,所以到目前为止还没有同行评审)。

3)阶段性:你认为你的代码可以工作,并且你喜欢它的外观。您创建了一个Pull请求,以便您的同级在它被合并到主分支之前查看它。在这里,他们进行注释,您可以修复可能的问题,因为您可以更确定您的更改,您可以将其部署到临时环境中,在该环境中,存在更多“稳定”的代码,并且更真实的数据存储在任何数据库中。部署后,另一个开发人员/测试人员可以检查您的更改是否实际有效,并使您成为“登台环境中的QA签名”。

4)稳定:好了,现在你非常确定你的更改是有效的,因为你部署到了登台阶段,没有任何东西被破坏。您将您的分支合并到master,然后在一个稳定的环境中将其部署到另一组服务器上(在您完成部署到生产环境之前,其他任何人都不应该合并到master,以避免合并不相关的合并)。此环境应是生产、数据、代码和服务器条件的副本。在这里,您可以向经理、产品负责人或负责人展示您的更改,以便在将其发送到生产之前验证您的工作。你得到了最终的批准,一切都很好,你满头大汗,你已经连续工作了30天来完成这个改变,你的妻子和你离婚了,但你非常有信心它会完美地工作。

5)生产:客户端连接以使用公司服务,或您的软件的最终构建发送给客户。您只需在竹子中单击几下,即可将其部署到生产服务器或编译最终构建。它是绿色的,一切似乎都很好。你查看Splunk寻找错误,一切都很好,生活很好,离开之前你又喝了一口咖啡,你开车回家,整个周末都和你的狗在一起睡觉。

这是一个幸福的结局,因为有如此多的“测试”环境确保了质量,在每个人(不仅仅是你)完全确定更改正在工作之前,没有任何更改可以投入生产。

票数 14
EN

Stack Overflow用户

发布于 2011-11-02 06:03:57

如果可能,在本地机器上为每个开发人员提供他们自己的数据库。这样他们就可以随心所欲地使用它,而不会影响其他任何人。这将显著降低使用测试数据库的需求,为业务UAT提供更稳定的环境。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5285731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档