您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件测试管理 > 质量管理 > 正文

测试管理在DevOps中扮演着怎样的角色?

发表于:2018-06-21 作者:otpub 来源:微口网 点击数:

        DevOps(英文Development和Operations的组合)是一组过程、方法与系统的统称,用于促进开发(应用程序软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。本篇文章讲述了测试管理在DevOps中的应用。

测试管理在DevOps中的应用.jpg

       论DevOps、测试管理和QA部门之间如何共同合作,以达到更快地交付。

  在敏捷操作下,DevOps正在蓬勃发展并成为大量机构的主要优势。由于DevOps为业务、开发、运营和质量保证部门开辟了协作战线,它能够有效的向客户提供更新和更强的功能。DevOps符合敏捷项目所固有的精益、精敏的内在价值观,团队须尽最大努力确保提供合适的配置以应对挑战。
  经验证DevOps可以从测试管理的使用中获益匪浅。然而,有些人可能会想知道这个过程如何适应整个DevOps环境的细节。随着软件开发变得越来越复杂,DevOps组件将越来越依赖彼此的技能来解决问题,测试管理将在确保用户获得他们期待的优质产品方面发挥重要作用。
  1.构建DevOps优势
  对于DevOps团队来说,有很多工作需要做好,例如:监控质量和能够频繁的部署。但是,工欲善其事,必先利其器。测试管理不仅可以使DevOps实现这些效果,还可以使它们超越自我,达到最佳。IBM曾经指出,测试管理有助于DevOps通过利用数据促进持续集成和交付。测试用例和测试数据可以轻松关联,敏感信息保持安全,并分析各种结果。这些见解对于帮助DevOps团队进步并不断满足用户需求至关重要。
  “功能测试可以证实应用程序的行为,测试数据管理能够使研发机构去评估测试数据成功与否的变化,”IBM说。通过对比前后期测试数据,无论测试是否通过,都将有助于分析测试数据结果。这种做法很好的处理了许多隐藏问题,从而能够快速识别并解决持续集成和分发的问题。
  2.测试成熟度是关键
  为了确保DevOps成功,团队里必须有技术熟练的人在手,以保证活跃的提升操作。DevOps.com的创始人Marc Hornbeek曾指出,“尽管许多机构能够促进自动化集成,但在实际过程中仍可能遇到测试编排问题 ”。但是,测试管理工具就非常有助于这样的情况。测试团队可以提供他们的专业知识,并利用这些系统与DevOps合作。这将有助于确保代码顺利更改,并且项目能够满足要求。
  3.支持敏捷工作流
  DevOps是敏捷值的属性,意味着在这些环境中使用的各种类型的解决方案都必须有助于支持这些实践。测试管理就是通过协作功能、实时通知和其他基本功能实现的。根据Capgemini的“2015-16世界质量报告”显示,有29%的企业仍在努力进行敏捷测试,与去年同期相比,61%的企业显着下降。他们看到的主要挑战来自测试端对端工作流程,测试跨平台的服务集成,以及保持不同通道接口的一致性。与测试管理配合的DevOps可以帮助解决这些问题,确保用户通过移动设备获得积极的体验,云端和前端解决方案获得积极的体验,以帮助实现无缝互动。
  4.QA扮演着更快交付的战略性角色
  通常来说,测试已经到了软件开发生命周期的最后阶段,在保证一切工作正常的情况下留给企业做重大改变的空间非常有限。Datical指出,传统的软件开发手段通常会在开发周期后半程才发现缺陷,这通常迫使组织付出很大的代价来解决这些问题,并最终减缓整个开发进程。DevOps致力于在整个开发过程中的每一个环节都引入QA和测试管理,使它们成为质量的推动者,并确保产品符合利益相关者和用户所设定的质量标准。

测试管理在DevOps中的应用1.jpg

  “QA实际上被认为是DevOps中非常关键的组件,甚至于DevOps强调质量保证是每个人的责任,”Datical说。但这并不意味着QA专业人员在DevOps环境中不再具有作用 – 而是意味着与组织中的其他所有人对质量和稳定性承担更多的责任,QA可以并且应该扮演更具战略意义的角色,并提供对质量保证功能的全面监督,以及建立更强大稳定的测试基础设施。
  5.一致性测试是更好的质量的保证
  正如意料之中的,测试管理使DevOps团队能够更好地协作以更快的交付和敏捷的支持,另一方面这些好处也从本质上导致了跨项目的质量的提高。Dobb博士的资助者Scott Ambler指出,在某些特定方面的自动化尤其有助于团队更早更频繁地开始测试。这使DevOps能够更早的捕获缺陷并尽可能地减少缺陷。这种快速响应的方法不仅可以提高质量,还可以降低生产所需的潜在成本和总体时间。
  “敏捷团队通常每天多次运行自动化测试套件,并且因为他们可以马上解找到的任何问题,所以他们软件的质量水平高于没有使用的团队。” Ambler写道:“这对运营人员来说是一个好消息,他们坚持认为解决方案在批准生产之前必须具有足够的好的质量。”
  DevOps团队不断受到压力,这种压力来自于他们要尽可能多地满足利益相关者和用户的严格要求。然而,如果您购买测试管理工具,确实可以帮助成员轻松地在项目之间进行协同工作,从而整合优势并加快上市时间。这些类型的好处值得研究,以确保DevOps拥有所需的资源来产生他们所期待的那种优势。

evOps Development和Operations的组合

 

       可以把DevOps看作 开发( 软件工程)、技术运营和质量保障(QA)三者的交集

       传统的 软件组织将 开发、IT运营和质量保障设为各自分离的部门。在这种环境下如何采用新的 开发方法(例如 敏捷软件开发),这是一个重要的课题:按照从前的工作方式,开发和 部署不需要IT支持或者QA深入的、跨部门的支持,而却需要极其紧密的多部门 协作。然而DevOps考虑的还不止是 软件 部署。它是一套针对这几个部门间 沟通与 协作问题的流程和方法。

       需要频繁交付的企业可能更需要对DevOps有一个大致的了解。 Flickr发展了自己的DevOps能力,使之能够支撑业务部门“每天 部署10次”的要求──如果一个组织要生产面向多种用户、具备多样功能的应用程序,其部署周期必然会很短。这种能力也被称为持续部署,并且经常与 精益创业方法联系起来。 从2009年起,相关的 工作组、专业组织和 博客快速涌现。

       DevOps的引入能对产品交付、 测试、功能 开发和 维护(包括──曾经罕见但如今已屡见不鲜的──“ 热补丁”)起到意义深远的影响。在缺乏DevOps能力的组织中, 开发与 运营之间存在着信息“鸿沟”──例如运营人员要求更好的可靠性和安全性,开发人员则希望 基础设施响应更快,而业务用户的需求则是更快地将更多的特性发布给最终用户使用。这种信息鸿沟就是最常出问题的地方。

 

        以下几方面因素可能促使一个组织引入DevOps:

        使用敏捷或其他软件开发过程与方法

        业务 负责人要求加快产品交付的速率

        虚拟化和 云计算 基础设施(可能来自内部或外部供应商)日益普遍

        数据中心 自动化技术和 配置管理工具的普及

测试管理在DevOps中的应用2.png

       有一种观点认为,占主导地位的“传统”美国式管理风格(“ 斯隆模型 vs 丰田模型”)会导致“烟囱式 自动化”,从而造成 开发与 运营之间的鸿沟,因此需要DevOps能力来克服由此引发的问题。

       小结:它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营工作必须紧密合作。