软件测试基础(四) 之 软件测试的覆盖率

news2024/11/19 1:30:26

一、什么是软件测试的覆盖率?

  软件测试覆盖率是软件测试技术有效性的一个度量手段,用来度量测试完整性。

  意思概括的说,软件测试的工作中会有非常非常多的item(任务),执行过的任务和总任务数的一个比值,这就是覆盖率。

  计算公式:覆盖率=(至少被执行一次的item数)/item的总数

  比如从大的角度来说,我的一个需求现在有一万个功能点,那这一次测试了9000个功能点。用9000除以1万,证明这轮测试的功能点覆盖率达到了90%,这就是一个最简单的计算模式。

二、测试覆盖率的特点

  当然覆盖率也没有这么简单,覆盖率他会有一些自身的特点。

1、通过覆盖率数据可以特别清晰地判断出一轮测试到底是不是足够充分。

  一般情况下来说,如果在一次迭代也好,在一次版本发布也好。手工测试可能没有完全覆盖项目中的功能,需要用一些自动化的手段来补足,来保证覆盖率达到某一个标准之上,才能够证明这一个版本的测试是通过的。

2、可以通过覆盖率分析出测试的弱点在哪些方面。

  说有的人每一次测试都能覆盖到80%,有的人可能覆盖到60%,这两个人在对于这次测试工作的衡量上,会产生一些问题,这个衡量度的把握,到底是覆盖率高的人最后正确,还是覆盖率低的人正确,这个不能够草率地去下结论,要根据实际情况去深入的分析。这一次的程序修改到底会影响哪些方面,才能够分析出应该覆盖哪些方面的测试。如果有遗漏,就能够分析出这次测试里面的弱点,到底在于测试的设计阶段,还是的执行阶段。

3、测试覆盖率能够指导增加设计测试用例。

  测试用例的增加,会有效的提高测试质量。但是测试的目的不是一味的去追求覆盖率,因为测试成本本身会随着的测试覆盖率的增加而增加。

三、测试覆盖率对于黑盒测试

  测试覆盖率对于黑盒测试来说主要标识的两个方面,一个是需求覆盖,一个是用例覆盖。

1、需求覆盖

  从需求覆盖角度上讲定义很简单,就表示在测试过程中,有哪些需求方法,有哪些函数被测试到了,他被测试到的概率(频率)到底有多大,这些函数在系统所有函数中的占比是多少。并且还要制定一个标准,有多大的概率,多大的通过率,才能够叫做这一版本的测试完成,这是需求覆盖的内容。

  需求覆盖本质上在计算的时候,是根据需求文档为依据的。需求文档里会有一些需求点的拆解,根据这些点来决定来判断测试需求覆盖率。也就是说哪些需求是被验证到的,哪些需求没有被被验证到。我一共有100个需求,但是其中可能有一个需求的点我没有测试到,当然这其中的原因有很多,有可能是开发没有提交,有可能是这方面就完全忽视了,用例也没有涉及到,所造成的需求遗漏。

  用下面公式计算需求覆盖率是多少。

  计算公式:需求覆盖=(被验证到的需求数量)/(总的需求总数)

  一般来说一个程序在第一次发布的时候,发布到线上给其他客户使用时候的需求覆盖率一定要达到百分之百。如果是后续迭代的时候,就要去考量每一次代码修改所影响到的范围。通过分析这个影响范围来决定到底应该覆盖哪些需求,这个时候的覆盖率就不一定是百分之百。但是仍然需要有一定的覆盖率,即便其他的模块可能跟这次修改没有任何影响,那我也需要从测试角度去考虑。在有条件的情况下,去完成更多需求方面的基本覆盖。

2、用例覆盖

  用例覆盖就很明显,它主要体现的就是在每轮测试验证的过程中,通过用例数在总用例数中的比重计算得出。

  计算公式:用例覆盖=(验证通过的用例数量)/(总的用例总数)

  验证过的用例是包含两方面,除了手工测试的用例,还包含自动化测试的用例。测试覆盖率不是说用例覆盖越高越好,还是要经过判断之后,在得出结论。但是用例覆盖是一个非常关键的度量因素,尽量的保证覆盖要全面。一般情况下,每一次上线要求自动化加手动测试的用例覆盖,要高到80%以上,才能够教这一轮测试的完成。

如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步

在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。

我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,

测试开发视频教程、学习笔记领取传送门!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/195004.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

尚医通 (二)项目搭建

目录一、工程结构介绍1、工程结构2、模块说明二、创建父工程1、创建sprigboot工程yygh_parent2、删除 src 目录3、配置 pom.xml4、在pom.xml中添加依赖的版本三、搭建model模块1、在父工程yygh_parent下面创建模块model2、添加项目需要的依赖3、复制项目实体类和VO类四、搭建se…

require和important区别

1.require是赋值过程,就是把一个值赋值给另一个,important是对这个值的引用 2 . require 是赋值过程并且是运行时才执行,也就是同步加载,import 是解构过程并且是编译时执行,理解为异步加载 3.require 的性能相对于 im…

Linux部署达梦数据库超详细教程

陈老老老板🦸👨‍💻本文专栏:国产数据库-达梦数据库(主要讲一些达梦数据库相关的内容)👨‍💻本文简述:本文讲一下达梦数据库的下载与安装教程(Linux版&#x…

百度网盘秒传链接生成及提取方法

百度网盘秒传链接生成及提取方法 1.认识秒传链接 首先,我们认识一下秒传链接的格式: 秒传链接是由标准提取码文件名组成。例如下面的格式: fd00338387f50ee5919eb3df4cfce6e3#5048587008#/影视/电影/救火奶爸.mp4 百度网盘秒传链接的提取主…

FISSURE:一款功能强大的RF和逆向工程框架

关于FISSURE FISSURE是一款功能强大的RF和逆向工程框架,该工具适用于不同技能水平的安全研究人员,并提供了信号检测、信号分类、协议发现、渗透测试、IQ操作、漏洞分析、自动化和AI/机器学习等功能。该框架旨在促进软件模块、无线电、协议、信号数据、脚…

2023年怎么开通一个抖音小店?店铺开通后做什么?开店指南!

大家好,我是王路飞。 2023年都已经过去一个月了,你开通抖音小店了吗? 作为目前最受欢迎的创业和副业项目,开通抖音小店的商家数量与日俱增,都是为了蹭一下抖音流量的红利,毕竟直播带货如今正处在风口。 …

50条必背JAVA知识点(三)

31.面向对象中两个重要的概念:类:对一类事物的描述,是抽象的、概念上的定义对象:是实际存在的该类事物的每个个体,因而也称为实例(instance) 32.虚拟机栈,即为平时提到的栈结构。局部变量存储在栈结构中&a…

专利的申请和驳回

说明书和权利要求的区别 说明书里面会写这个新方案的具体内容,实施方案,解释说明等,权利要求书的话,就是对这些具体的内容进行概括 说明书应当补充说明该发明相比有技术的优势 就投屏举例: 到底怎么写 三篇 阿里 楼x投屏方法及装…

人工智能服务哪家强?IDC评估报告看过来

如果您还不知道如何选择人工智能AI服务供应商,那么IDC的这份评估报告也许可以派上用场。如何选择AI软件工具和平台随着科技的不断发展,人工智能(Artificial Intelligence,简称AI)技术在近年来取得了长足的进步。从语音…

简介JWT

简介JWT http协议无状态的,所以需要sessionId或token的鉴权机制,jwt的token认证机制不需要在服务端再保留用户的认证信息或会话信息。这就意味着基于jwt认证机制的应用程序不需要去考虑用户在哪一台服务器登录了,这就为应用的扩展提供了便利&…

Python函数和 lambda表达式

Python提供了许多内置函数,比如:print(),len()等。它还支持用户自定义函数。 一、Python函数 1、函数定义使用 (1)函数定义 Python 允许我们将常用的代码以固定的格式封装(包装)成一个独立的…

一刷代码随想录——字符串

1 力扣344.反转字符串题目描述:编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。class Solution { public:v…

数据库原理与应用-关系数据库

关系数据结构及形式化定义关系操作关系的完整性关系代数关系演算

WebSocket协议简介

一、WebSocket协议是什么 WebSocket是基于TCP的应用层协议,用于在C/S架构的应用中实现双向通信,它实现了浏览器与服务器全双工(full-duplex)通信,也就是允许服务器主动发送信息给客户端。 WebSocket 协议主要为了解决基于 HTTP/1.x 的 Web …

【正点原子Linux连载】第一章 VMware虚拟机安装 摘自【正点原子】ATK-DLRV1126系统开发手册

1)实验平台:正点原子RV1126 Linux开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id692176265749 3)全套实验源码手册视频下载地址: http://www.openedv.com/thread-340252-1-1.html 第一章 V…

flex布局常用属性记录

场景:前端常用的页面布局当使用 flex 布局时,首先想到的是两根轴线 — 主轴和交叉轴。主轴由flex-direction 定义,另一根轴垂直于它。我们使用 flexbox 的所有属性都跟这两根轴线有关;这里只做主轴的介绍:主轴主轴由 f…

算法刷题-四数之和、缺失的第一个正数、N 皇后

文章目录四数之和缺失的第一个正数N 皇后四数之和 给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a b c d 的值与 target 相等?找出所有满足条件且不重复…

【基础篇】6 # 栈:如何实现浏览器的前进和后退功能?

说明 【数据结构与算法之美】专栏学习笔记 什么是栈? 栈是一种“操作受限”的线性表,只允许在一端插入和删除数据,其特性就是后进先出、先进后出。 栈既可以用数组来实现,也可以用链表来实现。 用数组实现的栈叫作顺序栈用链…

【正点原子Linux连载】第三章 RV1126开发环境搭建 摘自【正点原子】ATK-DLRV1126系统开发手册

1)实验平台:正点原子RV1126 Linux开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id692176265749 3)全套实验源码手册视频下载地址: http://www.openedv.com/thread-340252-1-1.html 第三章 R…

Gartner发布2022云Web应用程序和API保护魔力象限

8月30日,知名咨询机构Gartner发布2022云Web应用程序和API保护魔力象限。当前,云Web应用程序和API保护市场迅速增长。 Gartner预测,到 2024 年,70%实施多云战略的企业将青睐云 Web 应用程序和API保护平台 (WAAP&#x…