[Cover] 通过与配置管理工具链接有效使用覆盖率

2023-11-18

  1. 变更覆盖率的必要性
    • Cover的主要功能:变更覆盖率

      测量代码覆盖率(以下称为覆盖率)是为了提高正在开发的软件的质量并执行高质量的测试。如果开发人员直接测试正在开发的源代码,可以更容易地增加覆盖率。但是,如果正在开发的软件被新的开发人员接管或通过另一个组织进行测试,则很难增加覆盖率。如果代码已经通过负责的开发人员或测试人员进行了充分的测试,但是如果由于维护导致源代码、函数、功能的变化而重新执行整个测试场景,将再次消耗大量的工时。并且如果由不知道变更源代码、函数、功能信息的第三方进行测试,则增加/修改的功能可能无法测试,变更后的功能添加的测试场景也无法得到保障。 COVER 产品为此测试环境提供了变更覆盖功能。更改覆盖检测源代码中更改的功能和行,并提供单独管理更改区域的覆盖。
      提高软件质量的测试在软件开发的团队/公司中非常普遍。在这种情况下,提高测试效率的方法是测量和管理代码覆盖率(以下简称覆盖率)。在某些情况下,会组建单独的团队进行测试,或者软件开发人员直接测试正在开发的源代码。
      如果一个开发者直接测试,由于负责人变动而将软件移交给新的开发者,或者如果测试团队发生变化,通过另一个组织进行测试,则不可避免地难以增加覆盖率。此外,如果在测试已取得很大进展的状态下,由于维护导致源代码/函数/功能变化而重新执行整个测试,则将重复产生相当大的成本。更进一步,如果不知道更改的第三方正在测试,则无法测试修改的部分或无法确保根据更改的附加测试场景。
      COVER 提供了变更覆盖功能来解决这个问题(保持测试环境一致)。更改覆盖率功能检测被测源代码中更改的函数和行,帮助单独管理更改区域的覆盖率。

2.利用与配置管理工具链接的变更覆盖率

-变更覆盖率 - 通过与配置管理工具链接更有效地使用

为了实现变更覆盖率,需要许多关于如何寻找源代码的变更点的方法。目前已经出现了各种方法,例如日期标准和用户自己指定的用于选择现有源和新更改源的标准。 首先,如果判断日期,用户会记住现有源的构建日期,并且用户在每次构建时更改现有源的日期。其次,当用户直接指定时,如果源形状很多,对所有形状都设置不方便。此外,如果将当前形状与要构建的形状的先前形状进行比较,则无法在没有用户修改形状的情况下应对频繁的构建。
【幕后故事】在开发Cover产品时,我们在实现变更覆盖功能上花了很多心思。我需要了解使用什么标准来查找源代码中的更改点最有效。在所讨论的方法中,有一种按更改日期由用户指定的方法。在根据第一个日期判断是否更改时,会出现以下问题。如果在同一天多次构建,则每次构建时用户必须记住现有源的构建日期,然后用户必须在构建后更改现有源的日期。其次,如果用户直接指定,随着源配置数量的增加,为每个形状指定变得不方便。此外,如果将要构建的形状与之前的形状进行比较,则存在用户无法单独应对频繁构建的问题。
因此,如果您与配置管理工具链接以增加更改覆盖率的使用,您可以轻松确定要比较的源的标准。 当开发者通过COVER产品与配置管理工具的联动签入源时,可以接收到变更后的源信息,自动确定比对目标标准。 此外,如果在签入条件中设置实现变更覆盖的标准,也可以防止未经测试的源签入。
为了解决这些问题,增加变更覆盖率的使用,通过配置管理工具与覆盖率联动,采用确定变更源标准的方法。 当开发人员签入源代码时,他们会收到更改后的源信息并自动确定比较标准。 此外,通过在可以签入的条件下设置实现变更覆盖率的标准,可以防止签入未经测试的源代码。


3.使用配置管理联动的案例

K公司的开发情景如下。
1.从配置管理工具中查看最新的形状
2.修改和测试源代码
3.在配置管理工具中请求批准变更的源
4. 审批完成后签入更改的来源

如果 COVER 产品与配置管理工具链接,则继续执行以下场景。
1、从配置管理工具中查看最新的形状
2、修改源代码
3、在COVER服务器上注册覆盖测量的源
4、针对更改的来源进行测试
5、在配置管理工具中请求批准更改的源
6、检查K公司的覆盖达标标准是否满足
7、如果满足审批条件,审批完成后签入变更的源
8、通过签到信息设置变更来源变更标准

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[Cover] 通过与配置管理工具链接有效使用覆盖率 的相关文章

  • 接口测试这么玩才明白

    接口测试作为当下提升测试效能的利器 逐步被大家所认同 但同时很多团队在落地接口自动化时 又会感觉效果不是很明显 投入了大量的时间 写了很多脚本 但是效果并不是很明显 其中有各种问题 结合某团队的现状 分享一些实践经验 仅供参考 引入接口测试
  • Jmeter(十九) - 从入门到精通 - JMeter监听器 -上篇(详解教程)

    1 简介 监听器用来监听及显示JMeter取样器测试结果 能够以树 表及图形形式显示测试结果 也可以以文件方式保存测试结果 JMeter测试结果文件格式多样 比如XML格式 CSV格式 默认情况下 测试结果将被存储为xml格式的文件 文件的
  • 深聊测开领域之:三种高性价比测试方法

    高性价比测试 1 引言 2 单元测试 2 1 单元测试引入 2 2 投入产出比 3 冒烟测试 3 1 冒烟测试引入 3 2 投入产出比 4 灰度测试 4 1 软件的依赖 4 2 引入灰度环境 4 3 投入产出比 5 总结 1 引言 最近也是
  • 软件工程基础知识--系统测试

    系统测试与调试 1 系统测试的意义和目的 系统测试是为了发现错误而执行程序的过程 以最少的人力和时间发现潜在的各种错误和缺陷 根据测试的概念和目的 在进行信息系统测试时应遵循以下基本原则 1 应尽早并不断地进行测试 2 测试工作应该避免由原
  • 0基础,自学3个月转行软件测试,从月薪3k到12k我整理的超全学习指南

    大家好我是小娜 现在是一名软件测试测试工程师 工资在1w2阶段还需努力 我大学期间学的是电气工程及其自动化专业 可以说是一事无成哈哈 大学三天打鱼 两天筛网导致专业水平学的不怎么样 毕业后从事了一份销售 买房子 的工作 但是 销售工作压力大
  • 如何做单元测试

    如何做单元测试 一 定义 二 为什么要做单元测试 三 单元测试用例 四 阿里单元测试规约 五 测试框架的使用 Junit 下面以Junit4 为例来介绍 1 1 什么是Junit 1 2 为何使用Junit 1 3 Junit的快速入门 导
  • Unittest单元测试之unittest用例执行顺序

    用例执行顺序 当在一个测试类或多个测试模块下 用例数量较多时 unittest在执行用例 test xxx 时 并不是按从上到下的顺序执行 有特定的顺序 unittest框架默认根据ACSII码的顺序加载测试用例 数字与字母的顺序为 0 9
  • JUnit单元测试

    几乎全是基于JUnit4的 毕竟idea里面默认就是JUnit4 要是有基于JUnit5的会额外标出 框架介绍 1 是一个开源的java语言单元测试框架 2 特点 使用断言 Assertion 测试期望结果 方便组织运行测试 查看测试结果
  • ChatGPT与单元测试

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客文章浏览阅读1 3k次 点赞59次 收藏8次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自动化
  • 什么是自动化测试,看完你就懂了!

    随着互联网技术的飞速发展 软件本身的规模和复杂度也是逐步增加 为了保证软件项目能够保质保量交付到客户手中 软件测试环节就显得非常重要了 它可以看作是软件项目交付给客户最后一道安全保证 今天给大家聊聊软件测试当中自动化测试相关的知识 希望对大
  • 如何搭建自动化测试框架?8年测试老司机浅谈一下!

    公司使用python selenium pytest来做UI自动化测试 我经历了从0开始搭建自动化工程 开发测试报告web服务 编写测试用例 经过了一段时间的磨合 感觉已经比较顺手了 这里梳理下我采用的自动化工程目录组织结构 整体目录结构及
  • 外包干了3个月,技术退步明显。。。

    先说一下自己的情况 本科生生 19年通过校招进入广州某软件公司 干了接近4年的功能测试 今年年初 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了四年的功能测试 已经让我变得不思进取 谈了2年的女朋
  • 从零开始搭建自动化测试平台,构建自动化测试平台的最全指南!

    前言 随着软件开发的不断进步 测试工程师也需要跟上趋势并适应新的测试方法 自动化测试已成为现代测试领域中不可或缺的一部分 它可以提高测试效率 减少测试成本 并且可以避免人为错误对测试结果的影响 在这篇文章中 我们将介绍如何构建一个自动化测试
  • 入职美团定级P7,总结最新最全180道高级岗面试题及答案

    添加图片注释 不超过 140 字 可选 2020年最新180道JAVA高级面试专题 今年因为疫情原因 很多人在家里宅了很长一段时间 也有充足的时间复习筹备 为面试做足准备 我这里这筹备了一份各大互联网企业 大厂面试总结的180道最新中高级面
  • Web自动化测试流程:从入门到精通,帮你成为测试专家

    摘要 Web应用程序在今天的软件开发中占据着越来越重要的地位 保证Web应用程序的质量和稳定性是非常必要的 而自动化测试是一种有效的方法 本文将介绍Web自动化测试流程 并提供代码示例 步骤一 选取测试工具 选择适合自己团队的自动化测试工具
  • 灰盒测试简要指南

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读1 9k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • Python+Pytest接口自动化之测试函数、测试类/测试方法的封装

    前言 在python pytest 接口自动化系列中 我们之前的文章基本都没有将代码进行封装 但实际编写自动化测试脚本中 我们都需要将测试代码进行封装 才能被测试框架识别执行 例如单个接口的请求代码如下 import requests he
  • 测试市场已经饱和了吗?现在转行软件测试会不会太迟?

    非常有意思的话题 某种程度上来说 测试职场一条从未设想过的道路真的走通了 这条路指广大测试呼吁对测试从业进行学历保护 专业保护 就像医学那样设置护城河 以一种令人意想不到的方式完成了 得益于大量培训机构为了赚钱 盲目的向大量非计算机相关专业
  • go测试覆盖率

    go test cover ok mytest cached coverage 42 9 of statements go test 增加 cover 参数可以查看测试用例的覆盖率 go test coverprofile size cov
  • 软件测试基础知识+面试题总结

    一 什么是软件 软件是计算机系统中的程序和相关文件或文档的总称 二 什么是软件测试 说法一 使用人工或自动的手段来运行或测量软件系统的过程 以检验软件系统是否满足规定的要求 并找出与预期结果之间的差异 说法二 软件测试就是利用一定的方法对软

随机推荐

  • 【Python函数的递归】

    递归的定义 函数作为一种代码封装 可以被其他程序调用 当然 也可以被函数内部代码调用 这种函数定义中调用函数自身的方式称为递归 就像一个人站在装满镜子的房间中 看到的影像就是递归的结果 递归在数学和计算机应用上非常强大 能够非常简洁的解决重
  • 可视化的数据结构和算法

    转载自 http sd csdn net a 20110506 297285 html 导读 作者陈皓之前写过关于可视化排序的一篇文章 现在他又给大家罗列出可视化的数据结构和算法来供大家学习参考 文中分别从基础 索引 排序 动态编程等方面进
  • 微软句向量工具包Sent2vec

    工具介绍 What is sent2vec sent2vec maps a pair of short text strings e g sentences or query answer pairs to a pair of featur
  • 关于 OneNote 无法正常同步 问题

    问题 无法正常同步 备注 问题开始之前请刷新一下DNS缓存 https blog csdn net ljason1993 article details 83040313 看一下 无法正常同步 意思是卡同步条 一直显示同步条问题 就这个绿条
  • 如何找Ubuntu的历史版本的iso镜像文件

    目录 1 中文网站上的查找 2 英文网站上的查找 1 中文网站上的查找 中文网站为 企业开源和Linux UbuntuUbuntu是适用于企业服务器 桌面电脑 云 IoT物联网的现代化开源Linux操作系统 Ubuntu官网 https c
  • 计算机网络安全论文选题提纲,计算机网络安全毕业论文提纲

    计算机网络安全毕业论文提纲 想要写好一篇论文 首先需要一份提纲 理清思路 才能帮助你顺利的写好论文 那么 计算机网络安全毕业论文提纲又应该怎样写呢 下面是小编为大家整理的计算机网络安全毕业论文提纲 欢迎参考 题目 主标题 数据结构课程建设
  • 【软件工程】详细设计说明书

    详细设计说明书 1引言 1 1编写目的 说明编写这份详细设计说明书的目的 指出预期的读者 该文档实在概要设计的基础上 进一步的细化系统结构 展示了软件啊结构的图标 物理设计 数据结构设计 及算法设计 详细的介绍了系统各个模块是如何实现的 包
  • 【Go语言核心手册11】context.Context

    往期精选 欢迎转发 如何看待程序员35岁职业危机 Java全套学习资料 14W字 耗时半年整理 我肝了三个月 为你写出了GO核心手册 消息队列 从选型到原理 一文带你全部掌握 肝了一个月的ETCD 从Raft原理到实践 更多 11 1 内容
  • 仓储系统货位优化毕业论文【Flexsim仿真】

    一 内容简介 由堆垛机 货架 输送系统 管理系统 控制系统等组成的传统堆垛式仓储系统因为其成熟的技术和推广方式 高效等特点广泛的应用在物流 车间 制造等行业 但是堆垛机仓库每个巷道都会拥有一台堆垛机 其作业方式受到限制 鲁棒性比较差 一个巷
  • iOS 展示 gif

    gif 图 是多张依次有连续动作的图 顺时间展示的一种动态效果图 有的是均匀时间更换下一张 有的 则不是均匀时间变化 1 那么 对于均匀 时间变化的gif图 比较适合 使用 iOS 系统自带方法 imageView 的动态展示图片的方法就好
  • 30分钟掌握STL系列(三)

    30分钟掌握STL系列 三 使用迭代器编程 下面就讲一讲几种类型迭代器的编程 输入迭代器 输入迭代器是最普通的类型 输入迭代器至少能够使用 和 等 使用 来访问数据 使用 操作来递进迭代器到下一个元素或到达past the end值 为了理
  • 借助Linux中断机制的按键开关功能实现

    AlienTek的IMX6ULL开发板自带了一个按键和一个LED灯 这两个外设分别接在两个不同的GPIO端口 各自独立 我们想把按键作为灯的开关 通过按压按键来控制灯的亮灭 即灯亮时按一下则灯灭 灯灭时按一下则灯亮 这里的 按一下 是指按键
  • Vmware下Ubuntu18.04虚拟机右上角的网络图标消失连不上网络,找回方法。

    一 重新找回图标 先执行以下三段代码 在终端 Terminal 下输入 sudo service network manager stop sudo rm var lib NetworkManager NetworkManager stat
  • pandas选取数据方法

    pandas选取数据 首先创建一个3行3列的DataFrame data pd DataFrame 1 2 3 4 5 6 7 8 9 index a b c columns d e f 数据展示如下 1 按列选取数据 按照列名选取 返回一
  • 网络编程——软件架构、osi七层、TCP/UDP协议

    文章目录 一 网络编程是什么 二 软件架构 1 c s架构 2 b s架构 三 OSI七层 1 物理层 2 链路层 3 网络层 4 传输层 5 应用层 四 TCP UDP协议 1 TCP 2 UDP协议 一 网络编程是什么 一个完整计算机系
  • 解决ECharts 因X轴数据过多导致重叠显示不全的问题

    X轴 加滚动条 通过配置合适的起始位置和结束位置可以做到数据过多不重叠 数据太少也不至于很丑 定位合适的位置后还可以通过手动拉伸滚动条的长度动态的显示不同条目数 对于动态的条目数滚动条要比倾斜数据灵活太多尤其是根据时间段动态显示数据 仅此表
  • Sql中having和where的区别

    HAVING 关键字和 WHERE 关键字都可以用来过滤数据 且 HAVING 支持 WHERE 关键字中所有的操作符和语法 但是他们实现同样的功能时where效率更高 WHERE 和 HAVING 关键字存在以下几点差异 1 一般情况下
  • P8254 [NOI Online 2022 入门组] 王国比赛(二维数组巧解)

    include
  • vue pdf 预览下载功能 vue-pdf

    开发新项目的时候遇到了合同的预览下载功能 之前没有做过 实现之后记录一下 方便以后查阅 1 下载 vue pdf 插件 npm install save vue pdf 或者 cnpm install save vue pdf 2 所需页面
  • [Cover] 通过与配置管理工具链接有效使用覆盖率

    变更覆盖率的必要性 Cover的主要功能 变更覆盖率 测量代码覆盖率 以下称为覆盖率 是为了提高正在开发的软件的质量并执行高质量的测试 如果开发人员直接测试正在开发的源代码 可以更容易地增加覆盖率 但是 如果正在开发的软件被新的开发人员接管