我们一直在思考一个可以用近乎实时的数据(比如最多一周前)测试 UAT 的想法。我坚信开发和 QA 环境应该控制自己的数据,但是 UAT(生产前的最后一层)代表了一个灰色地带。所以我的问题是:
a) 这是个好主意吗?我想是的,但有一个挥之不去的怀疑。
b) 如果是这样,人们过去使用过哪些经过验证的技术?
- 通过 SqlCompare 或类似工具手动
- 通过脚本自动化?
- 您如何处理 UAT/生产之间的模式变化(UAT 几乎总是领先于生产,除非在实时部署之后立即出现)?
我们一直在思考一个可以用近乎实时的数据(比如最多一周前)测试 UAT 的想法。我坚信开发和 QA 环境应该控制自己的数据,但是 UAT(生产前的最后一层)代表了一个灰色地带。所以我的问题是:
a) 这是个好主意吗?我想是的,但有一个挥之不去的怀疑。
b) 如果是这样,人们过去使用过哪些经过验证的技术?
(假设 OP 打算持续、实时的模式和数据同步)
简短的回答:
基本原理
通过“镜像”,我假设您不是指实时直接镜像或复制(UAT 测试通常需要设置会被覆盖的艰苦数据测试用例)。
以下是我们在企业环境 FWIW 中的做法(我们的环境是 Dev -> QA -> UAT -> Prod)
以规定的时间间隔,通常大约 1 个月的时间间隔
其他一些注意事项
只是关于同步模式的“脚本”周期的注释 - 在我们的环境中:
这是我们为我工作的最后一家公司所做的事情。我们有许多州政府项目和合同。这是我们在某些项目中使用的环境级别的示例。在下面的示例中,QA 是为我们服务的,UAT 是为客户服务的,Pre-Prod 是我们有时创建的另一个环境,但并非总是如此;只是取决于项目。
DEV ==> QA==> UAT==> PRE-PROD ==> PROD
一旦所有数据都得到验证,我们就会从 Prod 复制到 UAT 和 QA 中的几乎所有内容,包括任何与 DB 相关的内容。
我们还有一个为某些方面编写的工具,而不必总是使用 SQL。我们有一个基于网络的程序,我不记得它是用什么写的。我们称之为 CTM - 控制表管理。在那里,我们可以在表格中滚动某些更改,例如更新、更正、下拉菜单、拼写和语法错误,实际上只是任何杂项。任何事物。有单选按钮来提交更改和框来检查您想要将更改滚动到哪些环境。
希望这对那里的任何人都有帮助或给人们一些想法。:-)
谢谢,
约翰