← 中文资源

简体中文版本

基于风险的测试(Risk-Based Testing)

基于风险的测试按失败概率与影响分配测试投入,让高风险区域优先获得更深入的验证,而不是对所有功能平均用力。

阅读英文原文

核心思想

并非所有缺陷的代价都相同。帮助页面的排版错误与结账重复扣款,在发生概率和危害程度上都不同。基于风险的测试把这种不对称显式化:识别产品可能失败的方式,估计每种失败的概率和影响,再把精力放在二者乘积最大的地方。产出是一份有优先级的计划,而不是“平均测试一切”的承诺。

构建风险图景

不要凭感觉,要组合多种信息源。事故历史说明故障实际发生在哪里;架构图和爆炸半径分析说明一个组件会拖垮什么;使用数据说明哪些路径承载流量和收入;变更历史说明当前正在改什么。为每个区域记录概率、影响分数以及依据,使排序可以被质疑和修正。

应用评分

高风险区域值得更深入的技术:探索式会话、故障注入、性能测试和失败处理评审。中风险区域采用标准自动化覆盖。低风险区域仍要冒烟检查,因为“不太可能”不等于“不可能”。与统一的覆盖率目标相比,基于风险的分配能用同样预算更早发现严重缺陷;但如果影响评分草率,罕见的灾难性路径可能测试不足。

持续维护与示例

风险会随每次发布、新集成和流量变化而改变,应在计划节点和事故后重新审视模型,并跟踪预测的风险是否真的发生。例如,团队要给订阅变更上线,把账单按比例计费评为高概率高影响,把管理导出评为低概率中影响,把营销横幅评为低概率低影响:第一项使用基于属性的测试和分阶段发布,第二项增加一个集成测试,第三项只做视觉检查。