聊聊测试覆盖率

简介: 聊聊测试覆盖率

聊聊测试覆盖率


作为测试人,我们每天都在经历各种新功能上线,比如微信小程序、网站、 app、小程序等。


而这其中的测试也是每天都要经历的事情,但是你有没有想过测试覆盖率也是一项重要的技能呢?如果你有一天发现自己所做的测试效果不理想,你会怎么办?


对于普通的测试人员来说,这是非常头疼的事情。我们先来了解一下什么是测试覆盖率。


「测试覆盖率是指一项测试人员所获得的测试效果数占测试整体数量的百分比。」


1、概念

换句话说,测试人员所测试获得的结果和所获得的整体数量相比,是占百分比数。那么,我们怎么才能知道自己所做的测试是否合格呢?


答案是:在开始进行测试之前,我们需要确定一个测试目的或者一个测试需求。那么这个测试目的或者需求是什么呢?就是为了确定是否能够通过某项测试获得满意的结果。所以测试覆盖率就显得非常重要了,这个指标很重要。在我们进行任何一项测试之前都应该确定测试目的或者目标。


2、为什么要对产品测试覆盖率进行定义

所以,对于某些业务来说,可能你一个小功能在你实际测试中没有问题,但是可能存在一些问题没有被发现。这时候为了保障测试效率我们就需要找到问题原因。而对于测试覆盖率来说,可以更好地解决这一问题。因为覆盖率反映出在测试中可能会存在的某些情况——如果测试环境中的所有产品都符合这一要求并且能够实现,那么可以更好地保障系统的安全性。所以我们可以在一定程度上降低测试覆盖率过高的情况——这样既可以让我们有时间去寻找问题原因和解决方案,也可以让我们发现一些可能导致产品功能缺陷的问题以及处理方法。但是,我们还是需要指出一点,测试覆盖率不能过于频繁地改变测试环境或设置,也不能完全依赖测试环境和设置。而需要结合具体情况分析解决方案或者调整设定来应对这种情况。


3、测试覆盖率的使用场景

对于不熟悉的情况下,我们可以在测试人员较少的情况下使用覆盖率。比如,一款微信小程序开发在测试之前,需要进行测试验证是否具备打开微信 App的功能。这个时候,我们可以测试,而不是完全依赖测试人员来完成测试。当然,这也不是说测试覆盖率一定要全部覆盖,但是我们在使用过程中也要注意一些问题。比如当我们测试一个 app时,可能会有多种 app,我们可能需要分别去测试不同的 API接口: app内直接访问功能进行操作;跳转到该 app首页进行操作;跳转到其他页面操作;跳转到下一步操作等等。这时候我们需要通过不断地测试来不断调整测试策略来提高覆盖率。在这里,我还给大家提供一个简单的测试策略:选择最优测试策略。


4、了解产品特性

产品特性是指:

  • (1)稳定性:系统的稳定性、逻辑关系与产品在开发过程中、在产品的测试过程中,是保持一致的,而且有很多种方法。
  • (2)响应速度:比如:功能启动、响应时间,以及响应速度;响应时间越短,响应就越快。
  • (3)用户参与度也就是你的用户人数。
  • (4)易用性:对某个产品来说,用户粘性比较高,同时也是一种复购行为;

如果是针对一个小程序或者功能来说更明显;对某个老产品来说则更难。另外,有些产品可能比较难做的,比如说: APP功能设计上可以让你的业务更加容易上手操作;另外对于特定场景也没有特殊要求。


5、实现产品特性时如何确定实现覆盖率

当测试团队中的成员不能确定要测试什么产品时,他们通常会使用测试覆盖率来衡量他们的产品测试覆盖率。如果一个项目中有很多方面的特性,比如:交互方式、数据存储、异常处理等等。那么很容易就会被识别出一个功能来,并需要不断地进行测试以发现其中不同的方面存在不同程度的问题。这时测试覆盖率往往是无法确定出来的,因此需要根据具体情况进行具体分析,再根据具体情况来决定是否要进行测试。当项目中有很多方面可以实现测试覆盖率时,这就意味着有很多方面可以测试。所以可以使用一些通用但又相对简单的方法来衡量自己所负责的产品是否已经达到测试覆盖率的要求。


6、如何在测试过程中把控覆盖率

我们都知道,当我们完成一项新功能时,如果测试不能准确的判断其是否存在不可用,就需要进行测试覆盖率的把控:可以是多测试几次,但不能太多也不能太少。对于测试覆盖率来说,就可以通过三次测试来了解测试人员完成一个新功能后,有多少次测试通过了,就可以知道是不是该产品。我们在测试中会遇到很多类型的问题(很多时候不会有经验),「那么我们应该怎么解决呢?」

  • 1、在目标范围内设定覆盖率:对于不同规模的公司来说,一个月内产品上线一次是比较正常的事情,所以在设定覆盖率时一定要有一个上限值。
  • 2、设定覆盖阈值:对于新功能来说,如果一个月内产品上线了三次,那么覆盖率可以设定为50%;但如果该产品没有上线三次,那么覆盖率可以设置为60%。
  • 3、在设定覆盖率时要结合实际情况。
相关文章
|
1月前
|
安全 测试技术
北大李戈团队提出大模型单测生成新方法,显著提升代码测试覆盖率
【10月更文挑战第1天】北京大学李戈教授团队提出了一种名为“统一生成测试”的创新方法,有效提升了大模型如GPT-2和GPT-3在单一测试中的代码生成覆盖率,分别从56%提升至72%和从61%提升至78%。这种方法结合了模糊测试、变异测试和生成对抗网络等多种技术,克服了传统测试方法的局限性,在大模型测试领域实现了重要突破,有助于提高系统的可靠性和安全性。然而,该方法的实现复杂度较高且实际应用效果仍需进一步验证。论文可从此链接下载:【https://drive.weixin.qq.com/s?k=ACAAewd0AA48Z2kXrJ】
63 1
|
2月前
|
人工智能 测试技术 开发者
北大李戈团队提出大模型单测生成新方法,显著提升代码测试覆盖率
【9月更文挑战第27天】北京大学李戈团队在人工智能领域取得重要突破,提出HITS新方法,通过将待测方法分解为多个切片并利用大型语言模型逐个生成测试用例,显著提升代码测试覆盖率,尤其在处理复杂方法时效果显著,为软件开发和测试领域带来新希望。尽管存在一定局限性,HITS仍展示了巨大潜力,未来有望克服限制,推动软件测试领域的创新发展。论文详情见【https://www.arxiv.org/pdf/2408.11324】。
96 6
|
1月前
|
设计模式 关系型数据库 测试技术
进阶技巧:提高单元测试覆盖率与代码质量
【10月更文挑战第14天】随着软件复杂性的不断增加,确保代码质量的重要性日益凸显。单元测试作为软件开发过程中的一个重要环节,对于提高代码质量、减少bug以及加快开发速度都有着不可替代的作用。本文将探讨如何优化单元测试以达到更高的测试覆盖率,并确保代码质量。我们将从编写有效的测试用例策略入手,讨论如何避免常见的测试陷阱,使用mocking工具模拟依赖项,以及如何重构难以测试的代码。
57 4
|
4月前
|
测试技术
单元测试策略问题之行覆盖率和分支覆盖率之间的问题如何解决
单元测试策略问题之行覆盖率和分支覆盖率之间的问题如何解决
160 7
|
3月前
|
Java 测试技术 API
SpringBoot单元测试快速写法问题之计算测试用例的分支覆盖率如何解决
SpringBoot单元测试快速写法问题之计算测试用例的分支覆盖率如何解决
|
4月前
|
测试技术 开发者
单元测试问题之为什么单测覆盖率高的项目模块更易于迭代演进
单元测试问题之为什么单测覆盖率高的项目模块更易于迭代演进
|
4月前
|
测试技术
codereview开发问题之CodeReview关注代码的测试覆盖率问题如何解决
codereview开发问题之CodeReview关注代码的测试覆盖率问题如何解决
|
4月前
|
Java 测试技术 Maven
在Java项目中集成单元测试与覆盖率工具
在Java项目中集成单元测试与覆盖率工具
|
Java 测试技术 Maven
Spring Boot 中的测试覆盖率是什么,如何使用
Spring Boot 中的测试覆盖率是什么,如何使用
|
Java 测试技术 Maven
SpringCloud项目编译打包执行单元测试(修复单元测试数量为0)-流水线sonarqube扫描jacoco插件展示覆盖率
SpringCloud项目编译打包执行单元测试(修复单元测试数量为0)-流水线sonarqube扫描jacoco插件展示覆盖率
下一篇
无影云桌面