Testing 误用术语;代码冻结“;

Testing 误用术语;代码冻结“;,testing,process,agile,scrum,code-freeze,Testing,Process,Agile,Scrum,Code Freeze,我只是好奇社区是否认为在除了测试和修复bug之外我们停止开发的情况下使用“代码冻结”这个术语是可以接受的 发展形势 我们刚刚完成我们的第三次也是最后一次冲刺,接下来是“代码冻结”和2周的Q/a测试。这是一个大版本,一些组件开发已经超越了所有3个Sprint。从历史上看,即使我们称之为“代码冻结”,我们仍然会提交代码来修复bug 问题 每一次发布,我都会试图纠正我的经理和同事,我们应该称之为“功能冻结”,因为很明显,一旦开始大规模测试,我们就会发现bug并提交代码来修复它们。但他们仍然坚持称之为“

我只是好奇社区是否认为在除了测试和修复bug之外我们停止开发的情况下使用“代码冻结”这个术语是可以接受的

发展形势

我们刚刚完成我们的第三次也是最后一次冲刺,接下来是“代码冻结”和2周的Q/a测试。这是一个大版本,一些组件开发已经超越了所有3个Sprint。从历史上看,即使我们称之为“代码冻结”,我们仍然会提交代码来修复bug

问题

每一次发布,我都会试图纠正我的经理和同事,我们应该称之为“功能冻结”,因为很明显,一旦开始大规模测试,我们就会发现bug并提交代码来修复它们。但他们仍然坚持称之为“代码冻结”。有时我们仍然有已知的bug,并宣布“代码冻结”

维基百科的定义似乎与我一致

分析

我怀疑,将这些情况称为“代码冻结”是某种故意为利益相关者提供虚假信心的行为。或者我们假装处于“代码冻结”状态,因为根据Scrum的说法,在每一次冲刺之后,我们都应该有一个可交付的软件,这是我们对Scrum的期望。因此,我们必须称之为Scrum所期望的,而不是它的真正含义

结论

我是不是分析过度了?我只是觉得忽视现实情况是不健康的,要么放弃称之为“不是”的说法,要么解决根本问题。还有其他人有过类似的代码冻结经历吗

我是不是分析过度了

嗯,可能吧。实际上,在冻结后进行任何代码更改之前,您应该三思而后行。bug必须通过一些严重性测试,如果修复需要对代码库进行潜在的危险更改或使已完成的测试无效,则更应该如此。如果你不这么做,那么是的,你只是在欺骗自己

但是如果你不打算修复任何bug,那么冻结代码是毫无意义的:只需构建并发布它


最终,重要的是你们都理解标签的含义,而不是标签本身。一个快乐的大胖子…

事实上,我认为他们的解释更正确。对我来说,功能冻结将意味着停止引入新功能,但目前正在开发的功能可以继续完成,或者您可以安排一些重构工作,以消除技术债务,而不生成新功能。代码冻结会停止所有新开发,包括重构——唯一允许的新代码是修复QA期间发现的bug。后者似乎是您的团队正在做的事情。

虽然“代码冻结”可能有一个模糊的含义,正如前面提到的,在考虑单个项目/版本时,它更适合于“功能冻结”,但它确实在更大的范围内占有一席之地,集成部署,其中另一个实体负责打包和/或部署来自不同团队的多个软件版本。“代码冻结”给了他们时间来确保环境是一致的,并且所有包都被考虑在内。“代码冻结”还意味着除了“显示停止”更改之外,没有其他内容进入。其他一切都将在下一个维护版本中处理

在一个完美的世界中,脚本测试将在这一点之前完成,并且将有时间部署任何最后的修复程序并重新测试。我还没有在任何“环球公司”看到这种情况发生。(业务)测试人员在部署之前甚至之后都会进行测试,“代码冻结”成为一个信号,告诉他们要加紧努力,并记录他们所做的一切。在某些情况下,这是他们开始测试的信号

真的,“代码冻结”只是“这里有泰格人”的商业用语

是啊,想得太多了。 是的,用词不当

如果代码没有损坏/凌乱,你就不会去碰它,如果是的话,你会修复它。这与您没有处于代码冻结状态时的情况完全相同。是的,“需求冻结”或“集成中断”是反模式的。这是一个停止在下一版本中包含新功能的点,这在销售/营销/客户支持方面很有价值。但他们可能应该称之为“预发布”

应该发生的是,版本控制中总是有一些系统的可发布版本,公司会选择一个发布


“代码冻结”的精简名称是“浪费”。

当我们进行代码冻结时,回购是锁定的,希望所有的bug都得到了修复,您希望修复,并且在分支和构建到生产之前,您可以让测试人员进行下一轮测试。如果在这个迭代中有任何未解决的bug,潜在客户会一直盯着你,直到它被关闭,或者被认为是非关键性的,并将迭代推迟。所以,是的,它真的冻结了。

一些进入适应性和敏捷工程方法学(如scrum)的人可能没有意识到自己已经进入了什么

成为敏捷工程的原因是向您的客户发布任何现在可用的东西,并逐步建立其可用性和特性

  • 如果你的项目预计在18个月内完成,但如果你可以每2个月就有更多的可用功能,为什么不每两个月发布一次功能,而不是等到18个月后的盛大圣日,因为无论哪种方式,项目都将持续18个月
  • 您客户的需求可能会发生变化,因此,在为时已晚之前,为客户提供频繁改变想法的机会,会让客户感到兴奋
  • 有人可能会在10个月后发布您的某个模块的开源模块,而您不必这样做