[原创]基于风险的测试(Risk-based testing)
一 基于风险的测试起源
基于风险的测试起源,在软件测试领域,基于风险测试最早的是测试大师Boris Beizer《软件测试技术》提及,测试时需要考虑到风险。
接下来James Bach 在1995年第一次介绍了基于风险的测试(RBT),然后又在1999年在《启发式基于风险的测试》(“Heuristic Risk-based Testing”)中更详细的描述:
二 基于风险的测试定义
基于风险的测试定义:根据软件产品的风险度通过出错的严重程度和出现的概率来计算,测试可以根据不同的风险度来决定测试的优先级和测试的覆盖率。
三 基于风险的测试分析流程
1 列出软件的所有功能和特性
2 确定每个功能出错的可能性
3 如果某个功能出错或欠缺某个特征,对顾客的影响有多大
4 计算风险度
5 根据可能出错的迹象,来修改风险度
6 决定测试的范围,编写测试方案
四 基于风险的测试实践三步
1 如何识别风险(头脑风暴会议,和专家的讨论,以及检查表等
2 如何评估识别出的风险(利用二维可能性与结果模型表述)
可能性相关的属性有:
使用频度
使用复杂度
实现复杂度
与风险的结果相关的属性有:
用户结果
业务结果
测试的结果
如下表是经典的基于测试风险的分析表,仅参考:
序号 |
风险特性 |
需求变更频繁 |
架构设计扩展性 |
编码人员经验欠缺 |
。。。 |
风险概率 |
用户影响 |
业务影响 |
测试策略 |
1 |
特性1 |
|
|
|
|
|
|
|
|
2 |
特性2 |
|
|
|
|
|
|
|
|
3 |
特性3 |
|
|
|
|
|
|
|
|
3 如何确定合理的减轻风险的活动(用一组适合的测试用例来覆盖每一个风险项)
每一个高风险必须被正向测试用例及负向测试用例所覆盖。另外,至少50%与高风险相关的测试用例应该具有最高等级的测试用例优先级。中间等级的风险主要由正向测试用例覆盖,并且可以分布于最高的三个测试用例优先级中等。
参考资料:
http://qualtech.newsweaver.ie/startester/18wsevk2e6v1nkk3ly7um2