N4darae/shrt
A contract-driven gRPC regression harness for AI coding agents, with human-approved baselines. Snapshot the valid call chains of an API so an agent can look one up instead of tracing for it. gRPC today, OpenAPI next
解决的问题
shrt 是一款用于建立和维护 RPC 链服务回归测试套件的工具。它解决了手动编写测试链时常遗漏关键边缘情况(如边界条件或缺失的 token)的问题,通过使用“合约”自动组成测试链,并验证服务行为是否随时间保持一致。
运作方式
该工具通过建立可用 RPC 的描述符,并使用合约覆盖层来定义预期行为。它遵循特定的工作流程:
- 推导 (Derivation):识别可用 RPC 并使用合约来规划和组成有序的调用链。
- 执行 (Execution):执行这些链并记录结果。
- 验证 (Verification):将当前执行结果与“安全点”(先前批准的成功执行) 进行比较,以检测偏差或回归。
- 闸道 (Gating):CI 闸道 (
shrt gate) 会执行所有链,检查回归、间歇性故障以及响应字段的变更,即使是未明确断言的字段也会检查。
适用对象
专为需要确保基于 RPC 服务稳定性的开发人员和 QA 工程师设计,特别是使用 Protocol Buffers (protos) 的服务,以及希望采用严格、合约驱动的回归测试方法的团队。
特点
- 合约驱动规划:根据定义的合约自动组成测试链,而非手动编写脚本。
- 安全点验证:使用人工批准的“安全点”作为基准,以检测响应数据中的任何变更 (偏差)。
- 自动化回归闸道:支持 CI 的闸道,可识别回归、间歇性故障和特定的可疑 RPC。
- 链切片 (Chain Slicing):能够建立最小子链以重现特定故障。
- 严格 Linting:强制执行高质量断言,防止仅检查服务“未崩溃”的无效测试。
相关
- 项目
- 项目
- 项目
- 项目