首页/开发/软件测试速查/测试奖杯(Testing Trophy)
测试基础与分层67 条

测试奖杯(Testing Trophy)

Kent C. Dodds 针对前端应用提出的投入模型:静态检查打底、单元测试适量、集成测试占比大、少量 E2E,强调用接近真实使用方式的集成测试换取信心。

软件测试速查开发更新于 2026-10-13

测试奖杯是什么

测试奖杯(Testing Trophy)是 Kent C. Dodds 针对前端应用提出的测试投入模型:静态检查打底、单元测试适量、集成测试占比最大、端到端测试收口。核心主张是「测试越接近用户的真实使用方式,提供的信心越高」——组件级集成测试既能覆盖多个模块的协作,又比 E2E 快得多,因此在前端项目里值得投入最多。

奖杯四层

层级工具示例说明
静态检查TypeScript / ESLint在编码期捕获类型与规范问题
单元测试Vitest / Jest覆盖纯函数与边界逻辑
集成测试Testing Library以用户视角渲染组件并交互
端到端测试Playwright / Cypress验证关键路径在真实浏览器可用

基本信息

提出者Kent C. Dodds,面向前端与组件化项目
核心主张集成测试占比最大,平衡信心与速度
与金字塔关系同为投入分配参考,侧重不同:金字塔偏单元,奖杯偏集成
适用边界前端与组件化项目;后端高并发系统仍多沿用金字塔
落地抓手用测试反馈速度与缺陷拦截层次评价配比是否合理

典型使用场景

  • 前端测试策略讨论:确定各层投入比例时有共同参照。
  • CI 时间治理:把慢而脆的测试替换为组件级集成测试。
  • 新项目起步:按奖杯结构搭测试脚手架与目录约定。
  • 遗留项目改造:先补集成层,逐步清理无断言的单元测试。
  • 评审测试配比:检查是否出现 E2E 过多拖慢反馈的倒挂。
  • 新人培训:理解各层测试各自能回答什么问题。
奖杯模型常用于前端与组件化项目;后端服务仍多沿用金字塔。两者都是投入分配的参考而非教条。
静态检查不能替代运行时测试:类型正确不等于行为正确,逻辑断言仍需测试承担。
配比服务于反馈速度:集成层变大后若单次运行变慢,应拆分或用并行把时间压回来,而不是退回全是单元测试。

易错点

  • 把「集成测试占比大」套用到后端高并发系统:跨进程集成会显著拖慢反馈,需按系统形态取舍。
  • 把配比当考核指标:为凑比例写大量无断言的测试,数量好看质量倒退。
  • 忽视反馈速度:集成测试越写越慢,提交前的自检被跳过,问题照样逃逸。
  • 只补 E2E 撑信心:跑一次半小时且不稳定,套件最终沦为摆设。
  • 静态检查与测试互相替代:关掉类型检查说「有测试兜底」,或反过来只查类型不写行为断言。

数据来源与参考

  • Kent C. Dodds《The Testing Trophy and Testing Classifications》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌