基于风险的测试介绍

简介

测试策略由测试经理决定。测试策略可能是基于风险的方法,比如PRAM(Pragmatic Risk Analysis and Management)。

ISTQB术语表 测试策略由测试经理决定。测试策略可能是基于风险的方法,比如PRAM(Pragmatic Risk Analysis and Management)。

  • 术语

风险 risk 可能导致未来不良后果的因素,通常用影响和可能性表示。
产品风险 product risk 测试对象直接相关的风险,又称质量风险。
风险影响 risk impact 风险带来的损坏。
风险等级 risk level 风险的重要性,由对特性的影响和可能性决定风险水平可以定性(例如:高、中、低)或定量表示。
风险可能性 risk likelihood 风险发生的估计概率
基于风险的测试 risk-based testing 降低产品风险级别,项目开始时告知相关人员状态的测试方法,涉及产品风险的识别和使用风险级别知道测试流程。

基于风险的测试包括三个主要活动:

  • 风险识别(risk identification): 找出项目和质量风险

  • 风险评估(risk assessment):通常是基于可能性和影响逐项评估。

  • 风险控制(risk mitigation):通过测试执行等动

每个人对风险的看法都不同,相关人员要亲自参与风险管理。如果不能参与也要有代理人。实在没有代理人,可以让IT项目业务分析师参与。

  • 术语

风险分析 risk analysis 评估项目或产品风险,确定风险等级的过程,通常是评估影响和出现概率。
风险评估 risk assessment 通过识别并分析项目或产品风险确定风险等级的过程,通常是可能性和影响级别衡量。
风险控制 risk control 降低风险或维持风险在一定级别的决策或者保护措施。
风险识别 risk identification 通过头脑风暴、检查表和失败的历史等方法识别风险。
风险管理 risk management 系统化应用识别、分析、排序和控制风险的过程和实践。
降低风险 risk mitigation 参见risk control

风险识别

风险分为质量(产品)风险和项目(计划)风险。前者时可以测试的,后者是不可测试的。注意:有些地方把质量风险划作项目风险的一部分。

项目风险 管理和(测试)项目控制风险。例如,缺乏人员,紧张的截止期限,不断变化的需求等。又叫计划风险。
  • 专家访谈

  • 独立评估

  • 使用风险模板

  • 项目回顾

  • 风险研讨会

  • 风险

  • 头脑风暴

  • 检查表

  • 过去的经验

以上方法可以组合使用。需要特别关注业绩风险、安全风险、可靠性风险等。

项目和质量风险可以使用同一流程,但是更多的不在同一流程。通常在测试计划中考虑项目风险,在项目开始时考虑质量风险。识别风险可以用上溯或下溯的方法。

风险评估

对风险进行分类并分级。分类可以基于ISO 25010或ISO 9126等质量标准。大项目分类要求要精确些。

分级方法:

  • 问题发生的可能性; 即交付测试时出现的可能性。

  • 问题出现的影响; 即交付用户后还会出现。

可能性需要考虑的技术因素如下:

  • 技术,架构,代码和数据库的复杂性

  • 人员和培训

  • 团队内外的冲突,特别是技术争议和非功能需求

  • 供应商合同问题

  • 开发的地理分布,外包等。

  • 遗产:已有设计和技术必须与设计和技术兼容

  • 工具和技术的质量

  • 不良的管理或技术领导

  • 时间,资源和管理压力,特别是当金融penal-

  • 缺乏早期的测试和质量保证,给系统测试,系统集成测试和验收测试很大的压力

  • 需求,设计,代码随意更改

  • 高缺陷率,包含bug修复阶段。

  • 复杂的接口和集成问题

影响需要考虑的因素如下:

  • 使用受影响特性的频率

  • 图像潜在损害

  • 客户和业务损失

  • 潜在的金融,生态,社会的损失或责任

  • 民事或刑事法律制裁

  • 损失的执照,许可证等

  • 缺乏合理的解决方法

  • 失败和相关的负面效果

风险可以定性定量的方式表示。定量中,可能性用百分比表示,影响用经济损失表示,两者相乘就是成本。定性用于做粗略的预估:比如高中低或可能性90, 75, 50, 25。风险的另外一些重要方面来自高层的认知和意见是否一致等。

风险控制

四个选项:

  • 减缓Mitigation:采取预防措施,减少的可能性或影响。比如测试优先级。

  • 应急方案:一个计划或者多个应急方案。

  • 转移:告知用户相关问题。

  • 忽略或接受的风险及其后果。通常针对小问题或极难出现的问题。

另外还需要注意安全风险、商业和经济风险及技术、组织和政治风险。

常见的项目风险有:

  • 测试环境和工具准备

  • 测试人员和资质

  • 低劣的产品质量

  • 频繁修改

  • 缺乏测试标准,规则和技术

预防为主的测试:提前准备测试件和预测试的测试环境、早期测试版本等。确保需求和 设计的可测试性,参与评审、问题和变更管理,并监督项目进度和质量。控制的方法:

  • 选择合适的测试设计技术

  • 评审和检查

  • 评审测试设计

  • 独立的测试

  • 有经验的测试人员

  • 确认测试和回归测试的策略

同时要辅以用户经验和bug相关技术。

调整风险级别:

  • 全新或非常改变很大

  • 不稳定或缺陷高发区

  • 修复bug的风险,特别是回归的风险

  • 意料之外的大量bug

  • 关键业务领域

风险识别和评估结果实例

一份报告:A-Case-Study-in-Risk-Based-Testing, 对象是一个数据中心操作工具。

风险相关标准

英文维基百科的下载链接


参考资料

    联系作者:徐荣中 python开发自动化测试群113938272 微博 http://weibo.com/cizhenshi。

  • 维基百科移植性英文介绍


你可能感兴趣的:(测试,基于风险)