5月15日参加持续交付、敏捷、DevOps的理念实践讲座,其中一些内容非常有启发作用。整理了几个观点(理念、原则)进行分享。
- 敏捷迭代中开发的连续性,不应与明显的迭代分界(开始或结束): http://lzhted.iteye.com/blog/2211955
- 自动化测试策略和交付管道
- 部署模式:http://lzhted.iteye.com/blog/2213844
本文介绍第二点:自动化测试策略。其中一些基本的原则和实践包括,
- 给测试用例分层,如LLT、HLT、SIT等。
- 测试与开发合作编写与维护测试用例。
- 所有人都可以运行测试用例。
- Test are the first class code。
关于测试分层,正常情况下是一个金字塔结构,如下图所示,越底层是越基础的测试,占比也越大。但一般实际情况是以冰淇淋结构居多,即低层次的自动化测试较少,而高层次的人工测试较多。而这会造成我们测试和定位问题的成本偏高,版本发布的时间较长。
结合持续交付的理念和自动化测试策略,提出一个交付管道的概念。将测试分为五层:Unit Tests, Integration Tests, Application Tests, System Tests, SIT。前三层一定是自动化测试,最后一层有部分手工测试,因此从特性开发完成到上线激活就可以看成一条流水线或管道,如下图所示:
将系统划分成多个APP,每个APP的管道相对独立,如下图所示:
面临的挑战:
- 手工测试与自动化测试之间的重复。
- 已经存在的代码——需要补充很多测试用例(建议只从增量代码开始写测试用例)。
- 需要较多时间维护测试用例。
相关推荐
DevOps是一种文化和实践,它鼓励...总的来说,DevOps和持续交付是现代软件开发中不可或缺的部分,它们通过文化和工具的结合,优化了软件开发、测试和运维的流程,从而加快了产品上市的速度,提高了产品的质量和可靠性。
DevOps之自动化测试是实现敏捷开发、持续集成和持续交付的重要组成部分。它不仅提高了软件的质量和稳定性,还大大缩短了产品上市的时间。通过采用上述技术和方法,组织可以构建更加可靠、高效的软件开发和测试流程。
6. Less Communication, More Alignment:Less Communication, More Alignment是指在DevOps实践中,通过自动化和标准化来减少沟通成本,提高团队协作效率。该概念强调了自动化和标准化在DevOps中的重要性。 7. 企业...
持续交付与DevOps
【持续交付报告DevOps-Report-2021.pdf】是由Puppet发布的2021年最新DevOps研究报告。这份报告深入探讨了DevOps领域的关键趋势、挑战以及最佳实践,旨在帮助组织理解如何通过DevOps提升效率、质量和创新速度。 在...
### DevOps之敏捷交付 #### 一、引言 在当今快速变化的市场环境中,企业必须能够迅速响应市场需求,提供高质量的产品和服务。DevOps作为一种融合了开发(Development)与运维(Operations)的理念与实践,旨在通过...
《持续交付2.0+业务引领的DevOps精要》一书中,乔梁探讨了如何在DevOps实践中选择合适的分支策略来支持持续集成和持续交付。本章主要围绕两种常见的分支策略:项目制发布和发布火车模式。 1. **项目制发布**: ...
"devops持续集成自动化部署常用功能"这个主题涵盖了多种编程语言和技术,包括Shell脚本、Java和Python,它们在实现持续集成和自动化部署过程中发挥着关键作用。 1. **Shell脚本**:在Linux或Unix环境中,Shell脚本...
《持续交付2.0(DevOps)-乔梁》最新版梳理结构脑图,详尽的DevOps各个环节关注要点及最佳实践
通过采用自动化工具链以及标准化流程,持续交付能够极大地提升软件发布的频率与可靠性,从而满足市场快速变化的需求。 #### 百度案例分析 ##### 复杂的软件生态系统 百度面临的是一个极其复杂的软件生态系统,...
DevOps是一种新软件工程方法,研发质量保证预发布、生产敏捷迭代、Sprint、测试驱动研发等,是一种能力体系框架,关注整个业务/应用/服务生命周期的管理,把业务和IT的战略进行了对齐。DevOps以精益思想为基础,强调...
内部分享材料,现有工作应用中的自动化框架及应用场景介绍分享ppt
DevOps设计的核心是自动化和集成。自动化可以帮助企业减少手动操作的错误和延迟,提高效率和质量。集成可以帮助企业将不同的系统和工具集成在一起,实现无缝的协作和交付。 DevOps案例 NUC Auto产品提供了多种...
持续交付的实施是一个系统工程,需要从软件设计、开发、测试到部署的每个环节都做到自动化和优化。这不仅仅是技术问题,还涉及到团队文化和组织结构的调整。 总的来说,微服务架构与持续交付和DevOps结合,能够带来...
【Python-Adminset自动化运维平台】是针对现代IT环境设计的一款强大的CMDB(配置管理数据库)、CD(持续交付)、DevOps工具集,旨在提升运维效率并实现自动化管理。这款平台的核心理念是融入了DevOps文化,它强调的...
DevOps强调自动化测试和持续集成,以及时地检测和修正问题。它还包括持续部署和持续交付,确保软件可以快速地从开发人员的电脑中部署到生产环境。徐毅提出,DevOps能够加快价值产生,提升创新能力并改善客户体验,但...
DevOps是一种将软件开发(Dev)和信息技术运维(Ops)结合起来的工作方式,它的核心目标是提高组织...DevOps强调在软件交付全生命周期中,从需求收集、开发、测试到部署和运维的每一个环节都应该进行持续的优化和改进。
DevOps平台与实践是企业IT生产线的核心组件之一,旨在实现敏捷开发、自动化测试、持续集成、持续部署和监控等功能,提高企业的软件开发和交付效率。本文将从标题、描述、标签和部分内容四个方面对DevOps平台与实践...
持续集成(CI)和持续交付(CD)是实现DevOps的关键实践,它们通过自动化测试和部署来加速集成和发布过程,减少人工干预,降低失败率,提高软件发布的可靠性。 此外,文档提到了容器技术,与传统虚拟化技术不同,...
2. **平台功能设计**:平台应具备版本控制、代码审查、持续集成、自动化测试、环境管理、部署自动化、监控和日志管理等功能,以实现端到端的流程自动化。 3. **成功案例分析**:通过分析成功实施DevOps的案例,如...