【发布时间】:2012-12-08 01:46:15
【问题描述】:
这个问题的主要目标是确定在实时网站旁边部署稍微修改的网站版本的缺陷。
这个二级网站会从与现场相同的数据库中提取,但会为 beta 测试人员修改功能。
最终目标是允许某些客户使用他们的数据测试我们的新功能。
所以:
- 他们不必重复访问网站的复制版本。
- 他们使用熟悉的数据集
另一种可能性是为每个用户帐户设置一个标志以允许他们查看某些功能,但这需要大量额外的工作。此外,一旦它准备好发布,我们将不得不删除所有额外的检查。
我很难看出这样做的缺点,但我知道肯定有一些人在盯着我看。感谢您提供任何帮助。
Git 版本控制、Capistrano 部署工作流程、Cakephp 框架、MySql 我们目前拥有独立于生产服务器的本地和测试服务器。
编辑 2012 年 12 月 20 日上午 10:30 EST
根据一些 cmets 和一个答案,我有一个基于反馈的更新。
- 在“beta”/用户反馈测试之前应进行细致的内部测试。 (我们已经这样做了)
- 如果我们采取这些预防措施并且代码库看起来很可靠,那么与生产服务器一起部署的风险是可以控制的。我们在这里是在一个框架内工作,因此大量删除和坏 sql 的可能性相对较低。
话虽如此,我宁愿不采用这种方法,因为它仍然存在固有风险。是否有人以其他方式对实时服务器数据进行 beta 测试?
【问题讨论】:
-
如果还是 beta 代码,有可能由于代码未完全测试而导致数据丢失。为此,在同一个数据库上可能是一个问题。
-
Beta 代码绝对不能在生产数据库上运行。它可能工作正常,但它可能会使您的数据库陷入混乱,一旦您的客户决定他们不喜欢/不需要这些功能,您就无法返回。话虽如此,如果您修改的主要是 UI,并且底层功能相同,我想您甚至可以将其完成。
-
如果您希望您的 beta 测试人员在实时数据库中进行更新,您可以考虑一些数据复制,但恕我直言,这不是一个好主意。
-
像谷歌这样允许 Beta 测试人员使用新界面的网站呢?我记得当新的分析发布时,我可以很容易地在两者之间切换。他们必须有一些数据库差异......知道他们是如何做到的吗?
-
您应该仍然有一个开发、演示/测试和实时服务器。即使是谷歌实验室的功能在启用之前也会经过严格的内部测试。话虽如此,您仍然可以拥有一个与同一数据库交互的 beta 接口,但前提是它已经通过了其他测试周期。
标签: php git cakephp testing beta