首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Jacoco统计接口测试的代码覆盖率

背景 搜狗商城现有的接口自动化测试框架是使用Python搭建的,共900多条case,每天都会运行一次,从而监控是否有因开发代码变更或者新功能添加而导致的遗漏的bug。...我们经常接触的是做单元测试的代码覆盖率,但jacoco也可以进行接口测试的代码覆盖率统计,本篇文章主要介绍使用jacoco+ant来统计tomcat服务的测试代码。...四、访问API进行测试 (1)手工访问单一/多个接口 客户端访问项目中提供的API进行测试: http://10.135.54.158/mall-server-api/api/product/...product_id=1727504&stock_type=1 (2)运行接口自动化测试框架 我们在此步骤是运行的接口自动化测试框架。...局限: 测试深度:目前的测试层次维持在对外提供的接口,仅为入口级别,对于接口内部的深层逻辑,无法有效验证。

3.6K11

利用JaCoCo统计接口测试中代码覆盖率

接口测试,很多时候都会听到,你接口测试的覆盖率是多少?很多人会回答80%,你怎么统计的,他说覆盖了80%的需求。...这个回答没有错误,但是片面,我们不能只考虑需求的覆盖率,还有业务的覆盖率,场景的覆盖率,接口的覆盖率,代码的覆盖率等,本文介绍接口测试的代码覆盖率。那么我们来看看如何是实现的。...启动完成后,就可以开始进行测试了, 我使用的swgger2,进行了简单的接口测试,后获取覆盖率。...在build.xml目录,使用ant获取jacoco.exe 然后用 ant report产生测试报告 打开测试报告, ? 这样,我们就获取到了接口测试的全量代码的覆盖率。...这里给大家提供了一种接口测试的覆盖率的统计方式。当然了还有其他方式,大家可以根据自己的需求进行去探索。 需要明确,提供合理方案。

1.2K20
您找到你想要的搜索结果了吗?
是的
没有找到

接口测试代码覆盖率(jacoco)方案分享

在做接口测试过程中,为了达到量化接口测试用例效果的目的,引入了代码覆盖率作为重要指标,在查阅相关文档和资料通过实践之后,大概得到了一个方案。如图: ?...备注:该方案略微复杂了一些,原因在于服务JVM所在的服务器和Jenkins构建服务器与测试脚本所在服务器分别在三台服务器上。...Jenkins机器:服务对应的Jenkins机器 测试项目Jenkins:服务对应的测试项目Jenkins机器 第一次画流程图,有点乱,这里在介绍一下思路,通过服务所在的Tomcat容器的启动脚本(JAVA_OPTS...jacoco配置 jacoco配置需要在jar项目启动参数里面添加如下信息: -javaagent:/home/jmsmanager/jacoco/lib/jacocoagent.jar=includes...:report> 因为报告在服务所运行的机器上,而且设计的机器比较多,所以把测试报告集中放在某一台机器上统一提供查看。

2.2K40

基于 Jenkins + JaCoCo 实现功能测试代码覆盖率统计

使用 JaCoCo 统计功能测试代码覆盖率? 对于 JaCoCo,有所了解但又不是很熟悉。..."有所了解"指的是在 CI 实践中已经使用 JaCoCo 对单元测试代码覆盖率统计: 当代码 push 到代码仓库后,用 JaCoCo 进行单元测试代码覆盖率统计,并将相应数据推送到 SonarQube...前不久,有测试同事提出,想要在实际测试时,用 JaCoCo 统计功能测试代码覆盖率。 其主要目的是在经过功能测试后,通过查看代码覆盖率统计的相关指标,增强对软件质量的信心。...单元测试覆盖率统计就是统计本地服务的代码覆盖率,代码和运行的服务在一台机器上,笔者这里通过使用 JaCoCo Maven 插件完成的。...而功能测试代码覆盖率统计则是统计远程服务的代码覆盖率,代码和运行的服务一般不在一台机器上,这里需要借助 JaCoCo Java agent 实现。

3.8K40

使用 JaCoCo 生成测试覆盖率报告

0、为什么要生成测试覆盖率报告 在我们实际的工作中,当完成程序的开发后,需要提交给测试人员进行测试,经过测试人员测试后,代码才能上线到生产环境。...那么这时就需要引入代码覆盖率这个东东了,要统计 C++ 的代码覆盖率有 GCover,统计 Java 的代码覆盖率则有 JaCoCo 可以实现。...JaCoCo 是一个免费的Java代码覆盖率检测工具,可以统计测试对以下内容的覆盖情况: 指令覆盖率 分支覆盖率 圈复杂度覆盖 行覆盖 方法覆盖 类覆盖 对各种覆盖率的具体含义可以参考官方文档:​​https...q=g:org.jacoco​​ 下载其中需要用到的两个包即可 Jacoco 工具包及被测试包如下 2.2 启动被测服务,并在启动语句中添加 JaCoCo 指定需要检查测试对代码覆盖情况的包名,采集...输入如下URL: http://localhost:9999/+/12/25 4、生成 dump,并重置覆盖率统计 指定要从何处获取jacoco统计数据,地址及端口应与 2.2 中的启动参数中一致

62450

教你使用 Jacoco 统计服务端代码覆盖率

前言 前面有一篇 文章 使用 Python + Coverage 来统计测试用例的代码覆盖率 Jacoco 针对 Java 语言的一款开源的覆盖率工具,可以嵌入到 Maven、Gradle 中,提供多种尺度的覆盖率计数器...,比如:类覆盖、行覆盖、分支覆盖等 本篇将聊聊服务端代码的覆盖率统计,以 Spring Boot 项目为例,使用 Jacoco + junit 来统计服务端的代码覆盖率 2....接着,配置 Jacoco 插件及相关的 goal,使用 includes 和 excludes 两个关键字设定包含或排除的类路径 比如:这里只统计 com.xingag.api.service 下面的类.../target/site/jacoco ? 用浏览器打开统计报告文件夹中的 index.html 文件,可以很直观的查看单元测试覆盖率及对应测试类的具体覆盖范围 ? 4....最后 上面只是通过一个简单的例子展示了 Jacoco 统计单元测试代码覆盖率的过程 实际项目中,代码覆盖率只能为单元测试提供一个参考,考虑到开发效率,不能一味地追求高覆盖率;事实上,高覆盖率不一定能保证没有缺陷

3K10

软件测试|SonarQube 安装、配置及 JaCoCo、Maven 集成

同时 SonarQube 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 SonarQube。...在工程的根目录下键入命令“sonar-scanner”,你会看到以下日志:运行 sonar-scanner接着,重新登录 SonarQube 平台,检测的结果已经在平台上展现出来从上图你可以看出来,连单元测试覆盖率的统计也生成出来了...,主要原因为在该maven项目之前已经集成了Jacoco插件(具体Maven与Jacoco的集成请参考我的另外一篇文章)。...在项目根目录下,运行 mvn package,当build成功的时候Jacoco的结果就会产生在target/site/jacoco文件夹下。...sonar scanner以上,后续继续补充如何通过 SonarLint 整合到 IntelliJ IDEA,并同时如何整合到 Jenkins 实现自动化测试

82210

jacoco测试覆盖率过滤非业务类

之前在做接口测试代码覆盖率(jacoco)方案的时候,漏了一些东西,这篇文章补一下。...做使用jacoco接口代码覆盖率测试的过程中,遇到一个问题:测试报告里面信息太多,很杂乱没有针对性,很多都是config和bean以及适配器的类,绝大部分没有业务代码,统计出来的覆盖率受影响比较大,不够准确...这里就引入了如何过滤jacoco代码覆盖率测试报告的问题,经过查阅资料,大概的方案分两种:一是在jacoco配置中过滤,二是在class文件夹中删除掉无用的class文件。...经过一些考量,决定采用第一种方案,原因如下: 第二种方案不可逆,如果在统计完某一个moudel的覆盖率,之后在统计其他moudel的时候就无法直接实现; 第二种处理起来比较麻烦,规则需要脚本实现。...--Jacoco所在目录-->

2.8K10

基于Jacoco的三种增量覆盖率统计方法

本文介绍三种基于Jacoco的增量代码覆盖率统计方法,并给出了对应的四种对应的开源工具。 以下是Jacoco覆盖率统计的工作流程示意图。...这是增量覆盖率统计的技术基础,原理是在 jacoco 进行打桩时,结合 git-diff 产生的增量清单作为 includes 的入参,让 jacoco 只针对指定的需要进行覆盖率统计的代码进行打桩,也就是只针对增量代码进行打桩...其后再生成的覆盖率统计报告自然而然就是增量的报告了。 开源项目如滴滴开源的 super-jacoco就是采用了这种方案,并对原生的 jacoco 进行了功能增强,形成的覆盖率统计平台。...对于单元测试来说,可以通过一个 HTTP 请求来完成整个代码下载、构建、单元测试和增量/全量报告生成。用户可以通过查询接口,根据先前自行指定的任务UUID 来查询上述接口。...此外如果目标项目中已经引入了 jacoco 开展了单元测试覆盖率统计,还牵涉到如何说服用户配合去修改既有的 jacoco 配置以适配二次开发后的 jacoco 工具的问题,存在推广实施上的门槛。

28810

软件测试|SonarQube 安装、配置及 JaCoCo、Maven 集成

同时 SonarQube 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 SonarQube。...在工程的根目录下键入命令“sonar-scanner”,你会看到以下日志:运行 sonar-scanner接着,重新登录 SonarQube 平台,检测的结果已经在平台上展现出来从上图你可以看出来,连单元测试覆盖率的统计也生成出来了...,主要原因为在该maven项目之前已经集成了Jacoco插件(具体Maven与Jacoco的集成请参考我的另外一篇文章)。...在项目根目录下,运行 mvn package,当build成功的时候Jacoco的结果就会产生在target/site/jacoco文件夹下。...sonar scanner以上,后续继续补充如何通过 SonarLint 整合到 IntelliJ IDEA,并同时如何整合到 Jenkins 实现自动化测试

1.1K20

基于Super-Jacoco的精准测试实践之路

精准测试实践 无需对开发代码做任何改造,只需在服务启动命令中添加javaagent即可。 依托于Super-Jacoco,基于Jacoco、Git二次开发,收集两个版本间增量代码差异。...用户执行测试用例,用例执行过程中Jacoco会记录代码覆盖情况。 生成可视化的HTML覆盖率报告,协助用例覆盖情况精准分析。...PostMan中,调用启动覆盖率收集,之后即可执行测试用例 uuid:随机值,全局唯一;可手动输入,getEnvCoverResult接口需要使用 baseVersion: 基准的Git CommitID...address:步骤1中的address 获取覆盖率报告 在测试用例执行后,通过接口/cov/getEnvCoverResult获取覆盖率报告 Host: http://ip:port Path: /...未来,还要继续探索如何根据覆盖率来推导代码变动影响的接口范围、分析冗余用例提升回归效率、根据代码变动自定推荐用例等等。

2.4K30

接口测试方案(接口测试思路)

接口测试方案(接口测试思路) 目录 1、接口 1.1、测试点 1.2、检查点 2、页面 2.1、测试点 2.2、检查点 1、接口 1.1、测试点 1、输入参数校验 (1)类型 a.类型定义是否合理...)级、业务级、用户级 (5)配置项的取值范围及校验 a.配置项参数校验 - 参考接口输入参数的校验测试方法 b.是否区分大小写 c.对于枚举类型的配置项,覆盖全部枚举值 (6)配置项默认值 a.默认值是否合理...b.长度 c.可否为空 d.默认值 e.字符编码 (2)测试范围 a.提供给外部调用的接口定义:输入参数、响应消息 b.第三方提供给被测系统的接口定义:输入参数、响应消息 c.数据库设计 7、与该接口有交互的其他接口或特性...(功能) (1)接口 - 互为正负的操作,必须组合测试 (2)定时任务 8、兼容性 (1)对调用方的影响 a.输入参数:是否有入参的变化?...a.接口返回码 b.接口返回描述 c.接口定义的返回字段 (2)push信息 (3)IM通知 (4)短信通知 2、数据库 (1)业务表 (2)日志表 3、后台日志信息 (1)可定位问题 (2)可读性

1.9K21

Rpc接口测试_Python接口测试

接口测试方法及系统。...背景技术: 接口测试(对系统组件间接口进行测试)主要用于检测外部系统与系统(包括各个子系统)之间的交互点,接口测试重点为检查数据的交换、传递和控制管理过程,以及系统间的相互逻辑依赖关系等。...目前,Web测试中的接口测试主要关注前端服务中基于http协议的post(传送数据)和get(获取数据)请求,而对后端服务中较通用的RPC接口测试研究不多,RPC接口测试方法尚无,进而会使得RPC服务使用时存在以下缺陷...本发明提供的实现上述方法的RPC接口测试系统,包括测试连接建立模块、测试驱动登陆模块和RPC接口测试模块; 测试连接建立模块用于:在服务器上建立Socket连接,通过Socket与RPC接口进行通信,读取预先设置的...:收到测试驱动登陆信号后,运行测试所需的驱动数据,加载所述测试数据配置文件和数据库配置文件,通过公共RPC的调用方法在服务器上进行RPC服务登录,向RPC接口测试模块发送RPC接口测试信号; RPC接口测试模块用于

1.4K20

接口测试】JMeter测试WebSocket接口

目录 一、WebSocket简介 二、JMeter测试WebSocket接口 三、WebSocket和Socket的区别 ‍ 最近老被问到WebSocket,突然想到以前大学时上Java课的时候,老师教我们...socket连接,一个同学电脑做客户端,一个同学电脑做服务端,当双方消息发送成功,第一次感觉到代码的奇妙~ 毕竟抄代码都不利索,哈哈哈哈哈~ 接下来将如何测试WebSocket接口总结下来。...二、JMeter测试WebSocket接口 1、安装WebSocket插件 选项 > Plugins Manager 输入WebSocket,勾选对应插件,点击Apply Changes and Restart...,运行JavaWebApplication即可启动项目,项目启动后即可进行测试。...4、进行websocket接口测试 选中“线程组”右键 > 添加 > 取样器 > WebSocket Open Connection。

2.1K20
领券