前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >精准测试系列《二》

精准测试系列《二》

作者头像
Wu_Candy
发布2022-07-04 20:50:42
8420
发布2022-07-04 20:50:42
举报
文章被收录于专栏:无量测试之道
这是无量测试之道的第201篇原创

前期的推文:精准测试系列《一》讲解了 SuperJacoco 这个工具是什么,以及 SuperJacoco 能为我们测试解决哪些问题,以及现存在的一些问题。

今天要分享的内容是:如何部署 SuperJacoco。 先来看看下面这张图:

Step1:看 super-jacoco 服务是如何部署的? 需准备的前置条件:

  1. mvn 环境变量的配置。
  2. linux 所有在服务器上面的 maven setting.xml 文件的仓库地址配置。
  3. git 的账号及密码要在工程的配置文件中配置好,用于去 git 仓库拉取代码。
  4. copy jacoco-cli 到 linux 服务器下的 /root 目录下,编译打包好 super-jacoco.jar ,copy 到部署的服务器上。

启动命令:nohup java -jar super-jacoco.jar &

查看服务启动命令:tail -f nohup.out

通过这个命令查看日志来判断服务是否正常的启动

备注:

  1. 服务启动前我们需要把数据库准备好
  2. 代码里面的数据库配置准备好
  3. 项目中的启动端口要配置好

Step2:被测服务器如何配置? 我们需要找到被测服务的启动脚本,修改启动参数,如下所示: export JAVA_OPTS="$JAVA_OPTS -javaagent:/home/q/jacoco/lib/jacocoagent.jar=includes=com.maxim.*,output=tcpserver,port=9098,address=10.7.36.35 -Xverify:none" 重启服务即可。

备注:

  1. 请求计算覆盖率接口中传入的 port 参数是--javaagent 里面设定的端口,用于获取 exec文件。
  2. 接口中传入的 subModule 是指当前工程的一个模块,可以根据模块 + 本次变更的代码共两个条件来进行覆盖率的计算。
  3. 被测试的服务一旦重启后就会丢失之前统计到的覆盖率数据。
  4. 还要配置好被测服务器到 git 仓库拉取代码的相关信息,如:git命令安装等

Step3:环境管理平台如何构建? 我在实现这个平台时主要分为5个部分,第一版(比较简单)如下图所示:

  1. 添加要部署工程的相关信息,并入库。
  2. 点击部署,从库中提取配置好的要部署工程信息,然后调用 jenkins API 完成部署,并异步回写 jobId 和 jobStatus(主要是用来判断 job 服务是否成功)。
  3. 测试人员针对本次发布的内容进行回归验证(这里针对的是小版本的增量代码变更回归验证)。
  4. 执行统计操作是从 database 中提取相关信息组装好后发送给上面启动好的 super-jacoco 的服务,并异步回写覆盖率状态到库中。
  5. 获取覆盖率报告是从 database 中提取一个 uuid 的值后发送给上面启动好的 super-jacoco 的服务, 并异步回写报告超链到库中。

备注:调用的 api 中可以指定模块进行增量代码的覆盖率统计。 至此,整个部署与开发的工作就完成了。 可以来欣赏一下报告,如下图所示:

end

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 无量测试之道 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 这是无量测试之道的第201篇原创
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档