我们的开发团队一直在使用GitFlow分支策略,它很棒!
最近我们招募了一些测试人员来提高我们的软件质量。这个想法是,每个特性都应该由测试人员进行测试/QA。
过去,开发人员在单独的功能分支上处理功能,并在完成后将它们合并回开发
分支。开发人员将在该功能
分支上亲自测试其工作。现在有了测试人员,我们开始问这个问题
测试人员应该在哪个分支上测试新特性?
显然,有两种选择:
开发
分支上最初,我们认为这是必经之路,因为:
develop
分支中进行测试开发
)。他不需要询问开发人员哪个分支用于哪个功能(功能分支是由相关开发人员单独自由管理的个人分支)最大的问题是:
>
develop
分支被bug污染。
当测试人员发现错误或冲突时,他会将其报告给开发人员,开发人员在开发分支上修复问题(功能分支在合并后被放弃),之后可能需要更多修复。多个子序列提交或合并(如果在开发
分支上重新创建分支以修复错误)使得尽可能从开发
分支回滚功能变得非常困难。有多个功能在不同时间合并到开发
分支并在其上得到修复。当我们想要创建一个仅包含开发
分支中的一些功能的版本时,这会产生一个大问题
因此,我们再次考虑,决定在特性分支上测试特性。在测试之前,我们将从develop
分支到feature分支的更改合并(赶上develop
分支)。这很好:
开发
分支然而,也有一些缺点
Development
分支。这意味着当两个特性都合并到开发分支时,您必须再次针对Development
分支进行测试。你必须记住将来要测试这个。以上是我们的故事。由于资源有限,我希望避免到处测试所有东西。我们仍在寻找更好的方法来应对这种情况。我很想听听其他团队如何处理这种情况。
最好的方法是持续集成,一般的想法是尽可能频繁地将功能分支合并到开发人员分支中。这减少了合并痛苦的开销。
尽可能依赖自动化测试,并在Jenkins之前通过单元测试自动启动构建。让开发人员完成将他们的更改合并到主分支的所有工作,并为他们的所有代码提供单元测试。
测试人员/QA可以参与代码审查,检查单元测试,并编写自动集成测试,以便在功能完成时添加到回归套件中。
有关更多信息,请查看此链接。
在测试之前,我们将开发分支的更改合并到功能分支
不,不要,尤其是如果“我们”是QA测试人员。合并将涉及解决潜在的冲突,这最好由开发人员(他们知道自己的代码)来完成,而不是由QA测试人员(他们应该尽快进行测试)来完成。
让开发人员在 devel
之上对他/她的功能
分支进行重基,并推送该功能分支(开发人员已验证该分支
分支已在最新的 devel
分支状态之上编译和工作)。
这允许:
每次测试人员检测到错误时,他/她都会将其报告给开发人员并删除当前的功能分支。
开发人员可以:
功能
分支。总体思路:确保合并/集成部分由开发人员完成,将测试留给QA。
我们的做法如下:
在我们合并最新的开发分支代码后,我们在功能分支上进行测试。主要原因是我们不想在一个功能被接受之前“污染”开发分支代码。如果一个功能在测试后不被接受,但我们想发布已经在开发中合并的其他功能,那将是地狱。开发是一个发布的分支,因此最好处于可发布状态。长版本是我们分许多阶段进行测试。更具分析性:
你觉得这种方法怎么样?
例如,我想用和测试Kafka/Flink的集成。 该过程将是: 与Flink一起阅读Kafka主题 用Flink进行一些操作 和Flink一起写另一个Kafka主题 以字符串为例,从输入主题中读取字符串,转换为大写,写入新主题。 问题是如何测试流量? 当我说测试时,这是单元/集成测试。 谢谢!
我已经建立了一个简单的Spring集成流程,该流程由以下步骤组成: 然后定期轮询一个rest api 对有效载荷做一些处理 并将其置于Kafka主题上。 请遵守以下代码: 这非常有效,然而,我正在努力想出一些好的测试。 我应该如何模拟外部RESTAPI
远程引用是对远程仓库的引用(指针),包括分支、标签等等。 你可以通过 git ls-remote (remote) 来显式地获得远程引用的完整列表,或者通过 git remote show (remote) 获得远程分支的更多信息。 然而,一个更常见的做法是利用远程跟踪分支。 远程跟踪分支是远程分支状态的引用。 它们是你不能移动的本地引用,当你做任何网络通信操作时,它们会自动移动。 远程跟踪分支像
本文向大家介绍详解Git合并分支的流程步骤,包括了详解Git合并分支的流程步骤的使用技巧和注意事项,需要的朋友参考一下 正常合并分支dev到master流程: (合并到其他分支类似哈) 1、要合并的dev分支先更新提交所有文件 注意: 如果不需要提交的本地化修改文件的话,最好不要提交上去。临时备份然后删掉或者撤回。 进入项目根目录,然后执行: 2、切换到master分支 3、更新master代码到
现在你已经学会新建和合并分支,那么你可以或者应该用它来做些什么呢? 在本节,我们会介绍一些常见的利用分支进行开发的工作流程。而正是由于分支管理的便捷,才衍生出这些典型的工作模式,你可以根据项目实际情况选择一种用用看。 长期分支 因为 Git 使用简单的三方合并,所以就算在一段较长的时间内,反复把一个分支合并入另一个分支,也不是什么难事。 也就是说,在整个项目开发周期的不同阶段,你可以同时拥有多个开
我正在尝试为流配置实现一些测试。我将JMS入站通道适配器作为流的入口点,并将出站文件通道适配器(带有附加的ExpressionEvaluatingRequestHandlerAdvice)作为最后一个endpoint。 下面是一个示例代码: null 谢谢你。