各类代码验收Gate分别检查什么
Gate 是决定能否继续、合并或发布的验收关卡,各名称并非统一行业标准,检查范围与通过条件需以项目脚本为准。
要点
- 环境门检查运行版本、依赖、数据库和环境变量等后续验证条件;环境阻塞不能直接判为代码错误,也不能算测试通过。
- 静态门检查格式、lint 和静态分析,如 gofmt、go vet./...;编译门用 go build./... 检查可构建性,两者通过都不能证明业务逻辑正确。
- 性能门比较相同机器和负载下的延迟、吞吐量与内存分配,结合预热、重复测量和环境噪声判断回退;阻断阈值由项目规定,不能凭单次快慢下结论。
- consumer gate 验证下游使用方兼容性,可构建真实下游、运行调用方测试或消费者驱动契约测试;consumer 不一定指消息队列消费者。
- race gate 检测数据竞争,Go 常用 go test -race./...;仅覆盖实际运行触发的竞争,通过不代表没有并发 bug、死锁或业务竞态。
- full gate 汇总项目规定的完整检查,不一定包含性能测试;验收还需核对规则变更和实际执行记录,删测试、放宽阈值或跳过下游验证不等于修好代码,未执行不能算通过。