基于风险和质量的测试策略

基于风险和质量的测试策略

1.为什么需要这种策略

首先因为人力成本,时间成本和设备成本,不可能做到100%的穷举测试.与其代码覆盖率90%但并没有测试到那关键的5%的问题,还不如代码覆盖率为70%并且能够把那个关键的5%的问题给覆盖到.所以我们需要基于风险的测试策略.

2.什么是产品风险

有一个合理的表达式是, 产品风险 = 失效概率 X 损失,然后可以使用使用一个表格来表示一下

失效概率为 HIGH失效概率为 MEDIUM失效概率为 LOW
失效影响为 HIGHHMM
失效影响为 MEDIUMMML
失效影响为 LOWMLL

3.风险分析过程

我们需要两个方面的人力,一方面是技术专家,另外一方面是技术代表(服务人员,市场人员,资深的测试人员)

对需求进行列举和细化,绘制成表格

然后技术人员依次对其进行评估打分,考虑的因素有人员经验,是否采用新技术,和平台或其他功能的交互性

然后技术代表进行评估打分,考虑的因素有,失效影响(一旦失效是否有安全隐患,造成的价值损失是多少),商业价值(是否为产品卖点),用户的使用频率(使用越多,被探测到的问题就越多)

然后相对应的,两项得分最高的,其实就是风险最高的,而相对应的两项都是得分低的,则表明风险低.

4.什么测试策略

测试策略即测试宽度和测试深度的组合.

5.什么是质量诉求

因为我们的特性是分成不同维度的,在基础设施行业,比如云计算,或者通信软件,他可以这么分类.即完全商用,部分商用,测试演示或者小范围使用.而对于不同的目标,使用者对质量诉求是不一样的,比如完全商用的,需要使用做功能测试,性能测试,可靠性测试,易用性测试等等,而小范围的演示的则只需要做简单的功能测试即可.

6.测试深度

对于不同风险或者不同质量诉求的模块,有着不同的测试深度诉求,以下是不同的测试深度

功能测试 => 覆盖到各个功能场景
可靠性测试 =>异常值输入法,故障植入法,稳定测试法,压力测试法,恢复测试法
易用性测试 =>一致性测试,可用性测试
性能测试 => 基本性能测试,性能瓶颈测试,压力测试
可移植性测试
可维护性测试 => 日志测试,告警测试,资料测试,联机帮助测试
安全测试

7.如何基于风险和质量来确定测试深度

a.首先是根据产品评估模型来确定测试深度

确定测试深度

完全商用: 需要使用功能,可靠性,性能测试,易用性,安全测试等等方法来测试

部分商用: 需要使用功能测试和可靠性测试中的故障植入法和稳定性测试法

测试或者演示或者小范围试用: 只需要试用功能测试方法即可

b.然后考虑老功能来更新测试深度

分类说明测试策略测试深度
全新特性全新开发的功能全面测试和步骤a说描述的移植
老特性变化对外: UI变化,交互变化
对内: 功能的修改,性能提高
变更地方:全面测试
分析对老功能影响来做对应的回归测试和探索测试
和步骤a说描述的移植
老特性加强对外:UI变化,交互变化
对内: 功能重构,中间层,底层发生变化,稳定性提升
分析对老功能影响来做对应的回归测试和探索测试
进行稳定性测试
功能测试+可靠性测试(故障植入和稳定性测试)
老特性无变化对内外无变化CICD,回归测试,探索式测试

当然在上面的基础上,还是要充分利用自动化测试来保障老功能.

c.然后考虑老功能来确定测试广度

测试广度,我们原则上是期望100%覆盖,但是对于历史上的一些质量较好的特性,则采取少测或者不测.对于一些完全商用特性,我们可以采用加强测试,比如加强对需求的review,加强对系统设计的review

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值