首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >开发/QA/生产环境

开发/QA/生产环境
EN

Stack Overflow用户
提问于 2011-03-11 07:33:17
回答 4查看 2.1K关注 0票数 1

我是一家大型企业软件公司的QA测试负责人,该公司拥有30多名开发人员和一小部分QA测试人员。我们目前使用SVN来完成所有的代码和模式检查,然后每晚在几个小时后进行构建。

我的两难境地是:所有的开发代码每天都从他们的机器升级到中央存储库,然后放到一个分支中。这个分支是我们下一个软件版本的生产代码。每天当代码签入时,稳定分支都会使用这段新代码来解除稳定,直到QA可以对其进行测试。QA有时可能需要数周时间来测试特定的代码片段。所有这一切最糟糕的部分是,我们提前几个月确定了哪些代码将进入标准版本,哪些代码将被转移到下一个分支,这让我们一直编码到几乎实际的发布日期。

我真的开始看到这个过程的影响(由我的前辈放在适当的位置),我正在试图想出一种不会激怒开发的方法,这样他们就可以将代码提升到QA环境中,而不会阻碍其他开发人员的代码片段。我们的很多代码都有共享库,正如我之前提到的,有时QA可能需要一段时间才能得到一段代码进行测试。我不想在某段代码等待测试时,就阻碍了该领域的开发。

我现在的问题是,这里采用的最好的方法是什么?有没有软件可以帮你解决这个问题?我真正想做的是确保QA有足够的时间来测试一个版本,在测试之前没有任何新的代码进入。我不想流落街头寻找新工作,因为根据组织中的许多人的说法,QA做的工作很糟糕。

任何建议都将非常感谢,并将有助于我们的测试和产品。

EN

回答 4

Stack Overflow用户

发布于 2011-03-11 21:05:05

这是一个广泛的问题,需要一个广泛的答案,我不确定我是否知道它所需要的一切(我一直是开发主管和架构师,而不是测试经理)。我在您描述的过程中看到了几个问题,每个问题都需要一个解决方案:

开发中间版本的

  1. 测试团队

这应该通过与开发人员合作,将他们的工作拆分成有意义的迭代(在敏捷方法中称为sprint),并每隔几周交付一个工作版本来处理。此外,应该确定功能是按优先级实现的。这样做的好处是保持了“测试差距”的固定:您总是测试几周前的最新版本,并且开发人员知道您发现的任何问题都比下一个版本的新特性更重要。

  • 测试团队正在处理非稳定版本。

测试团队完全没有理由把时间花在那些“一到就死”的版本上。持续集成是一种尽快发现“破坏代码”的方法。这需要在产品上进行一些投资,如哈德逊或自家开发的解决方案,以确保构建失败在发生时得到通知,并对其应用一些“冒烟测试”。

  • 您的测试周期很长

投资于自动化测试。这并不是说你的测试人员需要学习编程;相反,你应该投资于用他们在编写稳定的自动化测试方面的知识和热情来招聘或成长人员。

  • 你选择“一直编码到几乎实际的发布日期”。

这是正确的;这是您和您的管理人员做出的选择,比起稳定性和质量,它更看重功能。对于一些需要尽快上市或有关键客户满意的公司来说,这是一个很好的选择;但这是一项糟糕的长期投资。一旦你说服你的管理层这是一种选择,你就可以在不真正需要它的时候停止使用它。

再说一次,这是我的两个观点。

票数 4
EN

Stack Overflow用户

发布于 2011-03-11 07:36:02

您需要一个能够自动执行构建、测试和部署的持续集成服务器。我将研究Apache Hudson、JUnit (DBUnit)、Selenium和Sonar等代码质量工具的组合。

票数 1
EN

Stack Overflow用户

发布于 2014-09-17 04:18:13

为了确保QA测试的代码是唯一的,并且不会不断变化,您应该使用标记。标记类似于分支,除了内容是不可变的。一旦一组文件签入/提交,您就不能在这些文件之上进行更改和提交。这样,QA就有了他们正在使用的代码的稳定版本。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5267228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档