大公司测试环境也会共用一个测试数据库吗

2022-06-30 12:35:01 +08:00
 sunkai0609

感觉理想状况是每个功能单独一个测试环境,单独的数据库,但这样免不了需要额外的人力来维护数据库

2848 次点击
所在节点    程序员
13 条回复
b1t
2022-06-30 13:34:59 +08:00
可以,但没必要,成本太高了
dcs384371977
2022-06-30 13:35:32 +08:00
我这小公司,用了 gitlab 的一个功能,提交合并请求时会自动创建一套环境出来,数据库从测试环境的数据库拷贝过来,数据和功能都是用你自己提交的,测试可以直接在页面点进去测试,合并代码后这套环境自动停止运行
binge921
2022-06-30 13:40:32 +08:00
4 千人的公司不知道算不算大公司 我们是一个部门一个数据库 微服务那种的 测试环境上部署着不同部门的不同微服务
lovedoing
2022-06-30 13:47:16 +08:00
1 个 DB ,N 个环境,对应 N 个数据库,区别在于生产环境可能是每个 DB 单独的集群,而测试环境是很多 DB 一个集群,对开发来说是单独的数据库,对 DBA 来说其实也只是运维一个集群,并没有增加额外资源
xiaotianhu
2022-06-30 14:12:00 +08:00
4w 人公司,自己把库搭在自己开发机上。
一人一个开发机。
ql562482472
2022-06-30 14:31:45 +08:00
@dcs384371977 能详细说下怎么实现的吗 听起来好像不是一个简单的功能
Velip
2022-06-30 14:57:30 +08:00
@dcs384371977 #2 数据量多咋办呢,一个库起码有上百 G 啊
nothingistrue
2022-06-30 15:04:39 +08:00
测试环境跟生产环境,除了前者修改更迅速外,环境上不能有差别,你生产环境用几个数据库,测试环境就得用一个。

你可能需要的是单元测试的独立数据库。好得单元测试环境,是不需要物理数据库的,临时性的内存数据库即可满足。如果没有那么好的单元测试环境,那就只能本机开个人数据库了,公司或者团队不会提供的,成本不是一般的高。
balabalaguguji
2022-06-30 15:23:24 +08:00
用 docker 隔离每个测试环境
lazyfighter
2022-06-30 15:31:03 +08:00
数据库都是共用,2 周一个版本,需要合并到一起进行测试,
dcs384371977
2022-06-30 15:53:29 +08:00
@ql562482472 可以参考下 gitlab 的 environment 功能,写 ci 脚本来自动部署的

@Velip 我说的这种情况是参考于题主问出的这种类似单元测试的问题,如果数据量很大的话,是不是可以考虑只生成部分数据用来测试,不需要全部数据呢
simonlu9
2022-06-30 16:45:28 +08:00
小公司没那么多资源,很难搭多套环境,都是共用一个 test 分支
Suddoo
2022-06-30 16:51:49 +08:00
每个功能一个环境,n 个环境之间咋同步,你确定自己的功能不依赖别的服务或者模块,自己玩就可以了?

如果别人负责的模块阻塞了你调试,只能叫负责那个模块的同事到你的环境上帮你改配置、改表结构、更新代码……这样其实效率很低的

如果别人负责的模块在自己他的环境更新了,而你的环境上还是老的代码,在此基础上,你验自己功能没问题,实际上、换到他的环境上、就能验出来问题

实际上就是应该所有人共用一套环境

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/863167

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX