即使没有单元测试,构建自动化真的有助于提高生产力吗?
Does build automation really help productivity even without unit tests?
在我们当前的项目中,我们实际上并没有进行单元测试。我们的老板鼓励我们像 Jenkins 一样进行构建自动化。构建自动化工具真的能帮助我们提高生产力或质量吗?
当然,即使您尚未编写任何测试,自动化您的构建也会提高您的工作效率和质量。每次有人想要测试或发布构建时,您都不必手动构建,如果遇到编译或其他构建错误,您会更快地发现。
但是您当然也应该编写测试,并且运行它们也会自动进行。
它可能 有点帮助,但不如通过测试来支持它。
例如,构建自动化,如果为每次提交代码的尝试配置,将确保如果构建失败,即无法编译,那么代码将被阻止进入其他人正在工作的主分支或者至少,确保每个人都知道构建已损坏。这取决于您的构建自动化是在代码合并到其他人正在处理的分支之前还是之后运行。
这将确保至少代码至少可以编译,因此团队中的其他人不必为无法编译的代码而苦苦挣扎,也不必浪费时间尝试查明其他代码中的错误。
根据包含多少构建自动化,您甚至可以准备好可交付的工件以进行手动测试,从而节省执行这些构建的时间。
但这就是它的极限,除非你有一些测试。
作为旁注,我说 可能 的原因是 none 除非注意结果,否则它是值得的。如果结果在那里但从未真正跟进,那么现实就是零价值。
在我们当前的项目中,我们实际上并没有进行单元测试。我们的老板鼓励我们像 Jenkins 一样进行构建自动化。构建自动化工具真的能帮助我们提高生产力或质量吗?
当然,即使您尚未编写任何测试,自动化您的构建也会提高您的工作效率和质量。每次有人想要测试或发布构建时,您都不必手动构建,如果遇到编译或其他构建错误,您会更快地发现。
但是您当然也应该编写测试,并且运行它们也会自动进行。
它可能 有点帮助,但不如通过测试来支持它。
例如,构建自动化,如果为每次提交代码的尝试配置,将确保如果构建失败,即无法编译,那么代码将被阻止进入其他人正在工作的主分支或者至少,确保每个人都知道构建已损坏。这取决于您的构建自动化是在代码合并到其他人正在处理的分支之前还是之后运行。
这将确保至少代码至少可以编译,因此团队中的其他人不必为无法编译的代码而苦苦挣扎,也不必浪费时间尝试查明其他代码中的错误。
根据包含多少构建自动化,您甚至可以准备好可交付的工件以进行手动测试,从而节省执行这些构建的时间。
但这就是它的极限,除非你有一些测试。
作为旁注,我说 可能 的原因是 none 除非注意结果,否则它是值得的。如果结果在那里但从未真正跟进,那么现实就是零价值。