这可能不是技术问题,而是流程驱动的查询。如果这不是提出这样问题的地方,请帮助我重定向到正确的论坛。
通常在项目中,我们有一个部署环境,开发团队在其中部署代码以进行测试。测试团队在环境中执行测试用例。
但是我看到有不同团队可以测试的多个环境的项目,当我明白这是什么意思?我认为没有任何理由比拥有多个环境。
两种环境:
1。较低的环境 - 开发人员可以使用此环境来测试他们的代码(此环境将是更高环境的精确副本,其中将进行内部和外部测试)
2。更高的环境 - 多个测试团队可以测试哪个从我的经验看似稳定环境。试试。
但我看到多个环境,测试发生时没有明显的具体原因。我的问题是谁有责任支持多种环境?我发现除了常规的开发活动,单元测试用例准备,从设计或业务上澄清用户故事,开发团队很难支持多种环境。
任何建议都会受到高度赞赏。
答案 0 :(得分:1)
我的问题是谁有责任支持多种环境?
根据您在团队中的规模和角色,责任通常在于开发人员,测试人员或发布经理。
跨环境的我发现除了常规开发活动之外,开发团队很难支持多种环境
部署可以而且应该自动化。确保有适当的源代码控制工具,所有开发人员都在那里签入代码。脚本可以创建一次并用于每个部署。有持续集成工具可用于帮助自动部署,也可以从源控制存储库中获取代码并从中构建应用程序。这将节省每个人的时间,并最大限度地减少人为错误。
发布管理最佳实践涉及设置主要的不同环境:
开发环境:
这是开发团队运行代码的地方。它可以是开发人员的工作站,也可以是在同一个项目上共同工作的几个开发人员共享的服务器。开发人员经常更新此环境,因此测试人员可能无法使用此环境执行正确的测试周期。开发团队的任何人都可以更新它。这就是你所谓的 Lower Environment 。
测试环境:
可以进行测试的地方。这将包括功能测试以及物理环境中的性能测试,其中硬件和软件与生产环境相同。此环境不经常更新,并为测试人员报告错误提供了一个通用平台。测试人员不必担心频繁更新(由开发人员),同时开发人员不必等待测试周期完成,以便他们可以更新此环境。应安排对此环境的更新并向相关组正确公布。此环境的更新应自动化,但由QA团队/经理控制。
暂存环境:
这是生产设置的镜像。它用作预生产地点,并包含 Release Candidate - 计划在线投放的下一版本应用程序。最终测试和客户/经理批准在这里完成。在将应用程序应用于生产环境之前,它用于验证安装,配置和迁移脚本/过程。此处安装的软件应与生产环境中安装的软件完全匹配。但是,由于此环境不用于测量性能,因此可以接受分段环境的硬件功能较少。对此环境的更新不经常且受到高度控制(通常由发布经理完成)。在某些项目中,开发人员,发布经理和QA测试人员实际上可能是同一个人,但应该清楚角色是不同的。
生产环境:
这是所有最终用户都可以使用的实时环境。与 staging 类似,只有选定的组应该能够更新实时设置。开发人员不应直接对 staging 或 production 环境进行任何更改。
答案 1 :(得分:0)
您好我以前的工作我们也有不同的环境,但这就是事情......在您的情况下,您有两个较低和较高的环境,这是好的。
我的建议是,您需要一位专职人员负责所有部署。也许你可以称他们为“部署人员/团队”,他将会检查所有开发人员的所有标准,如编码等,他将成为在测试站点(QA测试站点)部署的人员,以便开发团队可以专注于他们的任务。
为了能够实现这一目标,您可以为Tortoise SVN等所有开发人员使用集中存储库。
此外,所有开发人员都可以对其本地计算机进行检查。如果程序仍然存在错误,则如果错误尚未修复以避免部署问题,则不允许在存储库中提交更改。如果一切正常,开发人员现在可以在存储库中提交代码,然后部署团队将检查,如果一切对QA和开发团队都有好处,部署团队现在可以部署。
希望它有所帮助。
问候。