如果问你,首屈一指的软件测试策略是什么?

自然是基于风险的测试(RBT)策略

而RBT策略首先应用于测试需求分析,而且测试分析是测试设计、执行的基础。

所以在我们发布的持续测试解决方案 ACTS 中,其方法技术层的第一项就是“RBT分析”,今天我们就简单来讨论一下 RBT分析,而真正的RBT分析实战是我们咨询服务的一个亮点。

1. 什么是RBT

RBT就是一种基于风险概率的软件测试策略,即根据软件的复杂性和耦合性、业务的关联性、功能的使用频率、应用场景、可能存在缺陷等来评估风险,并基于风险的严重性来设置/确定测试的优先级,从而根据测试优先级来安排测试资源(人力、时间等)、测试任务的先后次序。这里说的风险,主要指产品的质量风险或产品某些方面存在缺陷的风险,即对产品质量产生不良影响的概率事件,或者说,用户使用软件应用的特征和功能时可能受到的影响,如可能碰到无法使用、服务中断、操作困难或出错等问题。

2. RBT分析方法

RBT分析方法,包括定量分析和定性分析,大多数情况下是定性分析,除非软件研发收集了足够的相对规范的数据。首先,我们需要分析每一项业务需求、应用场景、E2E业务流程、功能需求和非功能性需求,确定测试项。针对测试项进行质量/测试风险分析,这时需要考虑到质量要求、开发人员的素质、设计或代码可能出现的问题、进度压力、资源不足、范围边界不确定、技术限制、系统复杂性、上一个版本(或遗留系统)的影响等带来的影响,以及功能的可见性、使用频率、故障引起的成本等,尽可能列出风险的影响因素,最终识别出主要的风险因素,建立风险checklist,从而更好地判断产品需求实现的质量风险,即确定失效的概率和对用户的影响。这可以用风险评估矩阵来完成,如下图所示,从而确定测试项的优先级,从而可以对测试项进行排序,确定基于风险的测试计划,包括测试任务的先后次序、测试过程等。

风险越高的测试项越要优先进行测试设计和执行,越需要安排专业能力强、经验丰富的研发/测试人员来完成该测试项的设计。基于设计和执行的结果分析,包括对缺陷自身的分析和回溯性分析(回溯到测试用例、回溯到业务/功能/非功能性需求等),反过来可以进一步完善风险checklist和风险评估矩阵。基于风险的测试可用于任何层次的测试,如组件、集成、系统和验收测试,也适用于手工测试和自动化测试,以及探索式测试方式等。

3. RBT分析的价值

举一个简单的例子来说明RBT分析的价值。

假如有一个测试任务,根据测试工作量的评估需要5天才能完成测试,但现在因为业务紧急需求,需要提前三天交付,测试的时间只有2天。如果按部就班进行测试(不考虑加班),测试的覆盖率只有2/5=40%(相对测试计划,假定测试计划的覆盖率是good enough),40%太低,无法达到交付的要求。如果采用RBT策略进行分析,虽然第一天也只执行了20%的测试用例,按照理想的情况(80/20原则),但可以覆盖80%的质量风险(缺陷)。在对剩余的80%测试用例进行分析,第2天执行其中的20%测试用例,可以覆盖剩余的20%质量风险的80%,即再覆盖16%的质量风险(缺陷),这样最理想情况下可以达到96%的风险覆盖率,即使不能达到理想状态,也远远高于40%,在时间特别有限的情况下,基本达到产品发布的要求。

4. RBT分析在持续测试中的应用与价值

RBT在持续测试中的应用,可以参考之前发布的文章:2020年软件测试趋势报道:彻底实现持续测试(中)或 参考《敏捷测试:以持续测试促进持续交付》,虽然不能代表全部,可以代表其中一个典型的应用。

总之,在持续测试甚至在一般的测试环境下,RBT是最基本的测试策略,而RBT的测试需求分析是基础,是我们需要掌握的基本技能之一。

ACTS:首屈一指的软件测试策略是什么?相关推荐

  1. 软件测试—软件测试基础知识—(三)软件测试的原则和(四)软件测试策略

    (三)软件测试的原则 1.测试应该尽早进行,最好在需求阶段就开始介入,因为最严重的错误不外乎是系统不能满足用户的需求. 2.程序员(开发)应该避免检查自己的程序,软件测试应该由第三方(测试人员)来负责 ...

  2. 软件测试学习笔记与思考(2)---软件测试策略

    来源课本 软件测试与软件开发的关系 软件测试在软件开发中的作用 项目规划阶段 负责监控整个测试 需求分析阶段 确定测试需求分析,即确定在项目中需要测试什么.同时制定测试计划. 概要设计与详细设计阶段 ...

  3. 如何制定软件测试策略

    一个完整的测试流程从制定测试策略开始,测试策略制定好了,才可以更高效的完成测试.主要思考点有以下三点: 1.为什么要制定测试策略 2.怎么制定测试策略 3.怎么执行测试策略 一.为什么要制定测试策略 ...

  4. 软件测试之测试策略:黑盒和白盒

    软件测试策略:黑盒测试和白盒测试 1. 基本概念 测试,是通过运行代码的方式来检验程序和需求的符合性.不管我们使用什么样的测试策略,最终都是需要运行一个个测试用例,检验合理性.个人认为,黑盒和白盒,更 ...

  5. 软件测试之测试策略与测试用例设计

    软件测试策略 1.测试分类 软件测试对象:程序+数据+文档 软件测试阶段分类:单元测试-集成测试-系统测试-验收测试 软件测试实施组织分类:开发方测试.用户测试.第三方测试 测试方法 按是否关注内部逻 ...

  6. 微服务架构下的测试策略

    源宝导读:最近几年,微服务架构越来越火爆,逐渐被企业所采用.随着软件架构的变化,对应的软件测试策略需要作何调整呢?本文将介绍云客在微服务架构下的测试策略. 一.云客测试策略模型 策略分析 行业内的测试 ...

  7. 作为一个新晋测试经理,在软件测试计划之前你必须知道的10件事

    有人喜欢创造世界,他们做了开发者:有的人喜欢开发者,他们做了测试员.什么是软件测试?软件测试就是一场本该在用户面前发生的灾难提前在自己面前发生了,这会让他们生出一种救世主的感觉,拯救了用户,也就拯救者 ...

  8. 穆迪收购风险与合规情报、数据和软件领域的领导者RDC

    纽约--(美国商业资讯)--穆迪公司(Moody's Corporation, NYSE:MCO)今天宣布,其已同意以7亿美元收购反洗钱(AML)和了解你的客户(KYC)数据及尽职调查服务领域领先企业 ...

  9. 【软件质量保证与测试】2.4软件测试与软件开发的关系

    文章目录 1. 软件测试与软件开发过程关系概述 2. 软件测试在软件开发生命周期中的位置 2.1 软件开发生命周期 2.1.1 软件规划阶段测试 2.1.2 软件设计阶段测试 2.1.3 软件开发阶段 ...

  10. 软件测评师教程之软件测试基础

    目录 一.软件测试分类 (1)按照开发阶段划分 (2)按照测试实施组织划分 (3)按照测试技术划分 二.软件测试过程模型 (1)V模型 (2)W模型 (3)H模型 (4)X模型 (5)前置测试模型 ( ...

最新文章

  1. 15、Kubernetes集群资源监控
  2. FFmpeg 中AVPacket的使用
  3. BLE 安全之虫洞攻击
  4. pytorch微调bert_北大、人大联合开源工具箱UER,3 行代码完美复现BERT、GPT
  5. 14.cookie与自动登陆
  6. nginx分割日志管理
  7. Oracle 存储大文本
  8. ccf会议等级划分_Python计算山东新高考选考科目卷面原始成绩为等级成绩
  9. channel c3 disabled, job failed on it will be run on another channel
  10. 心电信号越界怎么回事_人体心电信号的特点
  11. oo结尾的单词发音规律
  12. 集成运算放大器的应用——放大、加减、跟随、(滞回)比较器、阻抗匹配
  13. 在路上——黄山、宏村
  14. APPInventor网络数据库浏览器(TinyWebDB查询API)
  15. 故事会-设计模式-策略模式
  16. 神秘的罗斯柴尔德家族
  17. 幻想战姬PVP模拟器(二)
  18. 企业招聘普遍年龄35岁以下,那全国人过40岁都干什么去了?
  19. 典型Π型RC滤波电路
  20. 计算机server无法启动服务,win7不能启动server服务提示错误1068的解决方法

热门文章

  1. 无线传输 android下载,无线文件传输 WiFi File Transfer
  2. sever串口wifi拓展板_基于串口调试助手的WIFI模块调试-FPGA简单联网(点灯)...
  3. 【源码】6个超炫酷的HTML5电子书翻页动画
  4. authorization cache cannot be obtained
  5. PAT甲级-1118 Birds in Forest (25 分)
  6. SCAR:Scalable Consensus Algorithm 一种可伸缩共识算法
  7. Linux常见错误 “cp: omitting directory”解决办法
  8. 一个遮罩层怎么遮罩两个图层_遮罩动画只能有两个图层,上面为“遮罩层”,下面为“被遮罩”层。...
  9. 通过httpurlconnection发带图片的文件
  10. 【PHP基础-3】PHP常用运算符