惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The Cloudflare Blog
小众软件
小众软件
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
T
Tailwind CSS Blog
WordPress大学
WordPress大学
有赞技术团队
有赞技术团队
博客园 - 司徒正美
V
Visual Studio Blog
G
Google Developers Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
月光博客
月光博客
aimingoo的专栏
aimingoo的专栏
博客园_首页
Blog — PlanetScale
Blog — PlanetScale
博客园 - 聂微东
S
SegmentFault 最新的问题
T
The Blog of Author Tim Ferriss
D
Docker
Vercel News
Vercel News
Recent Announcements
Recent Announcements
Last Week in AI
Last Week in AI
爱范儿
爱范儿
J
Java Code Geeks
大猫的无限游戏
大猫的无限游戏

博客园 - 飘飘雪

Redis 的 Rehash 操作详解 Panic 与 Crash 的区别 vscode常用快捷键大全 网络流量单位 Core文件作用、设置及用法 linux批量执行工具omnitty安装及使用 linux 下误改了/etc/profile下的文件path路径导致整个系统用不了命令 python安装 linux less和more命令用法 Tair中对热key的内部处理 Tair中对大key的内部处理方式 redis的redis-benchmark用法 redis的memtier-benchmark用法 阿里巴巴的缓存类测试产品及有缺点 如何在class文件中使用pom中profile级别的 <properties> profiles下的properties与properties有什么区别 Guava 工具类之 Splitter的使用 什么是“黑天鹅”和“灰犀牛” java-sdk接口测试覆盖率统计实践
java应用接口自动化覆盖率统计实践
飘飘雪 · 2023-08-22 · via 博客园 - 飘飘雪

一、背景

Java应用接口自动化覆盖率统计的意义在于:

  1. 确保测试覆盖率:通过自动化覆盖率统计,可以确保测试用例对应用程序的各个接口进行了全面的覆盖。这有助于发现潜在的代码错误、逻辑漏洞或者未处理的异常情况。

  2. 提高代码质量:通过自动化覆盖率统计,可以发现代码中未被测试到的部分,从而及时修复或编写相应的测试用例。这有助于提高代码的质量、可维护性和可靠性。

  3. 降低风险:自动化覆盖率统计可以帮助开发团队识别和解决代码中的潜在问题,减少出现故障的风险。通过全面覆盖接口,可以减少因未覆盖的代码路径导致的潜在问题。

  4. 支持持续集成和持续交付:自动化覆盖率统计可以与持续集成和持续交付流程集成,确保每次代码变更都经过全面的测试覆盖。这有助于提高软件交付的质量和稳定性。

  5. 监控测试进度:通过自动化覆盖率统计,可以实时监控测试的进度,并根据覆盖率结果进行调整和优化测试策略。这有助于提高测试效率和准确性。

总之,Java应用接口自动化覆盖率统计对于确保测试覆盖率、提高代码质量、降低风险、支持持续集成和持续交付以及监控测试进度都具有重要意义。

二、实践步骤

  1、梳理流水线步骤:1)下载待测代码  2)编译待测工程  3)待测工程部署应用 4)下载测试代码 5)编译执行测试代码 6)jacoco接口测试统计 7)jacoco接口测试覆盖率统计  8)结束

  2、改动点梳理

    1)部署应用

    •   启动前脚本里下载jacoco安装包:

        wget http://storage.jd.local/sunxiangyang/jacocoagent.jar -O/home/admin/jacocoagent.jar

        chmod+x /home/admin/jacocoagent.jar

    •   WEB-INF/classes/default_tomcat_env.sh配置文件修改:

      export maxParameterCount="1000"

      export acceptCount="1000"

      export maxSpareThreads="750"

      export maxThreads="1000"

      export minSpareThreads="50"

      export URIEncoding="UTF-8"

      export JAVA_OPTS="-Djava.library.path=/usr/local/lib -server -Xms1024m -Xmx1024m -XX:MaxMetaspaceSize=256m -XX:+HeapDumpOnOutOfMemoryError -        XX:HeapDumpPath=/export/Logs -Djava.awt.headless=true -Dsun.net.client.defaultConnectTimeout=60000 -Dsun.net.client.defaultReadTimeout=60000 -Djmagick.systemclassloader=no -Dnetworkaddress.cache.ttl=300 -Dsun.net.inetaddr.ttl=300 -javaagent:/home/admin/jacocoagent.jar=includes=*,output=tcpserver,port=2014,address=0.0.0.0"

    2)流水线--jacoco接口代码覆盖率统计

      

三、遇到的问题/注意事项

1、必须把被测源码下载后编译,否则出不来统计数据,因为没有对比源文件