什么是高风险?造成的有害影响,从经济学角度,有害故障造成的危害可以用钱来衡量。比如软件bug造成航天飞机失控、p4p系统宕机造成现金损失、动车控制软件,还有就是潜在损失,比如信誉,信心损失等。
1、为什么要做基于风险的测试:测试价值:规避风险,经济学角度,任何一种行为需要考虑投入产出比。
故障与风险有关,和系统的潜在bug不是正相关,某些bug一辈子都不会被触发,尽管的确是个bug。假设一个系统的用户群为0,那就不会产生故障。
基于风险的测试就是判断测试范围和测试重点,提升投入产出比。为低风险系统投入过多的测试资源是不值得的。
2、风险与什么相关?
--客户群越大,风险越高。-pv,用户数等衡量因素。
--系统操作越频繁,风险越高。-方法被调用的次数
--场景越接近可用,风险越高。-是否为核心业务,主干功能,比如登录。
--场景失败给客户造成的危害最大,风险越高。-交易,付款,反馈,医疗系统血型管理应用等。
--场景涉及到信息安全和信息泄漏,风险越高。-比如找回密码,用户行为。
--系统可恢复性难度越高,风险越高。-
--人的因素,能力强的开发人员开发的代码,风险比较低。
3、网站风险测试的实施
-浏览器选择策略,网内的浏览器用户多维度分析。--(分析了一天的,没有分具体的应用。)-核心功能定义,用例分层(可用,核心功能)。
-用户群分析(用户数,pv),应用按访问量数排序,vm按请求数排序,方法按调用数排序选择测试范围。
-用户行为分析(操作场景)。
-安全测试。
-高质量bug,与故障建立相关性。bug和故障的转化率。
-单元和接口测试,降低缺陷fix的成本。
-平台基础产品评测和分析。--用第三方的东西,就要承担第三方的风险。
-依赖分析,确定测试范围。
-故障和bug分析,反推测试策略与测试设计。探索性测试。