如何提高测试用例覆盖率?阿里测试工程师是这样说的_如何提升测试场景覆盖度

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

分支覆盖
几乎没有一个业务场景是可以不需要进行判断的,在任何时候他们都需要分支出代码来满足功能要求。代码中的分支实际上是从一个决策点到另一决策点的跳转。分支覆盖范围检查代码中每个可能的路径或分支是否被覆盖。

分支覆盖率可以通过找到确保覆盖所有边缘的最小路径数来计算。在给定的示例中,没有一条路径可以确保一次覆盖所有边缘。

例如,如果您沿此路径1A-2C-3D-E-4G-5H覆盖最大边缘数A,C,D,E,G和H,则仍然会错过两个边缘B和F。测试人员需要遵循另一条路径1A-2B-E-4F覆盖其余两个边缘分支。通过组合以上两条路径,可以确保在所有分支均被测试用例覆盖到。

好处:

·分支覆盖涵盖了所有条件判断。

·分支覆盖验证是否所有分支都已测试。

缺点:

·分支覆盖忽略布尔表达式中由于短路算子而出现的分支。

路径覆盖
路径测试是一种结构测试方法,涉及使用程序的源代码来查找每个可能的可执行路径。路径覆盖范围可确保从头到尾覆盖所有路径。在此示例中,有四种可能的路径:

·1A-2B-E-4F

·1A-2B-E-4G-5H

·1A-2C-3D-E-4G-5H

·1A-2C-3D-E-4F

好处:

·它有助于减少冗余测试。

·路径覆盖率提供了较高的测试覆盖率,因为它覆盖了代码中的所有语句和分支。

缺点:

·测试每条路径既困难又费时,因为许多路径与分支的数量成指数关系。

·在实际业务中,由于数据的关系,许多路径很可能是不通的。

条件覆盖
条件覆盖率检查每个条件的两个结果(true或false)是否均已执行。逻辑判断点的结果仅与检查条件有关。每个条件需要两个测试用例才能实现两个结果。

好处:

·条件覆盖范围相互独立地测量条件。

·条件覆盖对控制流具有更好的敏感性。

缺点:

·类似于分支机构/决策范围,决策点和测试用例指数关系。

·对于多条件测试经常,很难避免用例重复

边界值覆盖
对于那些由于输入数字而发生错误的应用程序,边界值覆盖率指标非常有用。大多数BUG都是发生在边界值处。在边界值覆盖范围内,在等效类的端点处选择测试用例。对于此测试覆盖率示例,以下是需要3位数字作为输入的应用程序的边界值。

·100(最低)

·99(仅低于最小边界值)

·999(最大)

·1000(仅在最大边界值之上)

好处:

·测试小组使用边界值覆盖数据代替测试大量数据集是很容易的。

·边界值覆盖易于使用,因为它易于自动化已识别测试的性质和一致性。

缺点:

·边界值覆盖无法测试两个输入之间的依赖关系。

·边界值覆盖不能覆盖包含布尔函数的代码。

什么是测试覆盖率指标

下面是是5个关键的测试覆盖率指标。

代码级指标
测试执行覆盖率,它也称为已执行测试,是已通过/已执行测试在总测试数量中所占的百分比。

·优点是可以通过统计通过和失败的测试次数来获得测试进度的直观描述。

·缺点是计数通过的测试用例并不能说明这些测试的质量。例如,某些测试可能会通过,但是在某些非正常时候,程序会触发一些BUG。

功能测试指标
需求范围
需求覆盖率用于确定测试用例满足软件需求的程度。为此,测试工程师只需要将发布或项目的需求数量除以范围需求的总数即可。

测试范围
在需求模块中,可以通过将测试用例链接到需求来统计测试覆盖率。测试覆盖率评估测试或需求变更的影响。通过覆盖多个用例,用需求覆盖测试配置可以提供更精细的粒度。

用例质量
此度量标准用于查看要测试的功能以及符合要求的测试数量。大多数需求包含多个测试用例。了解特定需求正向和逆向的测试场景对于编写特定需求的测试用例非常重要。

测试范围
此标准对利益相关者非常重要,因为它直观展示了应用程序/软件开发对于需求的完成度。

应用程序级别指标

缺陷密度
缺陷密度是对已知缺陷总数的度量除以要测量的软件实体(通常是代码行数、模块数、功能数)的数量。

测试范围
它可以被用于标识需要自动化的模块。如果特定功能的缺陷密度很高,则需要重新测试。为了减少重新测试的工作,可以将已知缺陷的测试用例自动化。

在评估缺陷时,考虑缺陷的优先级很重要。通常较高优先级的缺陷会作为此度量标准的极其重要的一部分而获得更高的权重。

如何衡量测试覆盖率
许多质量检查团队在衡量测试覆盖率时不会考虑的一件事:如何衡量测试覆盖率?如何测量测试覆盖率?

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 17
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
确保测试用例的全面性和有效性是软件测试中非常重要的一项工作。下面是一些方法和技巧,可以帮助您实现这一目标: 1. 需求分析:仔细分析软件的需求文档,确保对软件功能和性能的理解准确无误。这将有助于您确定需要测试的各个方面。 2. 边界值测试:针对输入参数的边界值进行测试,包括最小值、最大值和临界值。这样可以确保系统在各种极端情况下的正确性。 3. 等价类划分:将输入参数划分为等价类,每个等价类代表一组具有相似特征的输入。然后选择一个代表性的测试用例来覆盖每个等价类。 4. 错误推测:根据以往的经验和常识,推测可能出现的错误和异常情况,并设计相应的测试用例来验证系统对这些情况的处理能力。 5. 功能覆盖:确保测试用例覆盖软件的所有功能模块和业务流程。可以使用功能点分析、流程图等方法来辅助确定测试用例。 6. 随机测试:使用随机生成的数据进行测试,以发现系统在不同输入情况下的行为。这有助于发现一些意外的错误和异常情况。 7. 错误注入:有意地在系统中引入错误,以测试系统对错误的处理能力。例如,修改输入数据、模拟网络故障等。 8. 自动化测试:使用自动化测试工具来执行测试用例,可以提高测试效率和准确性。同时,可以编写自定义的断言和验证规则,确保测试结果的正确性。 9. 定期回顾和更新:定期回顾测试用例,确保其与软件需求的一致性。根据软件的变化和演进,及时更新和补充测试用例
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值