全部
测试开发之源码篇-代码分支策略
一、主干开发
开发持续向主干提交代码,并基于主干进行测试验证;
在主干上修复缺陷,再同步修正的代码到需要的发布分支上;
每次均基于主干,创建指定版本的发布分支;
可享受持续集成、验证、交付带来的好处,消除不必要的分支切换和代码合并工作;
如果有众多成员同时工作在一个主干上,相互间容易干扰、引发代码冲突等问题;
可借助特性切换机制(如部署时的配置、代码中的判断),来规避不同版本间的差异(如隐藏不成熟的特性,赋予社区版和专业版不同功能),容易引发新的问题和复杂性。
二、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
如何培养团队的勇气
去年的时候写了若干篇关于极限编程的文章,今年开了岔,写了关于产品管理、敏捷开发方面的一些文章。再把话题拉回来,先把极限编程系列的文章写完。今天想和大家分享下如何构建培养团队的勇气。
极限编程价值观里面的勇气
极限编程有5个价值观,分别是沟通、简单、反馈、勇气和尊重。其中沟通、简单、反馈和尊重都还比较容易理解并实施,唯独勇气是有些抽象的。从我们团队实施极限编程的经验来看,勇气是一种尤为难得的品质,今天我会尝试从如何理解勇气和如何培养团队的勇气两个方面来分享下我们团队的经验。
如何评价一个人或者团队是有勇气的呢?
一个人或者团队能够面对现实,正视团队中的问题,这个人或...
2023-05-22