首页/开发/软件测试速查/测试七原则(ISTQB)
测试基础与分层67 条

测试七原则(ISTQB)

ISTQB 大纲归纳的七条通用测试原则:测试证明缺陷存在而非不存在、穷尽测试不可行、尽早测试、缺陷聚集、杀虫剂悖论、测试依赖上下文、无缺陷谬论。

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

测试七原则是什么

测试七原则是 ISTQB 基础级大纲归纳的七条通用测试规律:测试证明缺陷存在而非不存在、穷尽测试不可行、尽早测试、缺陷聚集、杀虫剂悖论、测试依赖上下文、无缺陷谬论。它们不是操作手册,而是讨论测试策略时的统一语言:当团队争论要不要再补测试、测到什么程度可以停、投入往哪倾斜时,这七条提供了公认的推理起点。理解每条原则的反面误读,同样重要。

基本信息

出处ISTQB CTFL 4.0 大纲第 1 章
性质通用测试原则,不绑定具体技术栈
第一条测试证明缺陷存在,通过测试不能证明无缺陷
第二条穷尽测试不可行,除极简场景外无法覆盖所有组合
第六条测试依赖上下文,不同系统与风险级别采用不同策略
用途测试策略讨论、评审与投入分配的通用语言

七条原则与落地动作

原则要点落地动作
测试证明缺陷存在通过测试只能发现缺陷,不能证明系统没有缺陷停止标准不写无缺陷,改写风险覆盖与退出条件
穷尽测试不可行无法组合执行所有输入与前置条件用等价类、边界值、风险排序收敛用例集合
尽早测试测试活动越早介入,返工代价越低需求评审与设计评审阶段就引入测试视角
缺陷聚集缺陷常集中在少数模块结合变更频率与业务价值决定投入倾斜
杀虫剂悖论同一组用例反复执行会逐渐失效定期更新与扩选用例,引入探索性测试补充
测试依赖上下文不同系统与风险级别采用不同测试策略按业务风险裁剪文档、用例深度与自动化比例
无缺陷谬论修完缺陷不等于满足用户需求把验收标准与用户任务验证纳入发布门槛

讨论中的典型用法

  • 评审会上解释为什么通过测试后仍要保留风险说明
  • 制定停止标准:用风险覆盖替代穷尽组合的期待
  • 推动测试左移:用尽早测试原则争取评审环节席位
  • 分配维护预算:用缺陷聚集与变更数据决定重点模块
  • 设计用例保鲜机制:按杀虫剂悖论定期更新用例池
  • 裁减流程:按依赖上下文原则对不同项目使用不同重量级流程
「测试证明缺陷存在」不是「测试不重要」:它的意思是测试通过只意味着没发现缺陷,不能当作质量无风险的证明;发布决策要结合风险与置信度表述。
缺陷聚集与杀虫剂悖论常被误用:前者不是给个别模块无限加测的理由,后者也不是「用例无用论」,而是提醒用例需要随产品演进而更新。
七原则之间互相呼应:穷尽不可行所以需要基于风险抽样,缺陷聚集提供抽样的历史依据,杀虫剂悖论则要求抽样方法持续更新。

易错点

  • 把「测试证明缺陷存在」误读为「测试不重要」:该原则是提醒不能用通过测试宣称质量无风险
  • 缺陷聚集常被用来给个别模块过度加测,仍需结合变更频率与业务价值判断投入
  • 把杀虫剂悖论理解为「用例迟早失效所以不必写」:正确做法是更新用例与引入探索性测试
  • 用无缺陷谬论否定缺陷修复的价值:该原则补充的是需求验证维度,而非替代缺陷管理
  • 把七原则当口号而不改变停止标准与投入分配:原则不落地就等于没读

数据来源与参考

  • ISTQB CTFL 4.0 大纲(istqb.org)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌