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