扁桃体发炎吃什么药好得快| 耳朵痒是什么原因引起的| baron是什么意思| 9月13号是什么星座| 现在最火的歌是什么| 女生没有腋毛代表什么| 居高临下是什么意思| 手上的三条线分别代表什么| 苏醒是什么意思| 殁年是什么意思| 连云港有什么特产| 临床是什么意思| 下午五点到七点是什么时辰| 乳腺癌三期是什么意思| 转氨酶高吃什么| 兵工厂属于什么单位| 双侧半卵圆中心缺血灶是什么意思| 人为什么会脸红| 跑步后尿血是什么情况| 做什么动作可以长高| 射手座是什么象| 先兆流产是什么原因| nt检查需要注意什么| 痛风吃什么药最好| 一产二产三产分别包括什么| 宝宝细菌感染吃什么药| 7.11是什么日子| 肾彩超能查出什么| 高铁和地铁有什么区别| 杨树林是什么牌子| 男生为什么要割包皮| 被螨虫咬了用什么药膏| 冬虫虫念什么| 心率用什么字母表示| 结婚前一天晚上的宴会叫什么| 处女座跟什么星座最配| 小肚子发胀是什么原因女性| 狼入虎口是什么意思| 市场部是做什么的| 品牌是什么| 颈椎用什么字母表示| 甲鱼吃什么食物| 心跳不规律是什么原因| 党参不能和什么一起吃| 潼字五行属什么| 男性吃什么可以壮阳| 为什么有两个六月| 乙型肝炎e抗体阳性是什么意思| 做梦梦到蜈蚣是什么意思| 孕妇可以吃什么感冒药| 黑海为什么叫黑海| 欧阳修是什么居士| newbee什么意思| 牛仔裙配什么上衣好看| 为什么会得甲沟炎| 苏轼是什么居士| 什么叫夏至| 顺理成章是什么意思| 堂哥的女儿叫什么| 风信子的花语是什么| 天秤座什么象星座| 建档挂什么科| 湿疹为什么一热就出来| 脱臼是什么感觉| 大红袍属于什么档次| 91是什么意思| 脸肿挂什么科| 医生为什么穿白大褂| 手机飞行模式是什么意思| 肛门坠胀吃什么消炎药| 原始分是什么意思| 什么话| 晚字五行属什么| 十一月九号是什么星座| 门字五行属什么| 外阴炎用什么药| 钟馗是什么意思| 犹豫不决是什么生肖| 坐支是什么意思| 月经期吃什么水果| 南方元旦吃什么| 洋气是什么意思| 早些泄挂什么科| 的五行属什么| 什么是假性近视| 肚子疼发烧是什么病症| 清洁度lv是什么意思| sunny是什么意思| 鸟吃什么东西| 枸杞和山楂泡水喝有什么功效| 头发秃一块是什么原因| 美好的近义词是什么| 小孩咳嗽有痰吃什么药| 先兆性流产有什么症状| 制加手念什么| 什么是大健康产业| 78年的马是什么命| 莎莎舞是什么意思| 女生体毛多是什么原因| 帕金森是什么| 核磁共振检查什么| 细佬是什么意思| 乌龟能吃什么水果| 手机NFC什么意思| 安慰是什么意思| 纤维灶是什么意思| 吃饭出虚汗是什么原因| 什么水果含糖量低| 狗被蜱虫咬了有什么症状| 琼花是什么意思| 什么是抗氧化| 什么叫丹毒| 糙皮病是什么病| 吃什么能补气血| 膀胱炎吃什么药最见效| 华堂是什么意思| 隔离霜和防晒霜有什么区别| 雪花飘飘北风萧萧是什么歌| 手上有红点是什么原因| 职业病是什么意思| 甲亢吃什么药| 什么样的小鸟| 媾是什么意思| 氢什么意思| 总胆红素是什么意思| 痛风急性发作期吃什么药| 狗为什么不能吃洋葱| 8月9号是什么星座| 簇新是什么意思| 嘴唇是紫色的是什么原因| 办理暂住证需要什么材料| 盐酸利多卡因是什么药| 舌苔白厚腻吃什么药见效快| 维生素h是什么| 禾真念什么| 什么的水珠| 什么是尿常规检查| 考研复试是什么意思| 面黄肌瘦是什么意思| 蕊五行属什么| 肚脐下方疼是什么原因| 流口水是什么病的前兆| 手发胀是什么前兆| 美容行业五行属什么| 什么是地沟油| 上海属于什么方向| 没有斗代表什么| 素描是什么意思| 马步鱼是什么鱼| 见字五行属什么| 胡椒粉是什么做的| 什么是野鸡大学| 好马不吃回头草什么意思| 买碗有什么讲究| 宁字五行属什么的| 为什么男怕招风耳| mchc是什么意思| 血压高看什么科| 522是什么意思| 妇科炎症吃什么药最好| 梦见捡金首饰是什么意思| 开水烫伤用什么药膏好得快| 人造革是什么材质| 孕妇缺铁吃什么食物好| 笔画最多的字是什么| 糖精是什么| 晏殊字什么| 打耳洞什么季节最好| 孩子高烧不退是什么原因| pc是什么单位| 林黛玉属什么生肖| 化疗后吃什么补白细胞| 养胃吃什么| 手指上的月牙代表什么| 膛目结舌是什么意思| 心肌缺血吃什么中药| 脂溢性脱发用什么洗发水好| 新生儿甲状腺偏高有什么影响| 什么花在什么时间开| 儿童干咳吃什么药效果好| geya是什么牌子的手表| 什么样的太阳| 母亲节说什么| 吃什么可以长高| 喝蒲公英茶有什么作用| 守旧是什么意思| 脑梗不能吃什么东西| 回民为什么不吃猪| 西地那非是什么| 粽子用什么叶子包| 石榴叶子泡水喝有什么功效| 五更是什么生肖| 438是什么意思| 西洋参吃多了有什么副作用| 手心发热是什么原因| 气血不足挂什么科| 三角形为什么具有稳定性| 柿子不能跟什么一起吃| 营养不良吃什么药| 尿中有泡沫是什么原因| 杏鲍菇不能和什么一起吃| 100年前是什么朝代| 胸痹是什么意思| 呵呵哒什么意思| 什么喷剂延时最好| 非淋菌尿道炎用什么药| 艾灸是什么| 口若悬河什么意思| 男人阳气不足有什么症状| model是什么意思| 睡久了头疼是什么原因| 脚气去医院挂什么科| 眼睛肿胀是什么原因| 转归是什么意思| 甲亢是什么原因导致的| 虎斑猫是什么品种| 澳大利亚有什么特产| 恶寒是什么意思| 魏征字什么| 拉条子是什么意思| 气场强大是什么意思| 膝盖酸软是什么原因| 炒牛肉用什么配菜| 男人做噩梦是什么预兆| 小孩嘴唇发红是什么原因| 全棉和纯棉有什么区别| 里番是什么| 脱发严重是什么原因| 你是我的楼兰是什么意思| pearl什么意思| 樟脑是什么东西| 拔完牙后能吃什么| 琼字代表什么生肖| 湿气太重吃什么药| 反差萌是什么意思| 红蜘蛛是什么虫| 有恃无恐什么意思啊| 痛风挂什么科就医| 结节病变是什么意思| 有机奶粉是什么意思| 什么样属于轻度地包天| 自怨自艾什么意思| 辽国是现在的什么地方| 尿管痒是什么原因| 右耳烫代表什么预兆| 高血压是什么原因造成的| 白猫来家里有什么预兆| 精神紊乱吃什么药| 辣子鸡属于什么菜系| zoe什么意思| 什么的鸭子| 飘了是什么意思| 精忠报国是什么生肖| 神经性皮炎是什么原因引起的| barbie是什么意思| 吃什么促进排便| 男性性功能减退吃什么药| 冷面是用什么面做的| 杏色配什么颜色好看| 姜红枣红糖一起煮有什么效果| 女性绝经前有什么症状| 宫颈糜烂用什么药好得快| 二级以上医院是什么意思| 如果你是什么那快乐就是什么| 百度

测试基础 测试环境测试与正式环境的问题

斯拉 · 2025-08-06 · 最后由 黑水 回复于 2025-08-06 · 4799 次阅读

背景

百度 尿急是什么症状

测试环境 对于产品的功能业务流程测试正常通过,发布到正式环境后 纳尼 出现了 问题!!!!1

解决方案

大家对于 测试环境与 正式环境 不同环境下 出现 的问题有什么好的解决方案。

共收到 16 条回复 时间 点赞

这个环境指的是服务还是指终端?

公司用的测试环境都是自己做的带不同软件的 GHOST,-。-好像没什么问题发现过

1,后端现在一般是把 server 放到容器里面,数据库使用同样的版本和表结构(涉及数据依赖变更的需要运维人员和 dba 处理)。 cache 等等我都是测试环境和正式环境只有容量和分布数量的不同,不存在版本和其他的不同。
ps:你这咋上线的,变更和修改不拉清单 check?

一般来说,这类问题会集中在数据库的旧数据兼容问题以及配置项没有对应做好变更。

能具体说下你们的问题是什么吗?这样信息量有点少,引不起讨论。

简单做法,一个 beta 环境,用线上的同一套环境,beta 环境验证 ok,上线就是很简单的事情了

—— 来自 TesterHome 官方 安卓客户端

斯拉 #6 · 2025-08-06 Author
CC 回复

我们现在 的做法是 线上环境的数据会定期迁移到测试环境 ,测试环境与正式环境的数据有个时间差 来模拟线上环境进行测试确保业务正常 不知道这种做法合适吗

斯拉 #7 · 2025-08-06 Author
陈恒捷 回复

我觉得这种问题可能是 不同环境 数据的不同 导致出现 的不知道 考虑的对不对

斯拉 回复

需要具体问题具体分析。我只是说我们常遇到的问题。

你们遇到的正式环境能出现,但测试环境不能出现的问题有哪些?具体原因是什么?

PS:无论怎么模拟,线上终究会和测试环境有区别的。建议通过增加灰度测试环节来降低这类环境问题出现的影响面。

@chenhengjie123 说的对 你要先汇总下问题 对症下药 环境的差异多是代码 配置 数据不一致导致的 每个都有对策 我感觉还是你们的环境没管理好

这个问题在我们这还真有段历史了。 过程不表了, 直接说我们的方案吧。 我们测试环境和线上 SAAS 都是用 docker+k8s 部署的,所以直接解决了环境不同的问题,开发,测试,线上用的都是一个镜像。 对于客户方的私有云部署, 我们有专门的部署测试。

孙高飞 回复

这种方式挺不错,可以解决配置问题,但历史数据问题如何解决?

最近线上出现了一次异常,原因是一些数个版本前的数据库数据不是以 json 字符串形式存储的,而新的开发不清楚这个,没有对应加上 json 字符串校验,导致读取解析时报错。

这些数据大概是半年前的,测试环境也没有,是开发通过线上异常预警才发现的,所以测试环境也很难发现。

斯拉 #9 · 2025-08-06 Author
孙高飞 回复

可以尝试下

陈恒捷 回复

针对这种情况我们是专门做的 migration 测试,我在上上家公司的时候,开发会专门研发出版本升级时的 migration 程序。而我们会有一个专门的拥有数据的环境进行测试 (环境部分我不太清楚,是美国那边的人搞得,据说是他们做的数据快照)。 而我现在的公司的做法比较类似,我们在不同客户那的版本是不同的 (TO B 业务),而客户那时常会有版本升级的需求。 所以如果新版本数据库的变动和 hadoop 的更改不兼容老版本的话,就要在升级工具中引入 migration(刷数据)。所以开发那边专门做了升级框架,每个版本都有对应的升级到下一个版本的机制。 而相应的,测试这边就要对每个版本进行升级测试。 方法很暴力,因为我们是用 docker+k8s 部署的测试环境,所以每个版本的镜像我都存到镜像仓库里了。 我可以随时部署任何版本的全套环境。 部署完旧版本环境后开始跑自动化 (全量的,能造多少数据就造多少)。跑完自动化后开始升级,升级后继续跑自动化 (同样的 case,还是全量的),然后配合手动的方式上去验证老数据是否正常,老任务是否能够重新运行等等,反正就是验证升级并没有影响老的数据。 验证完升级以后接着验证降级,套路都差不多。 这是我们 TO B 业务的玩法

陈恒捷 回复

Rails 的话,迁徙代码:
change_column_null(:users, :nickname, false, 'nickname')

把 users 表的 nickname 列设置为不可为 Null,如果有行 nickname 为 Null ,则把它设为 'nickname'
这算是 Rails 提供的 “最佳实践” 吧

如果有两个团队开发了两个应用,都在直接读写数据库使用 nickname 这一列,历史数据中有 nickname 为 Null 。
一个团队需要 nickname 不为 Null ,已经开发完成准备上线,另一个团队一个月后才能开发这个变更。
为了这一个月,第一个团队需要在应用代码中处理两种情况……
这个坑其实在 “两个应用都直接读写数据库” 的时候就挖好了。

如果还不能从根源解决,但能做到《持续交付》里说的,每次数据或数据结构变更必须使用在版本控制系统中的 SQL 文件完成。部署测试环境的时候就能知道有变更,对涉及的测试用例用两份数据执行两次。
目的不明确的视角 13 楼方法挺好。

黑水 回复

感谢分享,这个实践不错。

我们的场景是这个是日志表,数据类型只是指定了使用 varchar ,但具体格式没有要求是 json ,是从某个版本开始要求全部用 json 字符串。所以后面的这个同学读取的时候直接就用 json 库解析了,遇到那个版本前的旧数据就跪了。

陈恒捷 回复

如果原来也是格式化的数据,应该也很容易转成 json
404 NotFound 20170801 转成 {"code": "404", "descript": "NotFound", "date": "20170801"}

不过不幸的团队各有各的不幸??

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
太燃了是什么意思 闭关修炼是什么意思 本帮菜是什么意思 羲什么意思 独一无二指什么生肖
喝冰美式有什么好处 最快的速度是什么 弟妹是什么意思 圣诞是什么意思 zzegna是什么牌子价格
胃不舒服挂什么科 贫血是什么 空腹胰岛素高是什么原因 12月26日是什么星座 散射光是什么意思
文理分科什么时候开始 西门子洗衣机不脱水是什么原因 编者按是什么 满人是什么民族 鼻子出汗是什么原因
自理是什么意思aiwuzhiyu.com 小腿前面的骨头叫什么hanqikai.com 狼吞虎咽的意思是什么hcv7jop6ns9r.cn 头疼挂什么科hcv9jop4ns0r.cn 婴儿睡觉头上出汗多是什么原因zsyouku.com
成吉思汗什么意思hcv9jop1ns8r.cn 头发长的快是什么原因hcv9jop4ns1r.cn 舌头不舒服是什么原因引起的hcv8jop0ns5r.cn 小孩坐火车需要什么证件hcv9jop2ns2r.cn 什么字最难写xinjiangjialails.com
感染梅毒有什么症状hcv8jop3ns0r.cn 北京市市长是什么级别hcv9jop4ns4r.cn 什么时候放开二胎政策hcv7jop9ns9r.cn 月子里吃什么饭最好hcv7jop6ns4r.cn 消化酶是什么hcv8jop2ns9r.cn
褒义是什么意思gangsutong.com 日加匀念什么xinmaowt.com 梅花什么季节开hcv9jop0ns3r.cn 喝冰水牙疼是什么原因hcv9jop1ns0r.cn 罗嘉良为什么娶苏岩hcv8jop4ns1r.cn
百度