测试需要管版本控制吗?

很久没写软件测试相关的技术文章,都快忘了我也是一个十年经验的测试工程师。

看到技术群里有人提问和质量保障有关的问题,问题大致是这样:工作流程中,开发询问测试代码合并到哪个分支,让测试来管版本控制,合理吗?

我觉得这个问题很有意思,基于个人的实践经验,聊聊我的看法。

先聊聊版本控制这件事。

1、在日常的研发测试交付流程中,版本控制(或者说版本管理)的重要性不言而喻。

首先,版本控制能够确保整个研发过程中,无论是代码合并还是测试,所使用的都是最新的且相对稳定的版本,从而提高测试的准确性和有效性(避免诸如分支合并错误或者发错版本等问题)。

其次,版本控制有助于团队协作,确保在多人同时进行测试时不会发生冲突。

此外,还可以通过版本控制对代码进行追溯,便于在出现问题时及时进行定位分析。

2、版本控制在软件持续开发中也非常重要,管理不当会导致版本混乱,影响团队协作效率。

通过版本控制,可以实现自动化测试和发布管理,提升交付效率。同时,版本管理和控制工具(如Git+Gitlab组合)的使用,可以让团队能够高效地管理代码变更和分支,从而达到持续交付流水线(CI/CD)的效果。

3、版本控制还是研发测试交付流程中不可或缺的一环,它能帮助团队追踪代码变更、管理不同版本的测试结果,并在必要时快速回滚到稳定版本。

通过版本控制,团队可以更好地管理测试资产和代码版本,确保最终的交付质量。

总的来说,版本控制在软件研发测试交付流程中具有不可替代的重要性,它不仅提升了团队协作效率,还保障了软件质量和交付的可靠性。

再聊聊版本控制在具体实践中的几种场景。

1、对中小型公司来说,版本控制大多是交给研发或者运维团队来负责。

一方面是因为中小型公司,在研发投入和质量保障方面,资源相对有限。因此,像版本控制这种需要长期投入才能看到正向效果的事情,没那么看重。

另一方面,由于测试团队整体的技术能力相对欠缺,因此交由研发或运维团队负责。

2、对一些独角兽或者互联网大厂来说,版本控制大多是交给测试团队负责。

一方面是因为规模大收益高,有更多资源投入在这种需要长期投入且边际收益相对较小的事项上。

另一方面,测试团队无论是技术能力还是其他方面,团队人员整体有足够的能力和意识来做这件事。

3、对于银行或部分国企IT团队来说,版本控制是交给专门的团队或人员来负责。

以银行为例,流程规范更完善,且会更严格的遵循权责分明这一原则。因此一般会设有专门的持续交付流水线团队或者配置管理人员,来负责版本控制这一事项,其他人只需要知道合并或发布到哪个分支和环境即可。

最后聊聊测试是否有必要负责版本管理这件事。

1、首先,考虑技术部门内部职责是如何划分的,即技术总监或CTO如何划分权力边界和分蛋糕。

2、其次,考虑测试团队未来的发展规划以及可能的资源投入。如果测试团队负责人,没有想要做版本控制甚至持续交付流水线的想法,那这件事就很难推动起来,更不要提落地所需的资源,以及上层对长期持续投入的耐心。

3、再次,需要评估测试团队人员的能力,是否满足做版本控制这件事的能力要求。版本控制并非简单的改改参数张张嘴指定分支、版本和环境,而是需要在整个研发测试交付流程中切入。

4、最后,则是很多测试同学经常挂在嘴边的测试没有话语权。

话语权这玩意,本身是和权责挂钩的。你负责的事情越多越重要,你的权利无形中就越大,自然就会掌握更多的话语权。只想要话语权不想干更多事情承担更多责任,话语权就是镜花水月。

总结一下,如果测试团队对版本控制比较熟悉,有一定的资源投入,想要承担更多责任做更多事情,则可以向上争取负责版本控制这件事。如果没有,则安心做好当下本职工作即可。

声明:来自老张的求知思考世界,仅代表创作者观点。链接:https://eyangzhen.com/3156.html

老张的求知思考世界的头像老张的求知思考世界

相关推荐

关注我们
关注我们
购买服务
购买服务
返回顶部