博客

关于基于风险的测试——一种安全、可持续的质量方法

Risk-Based-Testing

不管是什么软件项目,都有既定的目标. 要按时完成一个项目,涉及的事情太多了, 资源, 预算, 基础设施, 和更多的. 可能阻碍项目及时实施的一件事是包括任何类型的风险-内部或外部, big, 或小. 这些风险可能会对项目的顺利运行造成严重破坏. 可以保护软件项目免受这些风险的一种解决方案是 基于风险的测试.

宝马娱乐网站bmw0002-宝马娱乐网站bmw0002(中国)官方网站有限公司说“风险”时,它意味着可能对项目造成损害的不明确活动的发生. 它会对预算等不同参数产生很大影响, 质量, 实现, 客户满意度, 等等.

一旦整个项目准备就绪就引入测试的时代已经一去不复返了. 当今现代化的软件开发方式将测试视为整个软件开发周期中不可分割的组成部分. 现在在项目的每个开发阶段都进行了测试, 试图在遇到错误时立即删除错误. 同样的道理, 如果在正确的时间、正确的地点引入基于风险的测试,将会有很大的帮助.

基于风险的测试-简介

基于风险的测试(RBT)是一种宝马娱乐网站bmw0002-宝马娱乐网站bmw0002(中国)官方网站有限公司,它作为一种组织原则,用于对软件中的特性和功能进行优先级测试, 基于失败的风险, 它们重要性的作用, 以及失败的可能性或影响. – 维基百科

基于风险的测试(RBT)是一种依赖于风险发生几率的测试. 它考虑那些可能对项目有直接影响的项目因素和特征. 有不同的参数需要考虑-特征的临界性, 事件的复杂性, 发病率, 等等. RBT的基本目标是:

  • 设计并执行涉及最高业务风险的测试事件
  • 平滑客户实施过程,不让风险阻碍它
  • 提前发现可能的风险或故障,以防止其发生
  • 避免风险对组织期限、成本和业务前景的影响
  • 帮助顺利实施敏捷和DevOps流程
  • 确保为客户提供高质量且无错误的软件

 

有效的基于风险的测试并不意味着项目中没有风险. 这个要求太乐观了. 这意味着要尽量减少所有可能阻碍项目参数的风险,并实现平稳运行. 这里涉及的风险可能是产品风险、项目风险和过程风险. 它们还可以分为商业风险、非商业风险或财务风险.

基于风险的测试可能涉及, 技术测试——环境/集成测试, 功能测试——特性/模块/功能/程序, 以及非功能测试——负载/性能/配置/安全测试.

执行基于风险的测试所需的一些关键度量是——计划的测试用例与执行的测试用例, 关键风险敞口数量, 测试覆盖报告, 风险识别/缓解/泄漏百分比, 试验总结报告, 计划vs实际努力.

基于风险的测试的主要优势

  • 用户关注的增加将直接提供更多的客户满意度, 业务性能, 提高工作质量
  • 能够很好地及时识别高风险区域, 导致在实际实施时对项目的破坏最小
  • 它提供了更好的测试覆盖率, 确定要测试的特定领域, 如何开始,何时开始, 找出风险的影响
  • 由于所有可能的风险都经过了很好的测试,因此现在所有的功能都可以达到客户的期望,因此整个软件质量必然会提高
  • 有更好的结构测试和明确的工作范围, 最后期限, 优先级, 测试用例, 测试数据, 以及最新的测试工具
  • 它提供了更高的生产力, 降低成本, 宝马娱乐网站bmw0002-宝马娱乐网站bmw0002(中国)官方网站有限公司性能, 市场机会, 还有上市时间

何时实施这种类型的测试?

基于风险的测试可以在以下情况下实现

  • 项目有有限的时间计划、预算、资源分配等.
  • 有增量、迭代、敏捷和DevOps项目方法的实现
  • 新项目有高风险因素,比如新技术, 缺乏熟练资源, 计划不足等.
  • 有基于云的宝马娱乐网站bmw0002-宝马娱乐网站bmw0002(中国)官方网站有限公司或最新的项目方法的参与
  • 该项目以研究为导向,或具有更复杂的挑战

基于风险的测试方法和路线图

风险识别

可以通过风险清单来识别风险, 研讨会, 面试, 头脑风暴会议, 根本原因分析, 等等. 可以识别风险以及可能的应对措施. 可以编制电子表格进行有效的监视和跟踪. 可以构建一个风险分解结构,从而识别风险易发区域, 评估涉及的风险. 它有助于为这些活动提供大量的时间和资源.

可以创建一个风险评估矩阵,使团队能够快速查看风险和涉及的发生级别. 风险可能发生在不同的层面——频繁的、可能的、偶然的、遥远的、不可能的. 在此基础上,可以确定进一步的行动方针和优先事项.

甚至风险的严重程度也对决策至关重要——严重、高、中、低. 风险造成损害的程度对于确定必须解决哪些风险以及何时解决风险很重要. 风险可能会产生严重的后果,可能是关键的、边际的或可以忽略不计的.

风险分析、缓解和应急

分析风险很重要,在此基础上,必须决定如何最好地应对风险. 有些风险可能需要快速应对,有些则可以等待. 这可以通过一个风险矩阵来实现,通过这个矩阵可以了解风险的影响和概率, 可以采取相关行动.

减轻风险也同样重要,因为这有助于减少可能的风险的影响. 它可以通过降低它发生的几率来解决,或者至少把它降低到一个可以忍受的水平.

即使是后备计划或应急计划也必须随时准备,通过它可以应对任何类型的冲动风险. 它指的是一件不确定的事情,它的效果也不知道. 基本上, 应急计划是为了应对不确定的、可能对项目有害的风险.

风险应对计划

一旦分析完成,涉众就会知道风险是否需要响应. 有些风险可能需要在计划项目时做出反应, 有些人在测试和监控项目时可能需要它. 有些人是如此微不足道,以至于他们可能根本不需要回应. 这个基于风险的测试阶段对于找出主要的风险并关注它们是很重要的,而不是在微小的风险上浪费时间.

风险监测与控制

不管你怎么努力,一定会出现一些风险. 在这种时候,制定一个适当的监控机制是必须的. 它有助于识别风险, 监控他们, 发现新事物, 分析了其发生的基本原因, 实施风险计划, 并密切关注它的指标. 各种类型的评估, 审计, 趋势分析, 性能测量, 状态更新是这种方法的一部分. 它还取决于项目中涉及的不同参数,如技术更新, 项目规模, 资源的数量和技能, time, 以及工作量估算, 还有更多.

基于风险的系统测试

RBT包括由技术组成的系统级测试, 功能, 以及非功能系统测试. 它包括环境测试, 集成测试, 特性级测试, 负载测试, 压力测试, 安全性测试, 等等. 系统级测试方法是必须的,因为它构成了任何系统的核心,因此强烈推荐.

平稳的基于风险的测试的最佳实践

在一般情况下, 执行基于风险的测试时涉及的不同活动包括以下步骤, 除某些特定情况外:

  • 通过核对表准备一份可能涉及的风险的详细清单, 面试, 研讨会, 根本原因分析, 专家意见, 等等.
  • 记录所有风险,包括可能的原因、应对措施和根本原因
  • 准备测试用例、测试文档、涉及每个风险的测试数据
  • 将测试覆盖与风险评估相关联,以确保所有的风险都包含在测试文档中
  • 随着项目的进展,不断调整新的风险
  • 使用风险矩阵进行定量和定性风险分析
  • 决定是否需要应对风险
  • 尽可能降低风险
  • 为最坏的情况准备一个应急计划
  • 通过不同的风险审核是否有适当的监控机制, 评估, 趋势分析, 状态会议, 等等.
  • 与不同的管理和开发团队合作,更好地了解风险
  • 与团队进行适当的沟通,并不断更改风险评估计划,以便项目活动的任何更改都能嵌入到风险管理中
  • 根据项目中的更新,不断更新测试覆盖计划

对RBT至关重要的一些关键测试报告和指标

  • 测试用例的数量——计划的和实际的
  • 缺陷的数量,优先级和状态
  • 测试总结/覆盖报告
  • 风险缓解效率
  • 需求稳定性指数
  • 测试效果
  • 测试设计覆盖率
  • 缺陷检测效率
  • 环境的失败

 

还有更多……

临别赠言

基于风险的测试现在是最重要和最聪明的测试策略之一 宝马娱乐网站bmw0002-宝马娱乐网站bmw0002(中国)官方网站有限公司宝马娱乐网站bmw0002-宝马娱乐网站bmw0002(中国)官方网站有限公司. 各组织现在正给予它应有的重视,并享有成功和安全的产出. 随着项目变得越来越复杂,宝马娱乐网站bmw0002-宝马娱乐网站bmw0002(中国)官方网站有限公司也变得越来越聪明和有效. 测试不能简单地通过获取所有与项目相关的功能来完成. 它需要有效地嵌入风险评估,这就是基于风险的测试的关键——有效测试的聪明方法!

作者: 宝马娱乐网站bmw0002-宝马娱乐网站bmw0002(中国)官方网站有限公司

相关的博客