API 网关是微服务架构的流量入口,负责路由转发、认证鉴权、限流熔断、协议转换等关键功能。网关的稳定性直接决定了整个系统的可用性,因此 API 网关测试是微服务测试体系中优先级最高的环节之一。
在银行系统中,API 网关还需要对接第三方支付、监管报送等外部系统,测试需同时覆盖南北向流量(客户端→网关→服务)和东西向流量(服务间通过网关互通)。
KongAPISIXSpring Cloud Gateway限流JWT鉴权| 测试维度 | 验证点 | 优先级 |
|---|---|---|
| 路由转发 | 路径匹配准确性、动态路由更新、负载均衡策略 | P0 |
| 认证鉴权 | JWT 令牌验证与刷新、OAuth2 流程、API Key 校验、RBAC 权限 | P0 |
| 限流熔断 | 令牌桶/漏桶限流、并发控制、熔断降级响应 | P0 |
| 协议转换 | HTTP→gRPC、WebSocket 代理、TCP/UDP 透传 | P1 |
| 日志审计 | 请求日志完整性、敏感信息脱敏、追踪 ID 注入 | P1 |
| 插件扩展 | 自定义插件加载、配置热更新、插件间执行顺序 | P2 |
限流是 API 网关的核心功能,测试需要覆盖以下场景:
认证绕过测试:验证所有需要认证的端点是否确实强制要求有效凭证。测试未携带 Token、携带过期 Token、携带伪造 Token 等场景。
注入攻击防护:验证网关层面的 SQL 注入、XSS、命令注入等常见攻击的拦截能力。部分网关(如 Kong)提供 WAF 插件。
CORS 配置验证:确保跨域请求仅允许已授权的域名,避免开放过于宽松的 Access-Control-Allow-Origin。
敏感信息泄露:检查网关错误响应中是否包含堆栈跟踪、内部 IP、数据库连接串等敏感信息。
| 指标 | 目标值 | 测试方法 |
|---|---|---|
| QPS(每秒请求数) | > 10,000 | 使用 wrk/K6 阶梯加压,找到吞吐量拐点 |
| P99 延迟 | < 50ms | 在目标 QPS 下持续压测 30 分钟,统计尾部延迟 |
| 并发连接数 | > 5,000 | 长连接场景下逐步增加连接数,监控内存和文件描述符 |
| CPU/内存 | CPU < 70%, 内存稳定 | 持续压测 2 小时,观察是否有内存泄漏 |