云原生测试核心

共 19 题
#

1. Kubernetes Operator 测试框架 envtest 的工作原理,如何在不启动完整集群的情况下测试 Reconcile 逻辑?fake client 与 envtest 的取舍?

A fake client 支持真实 watch 与 webhook
B envtest 比 fake client 更快更轻
C envtest 无法安装 CRD
D envtest 用真实 apiserver+etcd 提供真实语义,fake client 是内存模拟 ✓ 正确答案
#

2. Kubernetes 集群升级与回滚的测试,升级演练、应用兼容性验证与回滚预案如何设计

A 升级失败无需回滚预案
B 集群升级无需验证应用兼容性
C 应覆盖升级演练、应用兼容性验证与回滚预案 ✓ 正确答案
D 升级只需关注控制面,无需关注节点
#

3. Service Mesh 配置测试,如何验证 Istio VirtualService/DestinationRule 的路由规则、重试策略和熔断配置的正确性?

A 重试策略只需配置无需测试
B 熔断配置无法验证
C 路由规则无需验证
D 用故障注入验证重试/熔断,用流量断言验证路由规则 ✓ 正确答案
#

4. GitOps 漂移检测(Drift Detection)测试,如何验证 ArgoCD/Flux 能正确检测并修复集群状态与 Git 声明的偏差?漂移检测的触发机制和修复策略?

A 修复策略不会误删资源
B 漂移检测无需验证触发机制
C GitOps 无需检测漂移
D 应验证偏差被检测、触发机制、修复策略与 prune 安全 ✓ 正确答案
#

5. K8s 网络策略(NetworkPolicy)与多租户隔离的测试,如何验证跨命名空间访问被正确阻断

A 用真实流量验证跨命名空间/跨租户访问被正确阻断 ✓ 正确答案
B 跨命名空间访问默认应放行
C 多租户隔离无需策略
D NetworkPolicy 无需验证实际生效
#

6. 声明式配置的测试,Helm/Kustomize 渲染结果的断言方法与 golden file 管理?

A 模板无需验证
B golden file 无需审查随意更新
C 用渲染断言与 golden file 快照对比验证模板,变更需审查 ✓ 正确答案
D 渲染结果无需校验合法性
#

7. Policy-as-Code 的测试,OPA/Gatekeeper 策略的规则单测与准入拦截验证?

A 策略违规资源应被允许
B 准入拦截无需验证
C 策略测试无需单测
D 用 rego 单测验证规则逻辑,集成测试验证准入拦截 ✓ 正确答案
#

8. 云原生应用的弹性伸缩测试,HPA/VPA 配置下如何验证副本数随负载正确伸缩,缩容时优雅排空与流量摘除如何验证?

A 验证负载下扩容/缩容正确,缩容时优雅排空与流量摘除 ✓ 正确答案
B 缩容可直接终止 Pod 无需摘除流量
C HPA 伸缩无需验证延迟
D 缩容时无需优雅排空
#

9. 命名空间资源配额测试,LimitRange 与 ResourceQuota 下超限行为(拒绝创建、OOM)如何验证,配额变更的影响如何回归?

A 超限资源应被允许创建
B 配额变更无需回归
C 内存超限不会 OOM
D 验证超限创建被拒绝、内存超限 OOM、配额变更后行为正确 ✓ 正确答案
#

10. 云原生环境下的安全测试特殊考量,容器逃逸、供应链攻击、配置漂移的测试方法?

A 供应链镜像无需签名验证
B 容器无需权限限制
C 验证容器逃逸防护、供应链可信、安全配置不漂移 ✓ 正确答案
D 安全配置漂移无需纠正
#

11. 测试环境与基础设施即代码(IaC)的测试验证方法?

A 用静态校验、单元测试、集成验证、plan 断言与漂移检测 ✓ 正确答案
B 漂移检测与 IaC 无关
C terraform plan 无需验证
D IaC 变更无需测试
#

12. 多集群(Multi-Cluster)测试策略,如何验证跨集群的服务发现、流量切换和故障转移?联邦集群(Federation)场景的测试设计?

A 联邦集群无需验证同步
B 验证跨集群服务发现、流量切换、故障转移与联邦同步 ✓ 正确答案
C 跨集群数据无需一致
D 多集群无需故障转移
#

13. 云原生测试的隔离与成本?

A 测试环境应与生产共享
B 测试数据无需隔离
C 测试环境应长期占用不销毁
D 用命名空间隔离与按需环境生命周期管理控制成本 ✓ 正确答案
#

14. Kubernetes CRD 的 Schema 校验测试,如何验证自定义资源的字段约束与默认值行为?

A 验证字段约束违规被拒、缺省字段填默认值、合法 CR 通过 ✓ 正确答案
B CRD 无需校验字段
C 默认值不会自动填充
D 非法 CR 应被接受
#

15. 云原生应用的升级兼容性测试,K8s API 版本废弃、CRD 版本转换与集群升级的影响验证?

A API 废弃不影响应用
B 验证废弃 API 影响、CRD 版本转换正确、集群升级后应用正常 ✓ 正确答案
C 集群升级无需预检废弃 API
D CRD 版本转换无需验证数据不丢失
#

16. 云原生应用的测试数据管理,CR 对象、Operator 状态与配置数据如何随测试环境隔离?

A 测试数据无需清理
B 配置数据无需隔离
C CR 对象、Operator 状态与配置数据随测试环境隔离 ✓ 正确答案
D 测试 CR 可污染生产对象
#

17. 云原生应用的多集群可移植性测试,多云/多集群部署差异如何系统验证?

A 应用无需考虑供应商锁定
B 云资源差异不影响可移植性
C 用部署矩阵验证多云/多集群部署与环境差异 ✓ 正确答案
D 可移植性测试无需多环境部署
#

18. 云原生测试的观测闭环,测试结果与 Prometheus/Grafana 可观测平台如何打通?

A 测试结果上报 Prometheus/Grafana,与告警联动并驱动改进 ✓ 正确答案
B 测试结果无需接入可观测平台
C 测试与观测数据相互独立
D 观测平台无法驱动测试改进
#

19. 云原生应用的无状态化验证,如何测试应用是否将会话、文件与缓存等状态外置,以支撑 Pod 重启与水平扩展?

A 无状态化无需验证水平扩展
B 验证会话/文件/缓存外置,Pod 重启不丢状态、水平扩展正常 ✓ 正确答案
C 应用状态可存储在本地内存
D Pod 重启后状态可以丢失