【Devops】敏捷开发的质量保证

简介: 关注公众号“达摩院首座”,了解开发者最真实生活

本座粗粗整理了一下,在过往发表的文章中,敏捷(Agile)、开发运维一体化(Devops)和持续集成/部署(CI/CD)是本社区的高频词汇,这三个概念本质上是对迭代型项目在三个不同层面上的描述。

敏捷关注在项目流程,强调在加速交付过程中的变更管理;

CI/CD关注在软件定义的生命周期,强调自动化开发和测试过程中的工具(链);

Devops关注在企业文化,强调不同角色/团队的职责分工。

1.png
今天讲敏捷开发中的质量管理,首先质量管理不光是QA团队的事,如果开发、测试部门不上心,QA根本兜不住大堆大堆的质量问题,就像一个球队的防守不能只靠守门员一样。我们首先从最主要的测试说起,测试可分为黑盒和白盒测试。

  • 黑盒测试不要求测试人员懂得编程的知识,只是按照程序的功能一项一项的测试,并将有问题的功能点找出来就可以了。
  • 白盒测试是通过程序的源代码进行测试而不使用用户界面。这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。
    2.jpg

很明显黑盒测试的层级更高,直接面向运维、内部用户甚至最终客户,为了尽可能不将问题暴露给终端客户,开发人员和QA要协同起来在初期建立起开发的质量标准体系。在下图中卡夹可以看到整个生命周期内并没有明确的测试团队介入,因为敏捷的项目并没有完整的测试体系,QA在每次新代码并入时就需要保持质量一致性。

3.jpg

除此之外,敏捷与传统测试相比,更强到自动测试的重要性,其主要功能在于生产出市场需要的应用,因此QA的角色更注重于满足客户的质量需求,也就是说除了黑盒白盒测试外,QA还需要全面理解开发阶段的内部团队工作目标。

说完测试,来聊聊敏捷开发的风险管理,大家都知道,随着项目的推移,早期的风险是会逐步放大的,如何识别并管理好风险也是敏捷项目关注的质量重点,至少来说风险记录和可追溯,在一张完整的风险管理清单中,需要至少记录风险的描述、识别日期、可能性、严重性、优先级(风险编号)、负责人、行动计划和状态。当然如果有系统(例如Jira,看板等等)可以管理那就更方便了。

4.png
工具的好处在于可以与所有或指定干系人在全生命周期内保持良好的沟通;有序管理开发工作;在有限的发布周期内管理好功能优先级;精确到事件的系统可追溯性以及在开发过程中随时引入新的用户故事。

抛开测试与风控,由于频繁迭代的进度需求,自动化也是提升QA效率的重要利器。有过测试经验的朋友可能知道,回归测试会占用大量的QA或测试团队时间,有了自动化工具就可以确保之前工作的交付物可以继续复用,这样QA工程师仅需关注新功能的测试即可,同时自动化也可以帮助到开发团队更加放心地做系统变更,因为任何代码问题都能被即时识别出来,甚至在递交给QA之前就能被修复。

当然我们需要理解一些测试案例是不能完全自动化的,例如在数据或者环境的变更的情况下复用自动化案例就会带来错误的识别结论。

相关文章
|
2月前
|
前端开发 Java UED
JSF遇上Material Design:一场视觉革命,如何让传统Java Web应用焕发新生?
【8月更文挑战第31天】在当前的Web开发领域,用户体验和界面美观性至关重要。Google推出的Material Design凭借其独特的动画、鲜艳的颜色和简洁的布局广受好评。将其应用于JavaServer Faces(JSF)项目,能显著提升应用的现代感和用户交互体验。本文介绍如何通过PrimeFaces等组件库在JSF应用中实现Material Design风格,包括添加依赖、使用组件及响应式布局等步骤,为用户提供美观且功能丰富的界面。
36 0
|
2月前
|
敏捷开发 运维 监控
DevOps 在敏捷开发中的应用
【8月更文第30天】随着软件开发行业对快速迭代和持续交付的需求不断增加,敏捷开发方法论已经成为标准实践。DevOps 作为一种文化理念和技术实践的结合,强调开发与运维团队之间的紧密协作,以提高软件产品的质量和交付速度。本文将探讨 DevOps 如何支持敏捷开发流程,并通过具体的代码示例来展示其在迭代发布和反馈循环中的应用。
71 0
|
5月前
|
敏捷开发 Devops 持续交付
探索阿里云云效DevOps:构建敏捷开发与持续交付的新模式
敏捷与持续交付成软件开发主流,阿里云云效DevOps助力团队转型。集成敏捷工具,实现CI/CD,加速迭代与交付,提升产品竞争力。同时支持团队协作和项目管理,构建高效DevOps流程,驱动软件开发创新与进步。
117 1
|
5月前
|
监控 Devops 测试技术
利用阿里云云效DevOps提升团队协作效率与交付质量
阿里云云效DevOps助力团队提升协作与交付质量。它集成了项目管理、代码托管、持续集成/测试/部署,实现全生命周期管理,提高协作效率。自动化功能保障软件质量与稳定性,实时监控与报警功能增强问题解决速度,从而推动团队业务快速进展。
92 0
|
5月前
|
敏捷开发 Devops jenkins
DevOps、瀑布模型与敏捷开发:关系解析与对软件交付工程师的影响
DevOps、瀑布模型与敏捷开发:关系解析与对软件交付工程师的影响
134 1
|
运维 监控 Devops
怎样利用DevOps文化提高软件开发的效率和质量
DevOps文化的兴起为软件开发带来了新的思维和方法,通过自动化、持续交付、协作等实践,提高了软件开发的效率和质量。在不断变化的技术环境下,利用DevOps的理念和实践,软件开发团队能够更加灵活、高效地应对挑战,将创新快速落地。同时,随着新概念的涌现,我们也看到了DevSecOps和AIOps等的前景,为软件开发领域带来更多的可能性。
258 1
怎样利用DevOps文化提高软件开发的效率和质量
|
敏捷开发 Devops
瀑布开发模式、敏捷开发模式与DevOps
瀑布开发模式、敏捷开发模式与DevOps
504 0
|
运维 监控 Devops
云效2.0助力企业成功实施DevOps,让软件交付质量更快更好
DevOps是近几年非常热门的话题,企业如何成功实施DevOps,是企业迫切想要解决的。在2017杭州云栖大会企业高效研发实践专场上,阿里巴巴研发效能事业部高级技术专家章屹,为大家分享了《云效2.0助力企业成功实施DevOps》议题,为大家提供了解决思路和实施方案。
2907 0
|
2月前
|
敏捷开发 缓存 前端开发
阿里云云效产品使用合集之前端打包时npm安装卡住一般是什么导致的
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。