中断

集成QA是当务之急

近20年来,质量保证(QA)团队在软件开发领域扮演着守门人的角色,确保每个解决方案在最终交付给客户之前都能很好地工作并满足客户的需求。它是建立客户信任的重要工具。

在传统的“瀑布”模型中,大多数人都承认QA团队在软件开发周期的最后阶段在验证已编写的所有代码时所扮演的角色。随着软件开发逐渐演变成更加强调时间轴的敏捷和DevOps模型,有时人们可能会质疑QA的相关性。交付周期从6个月变成了6周,这使得开发人员想知道额外的QA层的价值,因为它给软件开发过程增加了更多的时间。

开发人员可以成为测试人员吗?

一种流行的思路建议开发人员自己进行测试,以减少移交的数量并加快交付过程。虽然这似乎是一个令人信服的论点,但在现实中,这一想法存在严重缺陷,原因有几个。

即使在过去,当开发人员大概有足够的时间来编写好的、完美的代码时,总是有bug需要修复。在DevOps环境中,时间是如此紧迫;开发人员是否会犯更少的错误,或者有时间承担测试的额外责任?

其次,QA功能需要与开发者不同的专注度和气质。开发人员永远不会像QA团队那样专注于测试,就像QA人员在编写代码时可能不是最精通的一样。不仅如此,编写代码的团队在他们的工作视野中往往过于短视,无法轻松地发现错误。

QA部门鼓励疯狂地专注于以终端客户为中心,以鹰眼强调质量。公司需要认识到,迫切需要QA功能超越端到端狭隘的焦点,并成为开发过程中更重要的一部分。

综合质量保证是未来

许多行业分析师也认识到QA在DevOps中的作用,并开始将其称为devtestop。瀑布时代的独立QA团队可能不适合快速变化的DevTestOps世界。因此,是时候重新审视整体和集中的QA功能,并改变它们与开发团队的交互方式了。“独立的QA”需要转变为“集成的QA”,同时处理与新世界相关的过程、工具和人员的具体细微差别。

在端到端测试

今天,敏捷过程是数字项目中广泛使用的方法,因为它关注于更短的sprint周期,价值在几周内实现,而不是几个月。因此,新的QA流程也应该关注测试,而不是局限于黑盒/端到端测试,而是在开发代码时就开始贡献价值。静态测试、构建验证测试和组件级安全性/性能测试变得必不可少。QA团队在sprint计划期间的参与和整个生命周期的站立会议也是关键。

传统的基于ui的验证这些工具现在正在让位于服务虚拟化、API测试和以性能工程为重点的实用程序。帮助在代码中构建质量并尽早捕获潜在的漏洞正在改变工具市场的整个动态。


对于一家总部设在美国的大型电信公司来说,Infosys帮助实现了每周两次的部署。建立了一个无缝的零接触持续集成测试/持续部署框架,以支持功能和非功能测试的自动脚本执行。80%的自动回归套件帮助减少了25%的循环时间。


明天测试员的新技能

明天的测试用例将是Java、Perl、Python等语言的代码片段,而不是传统的英语测试用例。这使得它具有挑战性,特别是因为传统的QA总是强调领域,而不是技术技能。然而,未来的测试人员需要比过去的同行更擅长技术。对于大多数组织来说,这将意味着大量劳动力的重新技能培养,并向数字QA团队注入新的人才。


Infosys帮助一家领先的时装零售商提高了整个企业的敏捷性,将其QA组织转变为一个实现DevOps的联合敏捷团队。该团队精通敏捷/DevOps实践,QA流程也重新调整到敏捷/DevOps方法论上,使得更频繁的发布能够使80%的改进及时投入市场,并且没有任何严重缺陷泄露到生产中。


这支新的劳动力队伍现在被称为SDETs、全栈QA、集成工程师等。不管我们怎么称呼它们;他们需要成为新的忍者,准备好与他们的开发和操作对手并肩工作。此外,他们需要使用工具和技术的共同语言。

QA将更多地与业务目标保持一致

将QA团队与软件开发人员区分开来的是他们对业务领域的欣赏。这将帮助他们无缝地将用户故事和优先级转换成一组测试目标和脚本。当与正确的工具结合使用时,这可以极大地帮助组织交付客户的业务目标。


通过持续的自动化和基于分析的测试,Infosys帮助一家领先的零售商提高了客户满意度和上市时间,每年发布8个版本,100%的进度坚持,没有严重缺陷泄露到生产中。


重要的是,我们接受新的标准,QA团队交付的质量定义不局限于缺陷、覆盖率等,相反,它实际上确保了以更大的敏捷性和最小的风险实现业务目标。

关于在DevOps的新世界中是否需要将QA作为一个单独的焦点的整个争论是没有意义的。对QA的需求与软件开发模型无关。相反地,我们需要将精力集中在建设性的对话上,即如何重新设想QA,使其与不断变化的业务需求相关。