Risk and RBT(风险及基于需求的测试)

基于风险的测试方法(RBT) 基于风险的测试方法(RBT) 基于风险的测试是根据影响的大小和失败的可能性,对被测应用程序的特性、模块和功能进行优先级排序。它涉及基于复杂性、业务关键性、使用频率、可见区域、缺陷易发区域等来评估风险。 风险是对项目的可测量的成功标准有积极或消极影响的不确定事件的发生。可能是过去发生的事件,也可能是现在的事件,或者是将来可能发生的事情。 这些不确定事件会对项目的成本、业务、技术和质量目标产生影... 阅读详情

Risk and RBT(风险及基于需求的测试)

陈能技

2007-8-9

原文:Risk and Requirements-Based Testing (James Bach)

 

I think we need to break out of the mythology that testing is some kind of robotic process.

我想我们需要粉碎这种测试观点:测试是一种机械的过程.

 

需求开发不是在项目启动时一次搞定的。实际上,需求是贯穿在项目生命周期中的两方谈判。一方在问:我们需要什么?而另一方则在问:我们能构建什么?

 

这两方对话的质量帮助决定产品的最终质量。

 

我把需求理解成众多想法的集合,它们共同为特定产品定义质量。我把测试定义成开发一套评估系统的过程,用于对产品质量进行评估。

 

RISK AND REQUIREMENTS TESTING 风险与需求测试

至少有四种关于需求与测试的腐朽观点:

1.除非有稳定的需求,否则测试不可能进行。

2.一个软件产品必须满足它的特定的需求。

3.所有测试用例必须可追踪到一个或多个特定的需求项,反之亦然。

4.需求必须以可测的方式描述。

 

然而,当我们考虑到风险,我相信有更丰富的概念出现。

 

Testing without stated requirements 没有特定需求下的测试

满足需求是非常重要的,测试员的工作之一就是确认产品满足需求,所以明显测试人员需要清楚需求。所以上面说的不无道理,并且在大部分情况下是对的。

 

但是,由于不完整性和不清晰性,测试不能仅仅认为是一个确认过程。测试同时还是探索需求和实现的过程。因此,测试不仅可以没有特定需求,而且在需求不确定的情况下特别有用。我想我们需要粉碎这种测试观点:测试是一种机械的过程.通过测试和开发的合作会产生巨大的价值。有经验的测试员通过他们对未定需求的理解评价产品,并且通过观察来挑战或提问项目成员对质量的共同理解。

 

一个好的测试员会对特定需求的差距始终保持警惕,并且解决这些差距到一定的程度:满足特定情况下的风险。

 

Satisfying stated requirements 满足特定需求

如果每一个特定的需求项都是产品的真实声明,然后我们把产品质量定义为这一前提的延伸。那么软件产品必须满足它的特定需求这一观点是成立的。但是那有赖于我们有非常清晰和完整的需求集合。否则,你将被锁定在一个很窄的质量范围内。

 

关于满足需求的更广泛的思考范围是把我们的思维转变到考虑不满足特定需求的风险。好的测试员会努力地回答这个问题:什么是这个产品的重要问题?

 

Tracing test cases to requirements 把测试用例跟踪到需求

需求如果要发挥作用,则测试与需求之间应该有所关联。谈到可追踪性,通常摘要为:

为每个需求项ID,列举关联的测试用例的ID;为每个测试ID,列举关联的需求ID。

测试的完整性被大概地通过“对于每个需求项,至少有一个测试关联”来估计。这是一个很理想的观点。

如果可追踪性的目的是用于证明测试策略已经验证了产品的需求,那么我们应该进一步。我们应该随时准备回答客户的问题。“你怎么知道它证明了?”我们应该能解释我们的测试与需求之间的关系。重要的是需求和测试是如何关联的,并且随着产品风险越高越重要。

 

Stating requirements in testable terms 在可测性方面衡量需求

需求有意义是非常重要的。然而,“可测性”通常定义为“有利于完全可靠,一致性和可观测性的度量,从而决定是否顺从需求”。这个观点强调除非我们能够度量是否成功,否则我们永远不能知道我们是否完成测试。

 

首先我们应该重新认识一下测试员,他们不是懒汉,他们拥有普通人的洞察能力和推理能力。一个典型的测试员应该能够探索需求的含义和潜在意义,而不一定需要这些信息,就像一个濒临绝种的小秃鹰被滴入眼药水一样。事实上,尝试通过简化需求说明从而达到可测试程度,进而减少测试人员的麻烦,这种做法有可能造成更大的麻烦。

 

看一下一个真实的例子:显示控制器应该在300毫秒内响应用户的输入。

当一名测试员看到这个需求的时候,他以为要买一台特定的仪器来测量产品的毫秒级性能。后来他意识到:一个正常人能辨别正负50毫秒的分辨率,也许这已经足够精确了。再后来他意识到:也许这个需求项指定到毫秒级不是为了使需求更有意义,而是为了使需求更具衡量性。当他问到设计者时,发现真正的需求是:响应时间“在这个版本的产品中不要慢得烦人”。

 

因此我们看到实际的测试不一定需要精确的需求说明,测试是通过有效的和有意义的沟通进行的。

 

REQUIREMENTS, TESTING,AND CHALLENGING SOFTWARE 需求,测试与挑战软件

1.我们认识产品的问题的能力是受限于我们对问题可能产生的地方的理解。需求规格说明书是一个问题信息的潜在来源。

 

2.我们招致风险取决于发布产品中包含的重要问题的程度和范围。测试的真正任务是把这些风险暴露出来。而不仅仅是展现特定需求的不一致性。

 

3.特别是在高风险的情况下,如果我们能证明测试策略与定义的质量之间的关联,测试过程应该会更具说服力。这超出了至少一个测试对应一个需求项的范畴。

 

4.如果需求说明更多地关注什么才是关键的要求,关注风险、益处和每个需求项的重要程度,则测试过程会更有效。目标可度量性在某些情况下是需要的,但是它不足以产生健壮的测试。

 

如果把这些规则应用到高风险或复杂的软件会发生什么事情呢?

随着风险和复杂度的增加,如果测试过程要想完成任务,测试参与到需求的对话中就显得尤为重要了。需要更多的测试技巧,作为与开发更好的配合,与用户更好的沟通。在这个关于我们要什么的对话中,测试员应该寻找沟通的更多渠道:更多文档的原材料,图表,演示,谈话和用例。在关于我们能构建什么的对话中,测试员应该熟悉采用了什么技术,并且与开发人员一起为产品构建可增强可测试性的特性。

 

在整个过程中,测试员应该注意项目的风险和复杂性是否超过了测试的能力。

 

本文并不是要改变关于需求必须清晰准确的指导方针。本文强调管理风险和关于项目的质量共识之间的关系重要性。

 
什么是基于风险的测试(Risk-Based Testing)? 摘要: 基于风险的测试(RBT)是一种通过评估功能模块的缺陷可能性和影响严重性,优先分配测试资源的策略。核心思想是聚焦高风险区域(如核心功能、高频缺陷模块),减少低风险区域的投入,以最大化测试效率和软件质量。实施步骤包括风险识别、评估、制定动态测试策略及持续调整。RBT适用于时间紧张的项目,帮助团队明确测试重点,提升决策透明度,确保关键问题优先解决。其本质是权衡资源与质量,用有限测试覆盖最关键风险。(150字) 阅读详情

相关推荐

MT5策略如何设置回测结果才能最接近实盘

摘要:在MT5回测中,选择"每笔分笔报价"模式最接近实盘交易,因其使用真实Tick数据模拟价格波动、点差和滑点。关键设置包括:下载高质量历史数据、合理设定点差和滑点、使用正常回测速度。该模式能准确测试挂单、止盈止损等策略,虽然速度较慢但结果最可靠,避免其他模式造成的失真,是评估交易策略表现的最佳选择。(149字)

weixin_38915451的博客 1877

基于风险的测试学习总结

基于风险的测试学习总结RBT的概念为什么需要RBT如何进行RBT新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入...

牛叫兽的测试学习和分享 2335

Sentinel--哨兵系列数据下载地址及流程更新【202310】

哨兵系列数据下载地址及流程更新。哨兵系列卫星作为哥白尼计划的一部分,主要目标便是对地球的观测任务。哥白尼计划由三部分组成:空间部分(哨兵系列太空任务与其他太空机构任务)、测量部分(提供海洋、大陆表面和大气信息的陆基和机载数据收集网络)、数据管理与全球共享。

twg666的博客 3万+

基于风险的测试终极指南:软件测试中的风险管理(一)

基于风险的测试,风险管理及其方法的终极指南与示例: 什么是基于风险的测试? 基于风险的测试(即Risk Based Testing,简称RBT)是进行测试或设计和执行方案,以便在生命周期的早期阶段在产品或功能中挖掘出主要的业务风险,这些风险对用户层面的业务会产生负面影响,并且 通过实施缓解措施来缓解。 负面影响包括成本影响,客户不满意,糟糕的用户体验,甚至是失去客户。 换句话说,RBT方法...

我的E家 3612

用户存续期价值评估(CLV) 一

用户存续期价值评估(CLV) 1 一. 定义 ​     用户存续期价值(Customer Lifetime Value),也可称为CLTV、LCV或者LTV,是企业对未来一个客户与其的关系所带来的净收益的预测。这个预测模型可以有不同水平的复杂度和精确度,从一个直观感觉到使用复杂的预测技术。CLV可以被简单理解为客户关系的价值,也就是未来由于与客户的关系所带...

weixin_43171270的博客 8025

移动机器人路径规划中噪声环境下的鲁棒性测试仿真

设计一个二维或三维环境模型,包括静态障碍物和可能存在的动态障碍物。

amy_mhd的博客 126

常说的风险评估,那么「基于风险的测试 (RBT)」如何测试?

基于风险的测试 (RBT) 是一种,它根据风险的概率和影响确定测试活动的优先级。它涉及在潜在问题发生之前识别它们,并将资源分配给风险最高的测试区域。在 RBT 中,“风险”是指缺陷的可能性及其对系统运行或业务的潜在后果。若要实现 RBT,团队通常遵循以下步骤:识别潜在风险。根据这些风险的严重性和可能性来评估这些风险并确定其优先级。定义和目标,以降低最高风险。相应地分配测试资源。执行测试,首先关注最关键的领域。根据需要监控和调整。

NHB222222的博客 1361

绿米Aqara S1【妙控开关 S1E】版本降级或升级自定义固件的方法

绿米Aqara S1【妙控开关 S1E】版本降级或升级自定义固件的方法

LeeKwen的专栏 2171

RBT测试方法的优秀实践

基于风险的测试方法(Risk-Based Testing, RBT)是一种有效的软件测试策略,它根据风险的概率和影响来确定测试活动的优先级。以下是基于风险的测试方法的优秀实践:

伤心的辣条 1136

从零开始学习PX4源码20(遥控器模式切换如何执行)

本节主要学习PX4的手动遥控器切换模式,具体是如何实现的,具体改变了哪些变量,和模式管理有什么联系。

陌城烟雨 316

四舵轮底盘运动学模型(源码)(四轮四独立转向)二

舵轮4转向活动范围 x 轴正半轴,x轴正方向为0弧度,左正右负, -M_PI/2 < 转向范围 < M_PI/2;移动底盘的正前方为x方向,左侧为y轴方向(遵循右手坐标系,右手大拇指指向天空为z轴方向,食指与中指垂直,食指指向小车正前方为x轴,中指指向为移动底盘y轴方向)转向:逆时针旋转角速度w为正,顺时针旋转角速度w为负。(遵循右手螺旋法则,右手握拳大拇指指向天空为旋转z轴方向,拳垂直于地面,4指方向即底盘转动的正方向)左前轮为1号轮,右前轮为2号轮,左后轮为3号轮,右后轮为4号轮。

苏凯的博客 527

基于风险的测试(RBT)优秀实践

有两种主要的理解方式:一种是基于风险的测试(Risk-Based Testing),另一种是基于需求的测试(Requirements-Based Testing)。基于需求的测试确保了测试活动与项目目标的一致性,有助于提高测试的质量和效率。通过遵循上述优秀实践,团队可以确保所有重要的功能都得到了适当的测试,并且能够及时发现并解决潜在的问题。基于风险的测试是一种战略性的测试方法,它侧重于识别和优先处理最有可能对项目造成负面影响的风险。在测试完成后进行总结,分析测试过程中发现的问题和缺陷,并评估测试的有效性。

Hacker_xingchen的博客 940

学Simulink--进阶电机控制场景实例:基于Simulink的异步电机定子磁链定向控制(SFOC)仿真

本文详细介绍了基于Simulink的异步电机定子磁链定向控制(SFOC)仿真实现方法。主要内容包括:1) SFOC原理分析,突出其对转子参数不敏感的优势;2) 工业风机驱动系统的完整建模流程,涵盖主电路搭建、坐标变换、磁链观测器设计等关键步骤;3) 核心模块代码实现,包括电压模型磁链观测器和双闭环PI控制器;4) 仿真结果验证了SFOC在转速响应(0.2s)、转矩恢复(0.15s)和参数鲁棒性(转子电阻变化50%时转速波动<2%)方面的优异性能。本文为工程师提供了实用的SFOC系统开发指南,特别适用于

amy_mhd的博客 116

基于风险的测试终极指南:软件测试中的风险管理(二)

何时使用RTB测试方法? This is used under the below scenarios: RBT approach can be used whenever there is a limitation or constraint on Time, cost and resources of a project and whenever there is a need to op...

我的E家 1719

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

基于风险的测试终极指南:软件测试中的风险管理(四)

How is RBT Relevant to Agile and DevOps? RBT与敏捷和DevOps的关系? Now, after understanding the Risk Based Testing approach of carrying out the testing based on the prioritization of tests depending upon th...

我的E家 1370

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

什么是基于风险的测试?在时间紧迫时,如何用它来确定测试的优先级?

基于风险的测试是一种软件测试策略,它将测试工作的优先级和力度与软件功能失败可能带来的风险大小直接挂钩。简单来说,它不是要测试所有东西,而是要优先测试最可能出问题、且一旦出问题后果最严重的地方。RBT的核心思想源于一个基本事实:软件中的所有缺陷并非生而平等。一个导致支付系统崩溃的Bug,其风险远高于一个在“关于我们”页面上的拼写错误。RBT让我们停止盲目地追求100%的代码覆盖率或测试用例执行率,转而关注“风险覆盖率”——我们是否已经充分测试了那些最高风险的区域?

m0_59598970的博客 938

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

RBT测试

http://danielzzu.blog.163.com/blog/static/118515304201091902343768/  测试人员的首要职责是找bug,但是最重要、最根本的职责应该是在软件产品发布前确保公司的软件产品满足顾客的需求。   测试组采用RB

on the way 3874

基于风险的测试:精准导航,优化资源分配

摘要:基于风险的测试(RBT)是优化软件测试资源配置的有效框架。该策略通过系统识别和分析软件风险,优先处理高风险区域,减少低风险区域的测试投入。RBT贯穿测试全生命周期,包括测试计划、设计、执行和缺陷管理,实现精准资源分配。在敏捷/DevOps环境下,RBT通过持续风险评估和动态调整,支撑快速高质量交付。成功实施RBT需要建立统一流程、促进跨团队协作、利用工具数据支持决策。RBT帮助测试团队从被动找错转变为主动风险管理,在资源受限情况下最大化测试价值。

2501_94449311的博客 946

软件测试风险与建议,基于风险的测试——一些实用的建议

风险处理——老生长谈?在20世纪50年代,当数学家David van Dantzig 在防卫洪水的领域作出先锋性工作的时候,风险分析和风险处理就已经被应用在工程上了。自那以后,风险处理的意识在不同的工程领域得到发展和传播。在软件测试领域,风险处理最早的应用之一是Boris Beizer在他的传奇著作——软件测试技术里著述到,测试时需要考虑到风险。James Bach 在1995年以更时髦的方式第一...

weixin_39616379的博客 444
上一篇: 为可测性而设计
下一篇: 软件可测试性的启发
TIB
TIB
博客等级 码龄19年 2879粉丝 957原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值