质量保证
Quality Assurance, QA通过流程、规范、评审、培训和持续改进来预防质量问题的一组系统性活动。
- 什么时候使用
- 讨论团队如何减少缺陷产生、如何建立质量机制时使用。
- 容易混淆
- QA 不等于执行测试;测试是 QA 体系中的一种验证活动。
不要求一次背完。遇到陌生词时,先查它解决什么问题、在什么场景使用,再看它和相邻概念有什么区别。
需求阶段先查测试依据与策略,执行阶段查冒烟和回归,发布阶段再看门禁与剩余风险。
术语定义回答“是什么”,使用场景回答“什么时候说这个词才准确”。
面试和协作中最容易出错的不是没听过,而是把相邻概念当成同一件事。
| 概念 | 一句话区分 |
|---|---|
| QA / QC / Testing | 过程预防 / 结果检查 / 具体验证活动 |
| Verification / Validation | 按规范实现正确 / 满足真实用户需要 |
| 测试点 / 场景 / 用例 | 一个检查条件 / 一段业务目标 / 一项可执行验证 |
| Smoke / Sanity | 确认整个构建能继续测 / 快速检查局部改动是否合理 |
| Retest / Regression | 确认原缺陷已修复 / 检查变更没有破坏关联功能 |
| Severity / Priority | 影响有多大 / 需要多快处理 |
| Coverage / Pass Rate | 测到了哪些范围 / 已执行用例中多少通过 |
| Error / Defect / Failure | 人的错误 / 产物中的问题 / 运行时表现出的异常 |
回答为什么测、依据什么测、测到什么程度,以及由谁对质量结果负责。
Quality Assurance, QA通过流程、规范、评审、培训和持续改进来预防质量问题的一组系统性活动。
Quality Control, QC通过检查、评审、测试和度量识别产品是否达到既定质量标准。
Verification & Validation, V&VVerification 检查产物是否按规范正确实现;Validation 确认最终产品是否真正满足用户需要。
Test Basis设计测试和判断结果时依赖的资料,如需求、验收标准、接口契约、设计文档、法规和历史缺陷。
Acceptance Criteria, AC需求可以被业务接受所必须满足的、可验证的具体条件。
Test Scope本轮明确要验证与不验证的功能、接口、平台、数据、质量属性和版本边界。
Risk-based Testing, RBT依据失败概率与业务影响安排测试优先级、深度和资源。
Test Strategy描述测试目标、分层方法、重点风险、环境、自动化、质量门禁和责任分工的总体方案。
Test Plan面向具体项目或版本的执行安排,包含范围、任务、资源、环境、进度、风险和交付物。
Entry & Exit Criteria开始某阶段前必须具备的条件,以及结束该阶段或允许发布前必须满足的条件。
Requirements Traceability Matrix, RTM建立需求、风险、测试用例、执行结果和缺陷之间的双向关联。
把需求和风险转化为可以准备、执行、复现和维护的测试内容。
Test Point / Test Condition从需求和风险中提取的一个待验证条件或质量关注点。
Test Scenario围绕一个用户目标、业务流程或风险组织的一组测试条件。
Test Case包含前置条件、输入或步骤、预期结果和必要数据的一项可执行验证。
Precondition执行用例前必须成立的账号、权限、数据、环境和系统状态。
Test Data用于触发条件并判断结果的输入、账号、业务对象、基准数据和关联标识。
Expected Result & Actual Result预期结果是依据规则应出现的可观察行为;实际结果是执行中真实看到并记录的行为。
Positive & Negative Testing正向测试验证合法输入和主流程;负向测试验证非法、缺失、越界或冲突条件被安全处理。
Equivalence Partitioning, EP把预期行为相同的输入划分为一类,从每类选代表值减少重复测试。
Boundary Value Analysis, BVA重点验证有效区间边缘及其相邻值,因为比较、长度和范围错误常发生在边界。
Decision Table用条件组合与对应动作表达多规则决策,系统检查组合是否遗漏或冲突。
State Transition Testing验证对象在事件触发下能否从当前状态合法进入下一状态,并拒绝非法跳转。
Exploratory Testing测试人员在执行中同步学习、设计和验证,并根据新证据调整下一步。
Test Oracle用于判断结果正确与否的可信依据或机制,如规则、参考实现、对账数据和不变量。
同一个风险可以从不同层级验证;层级越高越接近真实业务,定位和维护成本通常也越高。
Unit Testing隔离验证函数、方法或类等最小代码单元的行为。
Integration Testing验证多个模块、服务、数据库或外部依赖组合后的接口与协作。
Contract Testing验证服务提供方与消费方对请求、响应、事件结构和兼容规则的共同约定。
API Testing直接调用接口验证协议、参数、业务规则、权限、响应和数据副作用。
System Testing在接近完整产品的环境中验证系统是否满足功能与非功能要求。
End-to-End Testing, E2E从用户入口贯穿前端、接口、数据和关键依赖,验证完整业务结果。
User Acceptance Testing, UAT由业务代表或最终用户确认系统能否支持真实业务目标和交付条件。
Functional & Non-functional Testing功能测试关注系统做什么;非功能测试关注性能、安全、可用性、兼容性和可靠性等做得怎么样。
Black-box, White-box & Grey-box Testing分别基于外部行为、内部结构,或结合部分实现知识来设计与执行测试。
Compatibility Testing验证不同浏览器、系统、设备、分辨率、网络、语言和版本组合下行为是否符合支持范围。
Accessibility Testing, a11y验证残障用户能否借助键盘、屏幕阅读器、缩放和对比度完成核心任务。
描述一个版本是否值得继续测试、某条用例结果如何,以及修复后应该验证到多大范围。
Build & DeploymentBuild 是由代码和依赖生成的可交付版本;Deployment 是把该版本安装或发布到某个环境。
Test Environment执行测试所需的应用版本、配置、依赖服务、账号、数据、设备和网络组合。
Smoke Testing用少量高优先级用例快速确认构建可启动、核心链路可用,值得进入更深测试。
Sanity Testing针对小范围修改快速检查变更本身及紧邻功能是否基本合理。
Confirmation Testing / Retesting在修复版本中按原触发条件重新执行,确认某个具体缺陷已经消失。
Regression Testing在变更后重新验证原功能、关联功能和核心链路,发现意外副作用。
Pass, Fail, Blocked & Not Run分别表示符合预期、不符合预期、因前置问题无法验证,以及本轮尚未执行或不在执行范围。
Test Cycle / Test Run在确定版本、环境、范围和时间窗口下组织的一次测试执行集合。
Flaky Test被测代码未变化时,同一测试在相同条件下仍会随机通过或失败。
False Positive & False Negative假阳性是系统正确却被测试判为失败;假阴性是系统有问题却被测试判为通过。
把观察到的失败变成可复现、可分级、可修复、可回归并可预防的问题记录。
Error, Defect & FailureError 是人的错误行为;Defect 是产物中的问题;Failure 是系统运行时表现出的错误行为。
Bug / Defect & Incident缺陷是产品偏离预期的问题;Incident 是线上已发生并影响服务或用户的异常事件。
Severity描述缺陷对用户、数据、资金、安全和系统造成的影响程度。
Priority描述缺陷需要多快、以什么顺序处理,综合影响、频率、发布时间和修复成本。
Reproducibility & Reproduction Rate可复现性说明能否在明确条件下重现问题;复现率表示多次尝试中出现问题的比例。
Workaround在根因尚未修复时,用另一条操作或配置路径暂时降低影响。
Duplicate, By Design & Rejected分别表示已有同一根问题、行为符合已确认规则,或报告不成立或信息不足。
Deferred & ReopenedDeferred 表示确认存在但延后处理;Reopened 表示修复验证失败或问题再次出现。
Root Cause Analysis, RCA基于证据识别问题发生和未被提前发现的技术、流程与组织原因。
Five Whys连续追问“为什么”以从表面现象深入到可改进的系统原因。
Defect Escape / Defect Leakage缺陷未在预期测试阶段发现,而流入后续阶段、验收或生产环境。
说明自动化代码如何组织、隔离依赖、判断结果并进入持续交付流水线。
Test Suite围绕功能、层级、风险或执行目的组织的一组测试用例或自动化脚本。
Test Pyramid用大量快速底层测试、适量集成测试和少量关键 E2E 测试平衡反馈速度与信心。
Test Framework & Test HarnessFramework 提供编写和运行测试的规则与能力;Harness 还包括驱动、数据、桩、环境和报告等执行基础设施。
Fixture为测试准备并回收稳定前置条件的机制,如账号、数据、连接、浏览器上下文和临时资源。
Test DoublesMock 验证交互预期;Stub 返回预设结果;Fake 是可工作的简化实现;Spy 记录真实调用信息。
Assertion把实际结果与明确条件比较,并在不满足时让测试失败。
Parameterized & Data-driven Testing用一套测试逻辑执行多组输入和预期;数据驱动进一步把测试数据与脚本逻辑分离。
Idempotency同一操作重复执行一次或多次,系统最终业务效果保持一致。
Continuous Integration & Continuous Delivery, CI/CDCI 频繁合并并自动构建验证;CD 让通过验证的版本始终具备可发布能力或自动部署。
Shift Left & Shift Right左移是在更早阶段预防和发现问题;右移是通过生产监控、灰度、实验和真实反馈验证质量。
Continuous Testing在交付流水线各阶段持续执行合适层级的自动和人工检查,及时反馈业务风险。
把测试结果转化为有范围、有风险边界、能支持发布决策的质量证据。
Test Coverage测试触达需求、风险、业务路径、数据组合、平台或代码结构的程度。
Code Coverage测试执行期间被运行到的语句、分支、函数或条件占比。
Pass Rate已执行且通过的用例占指定统计口径内用例的比例。
Defect Density单位代码量、功能点、需求或模块中发现的缺陷数量。
Defect Removal Efficiency, DRE发布前发现的缺陷占发布前与发布后发现缺陷总数的比例。
Quality Gate进入下一阶段或发布前必须满足的自动或人工检查条件。
Go / No-Go Decision基于业务价值、测试证据、剩余风险、监控与回退能力做出的发布决策。
Test Sign-off正式记录已测范围、结果、已知问题、未覆盖项和剩余风险的测试结论。
Residual Risk完成计划内控制和测试后仍然存在、尚未消除或未验证的风险。
Baseline & BenchmarkBaseline 是当前系统可重复比较的起点;Benchmark 是按统一方法比较方案、版本或行业参考的测量过程。
Rollback, Canary Release & Feature Flag分别用于恢复上一稳定版本、小流量逐步放量,以及不重新部署就控制功能启停。
用可量化目标和故障模型描述系统是否够快、够稳,以及失败后能否恢复。
Load, Stress, Spike & Soak Testing分别验证预期负载、超出容量、突发流量和长时间运行下的系统表现。
Throughput & Response Time吞吐量描述单位时间完成的请求或事务数;响应时间描述单次请求从发出到完成的耗时。
SLI, SLO & SLASLI 是实际测量指标,SLO 是内部目标,SLA 是对客户承诺及可能的违约责任。
RTO & RPORTO 是故障后允许多长时间恢复服务;RPO 是最多允许丢失多长时间范围的数据。
Reliability & Resilience可靠性强调在规定条件和时间内持续正确工作;韧性强调发生故障后仍能降级、恢复和适应。
Timeout, Retry & Circuit Breaker超时限制等待时间,重试处理暂时性失败,熔断在持续失败时停止调用以保护系统。
Eventual Consistency分布式系统允许短时间数据不一致,但在没有新更新后最终收敛到一致状态。
Observability通过系统外部输出推断内部状态并定位未知问题的能力。
Logs, Metrics & Traces日志记录离散事件,指标聚合数值趋势,Trace 串联一次请求跨服务的完整路径。
传统测试术语继续适用,但概率输出还需要数据集、评分器、人工复核和安全评估。
Evaluation Set & Golden Dataset评估集用于稳定比较模型或系统表现;金标集包含经审核的期望答案、证据、标签或评分标准。
Scorer / Evaluator & LLM-as-a-Judge评分器按规则计算质量;模型裁判使用另一个模型依据 Rubric 评价输出。
Human Review / Human-in-the-Loop, HITL由具备业务判断能力的人审核高风险、低置信或机器无法可靠判定的结果。
Hallucination模型生成看似合理但缺乏依据、与事实冲突或凭空补全的内容。
Faithfulness & Groundedness衡量回答是否得到给定上下文或可信来源支持,并且没有超出证据。
Retrieval Recall & PrecisionRecall 关注相关证据是否被找全;Precision 关注返回证据中有多少真正相关。
Non-determinism相同输入在模型采样、并发、工具或外部环境影响下可能得到不同输出或轨迹。
Model Drift & Data Drift模型行为或真实输入分布随时间变化,导致原有评估结果和阈值逐渐失效。
Prompt Injection攻击者通过输入、网页、文件或工具结果诱导模型忽略原目标、泄露信息或执行未授权动作。
Agent Trajectory & Tool CallTrajectory 是 Agent 从观察、推理、选择工具到完成任务的步骤序列;Tool Call 是其中结构化调用外部能力的动作。
Red Teaming以对抗者视角系统寻找模型、应用、权限和业务流程的可滥用途径。
术语表用于查阅,基础教程用于建立完整认知;两者搭配学习,不需要脱离场景死记。