目录
5.2 风险管理
组织在面临多种内外部因素时,难以预见是否能够实现其目标以及何时实现(ISO 31000)。通过风险管理,组织可以提高实现目标的可能性,提升产品质量,并增强利益相关方的信任和信心。
风险管理的主要活动包括:
- 风险分析
- 风险控制
基于风险的分析和控制,用于选择、优先级排序并管理测试活动的测试方法称为基于风险的测试。
5.2.1 风险定义和属性
风险是指可能发生的事件、威胁或情形,一旦发生将产生负面影响。风险由以下两个因素构成:
- 风险可能性:发生该风险的概率,介于0到1之间。
- 风险影响(危害):风险发生后可能带来的后果。
这两个因素共同决定了风险级别,表示了处理该风险的重要性。风险级别越高,采取行动的优先级就越高。
5.2.2 项目风险和产品风险
在软件测试中,通常关注两类风险:项目风险和产品风险。
- 项目风险:与项目管理和控制相关,可能影响项目进度、预算或范围的风险。常见的项目风险包括:
- 组织问题(如产品交付延迟、估算不准确、成本缩减)
- 人员问题(如技能不足、沟通不畅、人员短缺)
- 技术问题(如需求蔓延、工具支持不足)
- 供应商问题(如第三方交付失败、供应商破产)
- 产品风险:与产品质量特性相关的风险(如 ISO 25010 质量模型所述)。常见的产品风险包括:
- 功能缺失或错误
- 算法低效、响应时间长
- 用户体验差、安全漏洞
- 潜在后果包括用户不满、收入和声誉损失、维护成本上升,甚至法律责任等。
5.2.3 产品风险分析
产品风险分析的目标是识别和评估产品风险,以便将测试工作集中在高风险区域,从而降低残余风险。理想情况下,风险分析应尽早在开发生命周期(SDLC)中进行。
- 风险识别:生成一份全面的风险清单,可通过头脑风暴、访谈、因果图等方法进行。
- 风险评估:对识别出的风险进行分类、评估可能性和影响,并确定处理优先级。评估可以采用定量或定性方法,或混合使用。例如,定量方法计算风险级别为可能性与影响的乘积,定性方法则使用风险矩阵。
风险分析的结果可用于:
- 确定测试的范围和深度
- 确定测试的级别、类型和技术
- 估算测试所需的工作量
- 确定测试的优先级,确保尽早发现关键缺陷
- 评估是否有其他手段(如设计评审、静态分析)能替代或补充测试来降低风险
5.2.4 产品风险控制
产品风险控制包括应对识别出的风险并采取措施降低其影响。风险控制分为两部分:风险缓解和风险监控。
- 风险缓解:实施风险评估时提出的行动,降低风险级别。具体措施包括:
- 选择具有合适技能和经验的测试人员
- 应用适当的测试独立性
- 实施评审和静态分析
- 使用适当的测试技术和覆盖率
- 针对受影响的质量特性执行特定类型的测试
- 风险监控:确保风险缓解措施的有效性,同时持续收集信息以更新风险评估,并识别新的潜在风险。
控制产品风险的策略还可以包括接受、转移风险或制定应急计划。在测试过程中,回归测试和动态测试也是有效的风险缓解手段。
原创文章,作者:iTestCat,保留所有权利,禁止转载,如若转载,请联系作者!