# 1. 测试环境一致性,开发、测试、预生产、生产环境的差异管理和配置漂移检测? A 各环境应追求完全一致,现实中可轻易做到 B 通过配置即代码声明期望状态并定期检测漂移,可让环境差异可控、可追溯 ✓ 正确答案 C 配置漂移不会影响测试结果,可忽略 D 环境差异只能靠手工维护,无法自动化管理
# 2. 临时环境(Ephemeral/Preview Environments)的实践,如何为每个 PR 自动创建隔离的完整环境(如 Vercel Preview、Namespace-per-PR)?生命周期管理和资源回收? A 临时环境应长期保留,避免频繁重建 B 临时环境只能用于前端,无法部署完整后端 C 为每个 PR 自动创建隔离环境,绑定 PR 状态并在合并/关闭后自动回收,可提升反馈效率 ✓ 正确答案 D 临时环境无需配置数据,直接复用生产数据即可
# 3. 测试容器化,Docker/K8s 在测试环境管理中的应用和最佳实践? A 通过镜像版本化、依赖容器化与 K8s 命名空间隔离,可实现可复现、可隔离的测试环境 ✓ 正确答案 B 测试镜像应复用生产镜像,无需任何调整 C 容器化环境必须常驻,不能按需销毁 D 容器化无法保证测试环境的一致性
# 4. 测试环境的'基础设施即代码'(IaC),Terraform/Pulumi 在环境管理中的价值? A IaC 环境无法自动销毁,只能手动清理 B IaC 与手工搭建环境没有区别,价值不大 C Terraform 使用编程语言编写,Pulumi 使用 HCL D IaC 让环境创建由代码声明,可版本化、可复现、可检测漂移 ✓ 正确答案
# 5. Terraform/Pulumi 在测试环境供给(Provisioning)中的应用,环境模板化、模块化配置、环境间差异参数化的最佳实践? A 每套环境都应复制一份独立代码,避免相互影响 B 环境供给后无需销毁,资源可长期保留 C 环境差异参数化会破坏环境隔离,应避免使用 D 通过环境模板化、模块化配置与差异参数化,可用一份代码供给多环境 ✓ 正确答案
# 6. Service Mesh(Istio/Linkerd)实现测试隔离,如何通过流量路由规则在共享集群中为每个测试套件创建逻辑隔离环境?Header-based routing 的实现? A 通过 header 标识 + 路由规则,可在共享集群中为每个测试套件创建逻辑隔离环境 ✓ 正确答案 B Service Mesh 只能实现物理隔离,无法逻辑隔离 C Header-based routing 无需全链路透传 header 即可生效 D Service Mesh 隔离会增加大量资源开销,不适合并行测试
# 7. 多环境策略,开发/测试/预发/生产的配置差异管理(config as code),环境漂移如何检测与修复? A 各环境配置应完全相同,不应有差异 B 通过 config as code 声明差异并用 IaC 检测漂移,可让配置可控、漂移可修复 ✓ 正确答案 C 配置差异应隐藏维护,避免暴露给其他环境 D 环境漂移主要靠人工检查,无法自动检测
# 8. 环境即服务,按需创建/销毁、容器化环境、环境共享与隔离的成本权衡? A 所有测试都应使用完全隔离的环境,成本无所谓 B 容器化环境无法按需销毁,只能常驻 C 环境共享不会造成任何数据冲突,可放心使用 D 通过按需创建/销毁与共享/隔离分级,可在成本与干扰之间取得平衡 ✓ 正确答案
# 9. 测试环境的数据快照与恢复,数据库备份/恢复、脱敏数据重灌如何支撑环境重建? A 环境污染后只能手工修复,无法快速恢复 B 快照无需管理版本,可保留任意多份 C 通过数据库快照恢复与脱敏数据重灌,可快速重建环境到基线状态 ✓ 正确答案 D 重灌数据后无需校验,直接使用即可
# 10. 测试环境规格与生产的差异管理,硬件规格、副本数与中间件版本不同对功能与性能结果的影响如何评估与标注? A 应标注环境规格,性能结论用相对基准表述,并区分功能与性能验证 ✓ 正确答案 B 中间件版本差异对功能无任何影响,无需关注 C 副本数只影响部署,不影响性能结果 D 低规格环境测出的性能绝对值可直接代表生产水平
# 11. 测试环境故障排查的标准流程,依赖挂起、数据错乱与网络不通时的分层排查顺序与常见原因清单如何沉淀? A 故障排查应直接从代码层面开始,先看应用逻辑 B 按"基础设施→网络→依赖→应用→数据"分层排查,并把高频原因沉淀为清单,可快速定位 ✓ 正确答案 C 网络不通只可能是端口问题,无需检查其他 D 数据错乱与并发无关,一定是数据本身错误
# 12. 测试环境的成本优化,按需创建、自动休眠、环境池化的实现方案? A 环境应持续运行,避免频繁创建销毁的麻烦 B 环境池化会增加每个环境的成本,应避免使用 C 按需创建、自动休眠与环境池化可显著减少闲置资源浪费 ✓ 正确答案 D 成本优化只影响费用,不影响资源使用效率
# 13. 环境漂移检测(Environment Drift Detection),如何持续比对测试环境与生产环境的配置差异?工具(Driftctl/Checkov/tfsec)和告警机制? A Driftctl 用于检测 IaC 声明与实际资源的漂移,与安全扫描不同 ✓ 正确答案 B Checkov 用于检测运行时漂移,Driftctl 用于安全扫描 C 漂移检测只能发现差异,无法触发告警或修复 D 环境漂移检测只需做一次,无需持续进行
# 14. 测试数据与环境的联动,数据脱敏、快照恢复与种子数据在环境生命周期中的管理? A 种子数据、快照与脱敏应独立管理,互不关联 B 数据随环境生命周期协同:建环境灌种子、污染时快照恢复、销毁时回收,保证全程合规 ✓ 正确答案 C 快照只能在环境创建时使用,运行中无法恢复 D 环境销毁时数据无需回收,可留作备份
# 15. 测试环境的 SLA 与可用性管理,环境故障的响应分级与恢复流程? A 所有测试环境应享有相同的 SLA,无需分级 B 环境故障无需记录恢复时间,不影响 SLA 统计 C 故障响应分级只影响通知,不影响资源投入 D 按环境重要性分级设定 SLA,故障分级响应并联通恢复闭环,可保证可用性可度量 ✓ 正确答案
# 16. 测试环境的权限与安全,多团队共用环境的资源隔离、凭据管理与操作审计? A 多团队之间无需隔离,共享资源即可 B 测试环境凭据可明文保存,方便取用 C 高风险操作无需审批,任何人可执行 D 通过命名空间隔离、集中凭据管理、最小权限与操作审计,可保障共用环境安全 ✓ 正确答案
# 17. 测试环境的健康检查探针,关键依赖可用性、版本一致性如何自动化巡检? A liveness 探针判断服务是否就绪可接收流量 B 健康检查探针只能检测应用存活,无法检测依赖 C 通过 liveness/readiness 探针巡检依赖可用性,并结合版本比对防漂移,可自动化发现环境问题 ✓ 正确答案 D 版本一致性无法自动化巡检,只能人工比对
# 18. 测试环境与生产的时钟一致性,定时任务、日切与时间敏感逻辑对环境的时钟与时区要求如何验证? A 测试环境时区无关紧要,只要功能逻辑正确即可 B 定时任务只依赖真实时钟,无法用时间注入验证 C 测试环境无需同步时钟,时钟漂移不影响测试 D 通过时区一致处理、NTP 时钟同步与时间注入,可正确验证日切、定时任务等时间敏感逻辑 ✓ 正确答案