测试
软件测试系列入口:基础、单元测试、集成与契约测试、端到端、性能可靠性,以及 Agent 测试。
测试
测试不是通过少量Case证明代码没有问题,而是使用不同成本和范围的反馈回路,持续降低系统中的未知风险。单元测试验证局部逻辑,集成测试验证边界协议,端到端测试验证关键旅程,性能与可靠性测试验证系统在压力和故障下的行为。
引入Agent后,传统测试仍然有效且更加重要:Parser、状态机、权限、Tool Executor、数据库和协议仍然属于确定性软件;模型选择与自然语言质量则需要统计评测。不能使用模型随机性解释所有失败,应先定位故障发生的具体层级。

测试基础
测试对象、Oracle、黑盒与白盒、功能与非功能、测试金字塔、覆盖率、Mutation Score、风险驱动和缺陷回归。重点说明每个测试层级能够提供的质量证据。
单元测试
测试边界、AAA、Table-driven Test、Test Double、属性测试、Fuzz、并发与时间;再把Agent的Prompt Builder、Parser、Policy和状态机拆成可精确断言的普通代码。
集成与契约测试
说明PostgreSQL、Redis、Kafka、HTTP/gRPC和MCP边界的测试方法,Fixture、隔离与清理策略,以及Consumer-driven Contract如何防止Mock与真实Provider产生语义偏差。
端到端与回归测试
关键用户旅程、Playwright隔离、SSE异步等待、Trace留证、Flaky Test治理和缺陷下沉。Agent端到端不只看最终答案,还要验证工具、副作用、证据与预算。
性能与可靠性测试
Benchmark、Load、Stress、Spike、Soak、容量模型、P95/P99、吞吐、Little’s Law、故障注入与恢复验证;Agent还要测TTFT、Token、Tool并发、成本和长尾链路。
Agent 测试
Fake Model、Fake Tool、受控仿真、Trace Replay、Gold Evidence、Trajectory Grader、LLM-as-Judge、安全Case与线上闭环。重点是把概率系统拆成能局部精确断言、整体统计判断的部件。
可观测性
测试不能只证明发布前的世界。Prometheus、Loki、Tempo与Grafana负责从线上发现反例、保存证据并定位失败层;经过脱敏和人工确认的Incident再下沉为最低成本的回归Case。
一条够用的CI路径
提交前:format + lint + type check + focused unit tests
Pull Request:全量unit + race + contract + narrow integration
合并后:broad integration + E2E smoke + offline agent eval
定时任务:fuzz + mutation + performance + soak + security
发布阶段:canary + synthetic test + SLO / rollback gate
线上闭环:trace → failure mining → human label → regression set
这组文章共用一个原则:高层失败应尽量下沉成低层回归。生产里发现一次JSON解析Bug,最终遗产不该只有一张事故工单,而应该是一条最小单测、一个固定Fixture和一条CI门禁。