禅道博客

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

全部

人生最痛两事与最乐两事

已过不惑之年,感慨也逐渐多了起来。有得时候觉得有很多东西可以分享,但当你尝试诉诸文字的时候,又发现语言是如此苍白。自己所谓的感悟总结,其实早已被古人先贤写尽。每每此时不免沮丧:感慨于诸事纷扰而自己能力有限,感慨于理想与现实之间巨大无情的差距。但还是会安慰自己,只要用心写了,也许会对某一位读到这些文字的朋友有点帮助,这就是我们每一个人都在努力的意义吧。人生痛苦多多,快乐虽有,但少之又少,又很短暂。近几年禅道软件团队规模也在日益壮大,也随之带来很多问题。私下里常与强哥讨论,今天和大家聊聊我认为最痛苦的两件事情和最快乐的两件事情。最痛苦之事一,将别人的钱放进自己的口袋里。每一位企业家都会赞同赚钱太难...
📘
春哥
2023-06-06

测试开发之源码篇-代码分支策略

一、主干开发 开发持续向主干提交代码,并基于主干进行测试验证; 在主干上修复缺陷,再同步修正的代码到需要的发布分支上; 每次均基于主干,创建指定版本的发布分支; 可享受持续集成、验证、交付带来的好处,消除不必要的分支切换和代码合并工作; 如果有众多成员同时工作在一个主干上,相互间容易干扰、引发代码冲突等问题; 可借助特性切换机制(如部署时的配置、代码中的判断),来规避不同版本间的差异(如隐藏不成熟的特性,赋予社区版和专业版不同功能),容易引发新的问题和复杂性。 二、Git Flow 开发人员在特性分支上实现新的特性,并提交代码...
💍
陈琦
2023-05-31

测试开发之源码篇-Git基本操作

版本控制(Revision Control) 在开发的过程中,记录文件、目录、工程等内容的变更历史,方便在以后查看、更改或回滚到先前的状态。Git是一个开源、分布式的版本控制系统,可以方便、有效地管理不同规模项目的代码版本。它最初是由Linux创始人Linus Torvalds为了管理Linux内核代码而开发的。 本次分享主要分为3个部分:第1部分借助一个演示项目,旨在帮助读者快速掌握Git的日常使用;第2部分给出Git常用命令的手册,方便大家在需要的时候查询;第3部分给大家介绍分支管理的常用模型。 Git几个概念 1)3个工作区 工作区(Working Dir):是指开...
💍
陈琦
2023-05-31

测试开发之源码篇-Git常用命令整理

本文列出了Git的一些常用命令,有兴趣的读者可加到浏览器书签,以备日后检索使用。 基本命令 # 设置代码提交者的用户名 git config --global user.name "chenqi" # 设置代码提交者的邮箱 git config --global user.email "chenqi@deeptest.com" # 克隆代码 git clone https://gitee.com/ngtesting/ci_test_pytest.git # 添加文件到版本库 git add test.txt # 提交文件到版本库 git commit -m "...
陈琦 2023-05-30

测试开发之安全篇-使用禅道ZTF执行OWASP安全扫描

开放Web应用程序安全项目(OWASP,Open Web Application Security Project)是一个开源、非盈利、全球性的安全组织,致力于应用软件的安全性方面的研究。OWASP安全标准被视为Web应用安全领域的权威参考。美国国家和国际立法、标准、准则、委员会和行业实务守则参考引用了OWASP,美国联邦贸易委员会(FTC)强烈建议所有企业需遵循OWASP十大WEB弱点防护守则,国际信用卡数据安全技术PCI标准更是将其列为必要组件。 OWAPS TOP 10是该组织定期发布的10项最严重Web应用安全风险列表,该列表总结并更新Web应用程序中最可能、最常见、最危险的十大漏洞...
陈琦 2023-05-29

我终于对禅道14年的代码下手了

从五月份开始,我们对禅道进行了整体的重构,我终于对禅道14年的代码下手啦。 跟大家说说我们的背景。禅道最新版本是18.4,核心的架构是MVC模式。禅道的第一行代码是2009年写的,至今代码已经迭代了14年。期间的开发人员也从最开始我自己一个人到现在几十个人在维护,虽然整体的结构还算良好,但也不可否认的是代码里的坏味道越来越多。是需要进行一次彻底的重构了。 在对业务代码重构之前,我们先对底层PHP框架和UI框架做了重构。Controller层和Model层我们又分别拆出来了两层: 其中Controller层拆出来的一层我们叫Zen,Controller里面拆分出来的...
📘
春哥
2023-05-29

测试开发之单元测试-禅道结合ZTF驱动单元测试执行

ZTF是禅道开源的一款自动化测试工具,支持两种形式的脚本: 1、ZTF自管理脚本。它通过在脚本顶部的注释中加入用例的编号、标题、步骤和期待结果等信息,实现和禅道手工用例的同步,用于同执行时输出的实际结果进行比对,以完成检查点的断言。具体可参考这里的一个例子; 2、其他单元测试或自动化测试工具的脚本。测试人员可按照原来的方式编写测试脚本,ZTF对他们并没有侵入,只是负责驱动这些工具脚本或项目的执行调度工作,分析结果、并提交到禅道。这里有一个PyTest的例子,供大家参考。 ZTF和市面上已有的自动化测试工具相比,更聚焦于自动化测试的管理功能,包括脚本的组织和调度、同测试管理系统的集成等。使...
📘
陈琦
2023-05-26

测试开发之单元测试-实现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
返回顶部
刘斌
高级客户经理
17685869372
526288068
统一服务热线 4006-8899-23
我要提问提问有任何问题,您都可以在这里提问。 问题反馈反馈点击这里,让我们聆听您的建议与反馈。