禅道博客

分享专业技术知识,文章内容干货满满!

全部

测试开发之单元测试-实现Git增量代码的Jacoco覆盖率统计

今天我们给大家分享,如何使用Jacoco集合Git来做增量代码的覆盖率测试。实现的基本原理是: 使用Git的diff指令,计算出两个版本的差异; 改造Jacoco源代码,只针对增量代码生成报告。 基本的功能滴滴的super-jacoco项目已经实现,并把它分装成了一个服务。大家可以基于这个开源项目进行二次开发,本文我们给大家介绍它的工作方式。 1、从官网下载、安装Oracle Java SDK。执行java -version,可输出版本信息表示安装成功。笔者这里安装的是JDK 11; 2、从这里下载解压Apache Maven构建工具3.9....
📘
陈琦
2023-05-25

AI教你实现敏捷游戏自由,再也不用担心陷入瓶颈啦!

AI绘画、GPT聊天……AI逐渐实现了从“智障”到“智能”的蜕变。虽然我们不知道AI的出现会不会代替某些岗位,但不得不承认:AI真的好用啊!!!  在往期文章《探秘爆火的ChatGPT:大语言模型是个啥?它到底咋工作的?》中,我们提到过想让AI给出心仪的解决方案,就得掌握提问的技巧:立角色+提问题+定目标+补要求(详情技巧说明指路:常青说)。 但技巧有了,不知道问谁怎么办?   “为什么不问问神奇海螺呢?” 神奇海螺是禅道新上线的OpenAI插件,打通了ChatGPT的API,解决了在国内个人用户使用ChatGPT比较困难的问题,大家完全可以通过禅道...
💍
正在用小海螺的
2023-05-24

测试开发之单元测试-基于Jacoco的单元测试代码覆盖率统计

代码覆盖率(Code coverage)用于描述一次测试执行中,被执行的代码占总代码的比率。这里的一次执行,可以是一次单元测试,也可以是一段时间内的手工测试执行;覆盖率除了按代码行进行计算,也可以统计程序代码的分支、函数和类的覆盖比率。 本文中介绍的Jacoco是一款流行的开源Java代码覆盖率工具,其覆盖率指标主要有以下几个: 指令 Instructions 针对Java字节代码指令的覆盖,是Jacoco最小粒度的指标。它提供总量、被执行和遗漏和数量信息。 分支 Branches 基于If、Switch语句分支来计算覆盖率,不包括异常处理分支。可在文件、类和...
🍪
陈琦
2023-05-23

如何培养团队的勇气

去年的时候写了若干篇关于极限编程的文章,今年开了岔,写了关于产品管理、敏捷开发方面的一些文章。再把话题拉回来,先把极限编程系列的文章写完。今天想和大家分享下如何构建培养团队的勇气。 极限编程价值观里面的勇气 极限编程有5个价值观,分别是沟通、简单、反馈、勇气和尊重。其中沟通、简单、反馈和尊重都还比较容易理解并实施,唯独勇气是有些抽象的。从我们团队实施极限编程的经验来看,勇气是一种尤为难得的品质,今天我会尝试从如何理解勇气和如何培养团队的勇气两个方面来分享下我们团队的经验。 如何评价一个人或者团队是有勇气的呢? 一个人或者团队能够面对现实,正视团队中的问题,这个人或...
📘
春哥
2023-05-22

极客25信条

这是我去年在禅道软件团队内部做的一次分享《我们是极客》,尝试总结了我们团队对极客的定义和追求,今天和大家分享下。 何为极客 海阔天空 极客信条1:藐视权威,质疑一切 不被现有的规则、观点、舆论、习惯或者潜规则所束缚,我自有我主张,权威就是用来被打破的。 极客信条2:敢想敢做,挑战不可能 不受限于现有的能力、资源、工具及其他各种固有限制,我自有我想法,可能就是我来创造的。 极客信条3:不服输,我可以 不受尝试过程中各种失败、...
📘
春哥
2023-05-15

测试开发之接口篇-禅道集成K6完成接口自动化测试

上一篇文章中我们介绍了使用K6做接口自动化测试的例子,下面接着分享如何使用禅道ZTF开源测试工具,分析和汇总K6接口测试的结果,并将其提交到禅道管理系统中去。 首先,取消注释K6测试脚本中的以下部分。 // 配置ZTF执行时请保留该函数,否则thresholds阀值结果不会影响用例结果 export function handleSummary(data) { return { 'results/summary.json': JSON.stringify(data), //the default data object }; } 进入脚本所在目录执行以下命令,使用ZTF调用K6执行接口...
🍪
陈琦
2023-05-12

MVP发布后,下一步该怎么办?

MVP发布后,接下来该做什么?我们又应如何衡量MVP是否成功?在弄清楚这些问题之前,我们首先要明白MVP是什么。 MVP(minimum viable product)即最小可行产品,是一个产品的最初版本,旨在满足目标受众的基本需求。其核心是用最小的成本和最有效的方式,把产品快速推向市场,然后基于市场的反馈快速迭代。 一、为什么要从发布MVP开始? 每家初创企业都可能面临资金短缺、产品无人问津、竞争中落败等情况,利用MVP能够最大限度地降低风险,MVP可以实现以下三点: (1)找到产品与市场的契合点。小规模、简单化的MVP是测试用户体验与需求问题的最佳选择,能促使我们对产品开发...
🌻
韩笑
2023-05-11

测试开发之接口篇-使用K6完成接口自动化测试

K6是一个优秀的开源性能测试工具,它提供了简洁又丰富的API,灵活和易用的描述性语法。以下列出K6中的几个概念: Metrics:测试度量的指标。如请求响应时间、执行耗时、检查点通过率、失败次数等; Thresholds:定义了指标度量的成功、失败标准。如请求失败率小于5%,迭代执行耗时平均小于3秒; Checks:测试用例的检查点。如响应状态码等于200,响应内容包括文本关键字等; Tags:可作用于请求、指标、阀值和检查点的标签,便于分类进行统计; Groups:以函数的形式对脚本进行逻辑划分,以方便进行分类统计分析; Scenarios:用于控制性...
🍪
陈琦
2023-05-10

探秘爆火的ChatGPT:大语言模型是个啥?它到底咋工作的?

继AI绘画后,ChatGPT横空出世。聊天、翻译、文案、代码……ChatGPT的功能如此强大,以至于连马斯克都认为“我们离强大到危险的AI不远了。” 在感慨ChatGPT如此强大的同时,人们也开始对ChatGPT的工作原理产生了好奇:ChatGPT是什么?它到底是如何运行的?怎样才能丝滑地与它对话呢? 想要了解ChatGPT是什么,需要关注它背后的GPT模型。GPT模型是一个由OpenAI 训练的大语言模型。 一、大语言模型是什么? 大语言模型(Large Language Model)是指在海量文本数据上训练,通过无监督、半监督或自监督的方式,学习并掌握通用的语言知...
💍
正在解密的
2023-05-09

敏捷宣言最误人

算起来自己从事IT行业也有二十多年了,前前后后在各种规模的团队都呆过了。也做过很多种的角色,刚毕业的时候做编辑,后来做程序员,运维,测试,再到后来做项目经理。后来自己创业,产品经理、运营、市场和销售也都干过。如果让我总结一下自己过去这二十多年的收获的话,有一个词是特别想和大家分享的,那就是平衡。先来举例子。比如我以开源的方式来做禅道项目管理软件,是一种平衡:在商业和社区公益之间寻求平衡点。业内有很多非常纯粹的开源软件开发者,从来不考虑商业方面的东西,非常值得钦佩。但一直用爱发电,很难坚持下去。另外一端,有很多企业也想用开源的方式来经营自己的产品,但开源版本只是用来吆喝的噱头,功能严重不足,也没...
📘
春哥
2023-05-08
返回顶部
刘璐
高级客户经理
18562550650
2845263372
统一服务热线 4006-8899-23
我要提问提问有任何问题,您都可以在这里提问。 问题反馈反馈点击这里,让我们聆听您的建议与反馈。