在越来越敏捷的世界里,我们还需要专门的质量保证测试人员和团队吗? 在考虑质量保证目前和未来的职责时,我们应考虑这些问题。
今天的新闻充斥着声称软件测试已经死亡的文章。根据这些文章,公司正在进行敏捷测试,测试将由开发人员或测试机器人完成。另一方面,也有同样多的文章在报道软件故障导致经济损失。听到这些失败的案例,我们应该第一个想到什么?他们应该做更多的测试!
显然,在新的数字经济下,质量和测试比以往任何时候都更重要。为了跟上变革,测试正在成为每个人的责任。因此,开发中正在进行更多的测试。但这是否真的否定了质量保证团队和测试人员的需求?我认为这归结为三个关键因素:
你在测试什么?
将测试从QA转变为开发的主要驱动力之一是采用敏捷。但考虑到敏捷的起源。这是一种方法,起源于帮助开发人员更快速地并行地开发更多的代码。每个开发者都分配一个单独的故事,他们开始提供一个为期两周的冲刺。但是当没有开发时会发生什么?例如在SAP运输的情况下,当没有故事或代码来测试时,谁写测试脚本?没有测试团队时,这个责任落在业务上,然后将业务工作人员从他们的工作中移除,以记录现有流程并对系统进行手动/探索性测试。当他们发现一个缺陷时,他们必须经历繁琐的记录过程,当他们发现缺陷时,他们必须经历繁琐的记录过程,屏幕截图并提交给支持的IT团队。所有这些都会削弱企业员工的主要工作,并降低其对公司的价值。
需要运行什么类型的测试?
对于单个功能或应用程序,可以通过开发运行单元,组件和功能测试。但是,当新功能或需要更新的功能是跨越多个应用的或是更大的系统的一部分时,会发生什么呢?谁负责构建回归测试库并运行端到端测试,以确保下游系统不受更改的影响?记录就这些复杂的过程可能需要几周。有效的测试还需要来自多个组的输入,这些组可能没有见到整个过程。然后,越来越多的需求越来越频繁地运行这些测试 ——甚至是每月,每周或每天。谁负责维护自动化,并确保跨功能文档在更新测试时保持最新?
有什么风险?
许多行业的经营严格的法律规定。对系统的任何变化必须记录并满足审计要求。在西南航空公司对SOX合规性的介绍中,他们讨论了他们在SAP中有45个自动控制,包括58个不同的文件。每个季度,这些控制必须通过捕获文档并将其与预期结果进行比较来验证。 这些重要而详细的工作需要一个集中的团队。 除了法律风险外,还有灾难性失败的风险,包括收入的重大损失和消极的公众认知。 星巴克注册失败,导致美国和加拿大60%的商店关闭,这只是过去几年发生的许多例子之一。
QA–新角色,确保业务工作中,而不仅仅是软件
的确,随着越来越多的组织采用敏捷方法来部署自定义应用程序,更多的单元/组件/功能测试将继续“向左”转开发者。但这并不否定集权变更管理和质量保证团队的重要性。应用场景变得越来越复杂——而不是更少。到今天,这已不单单关系到软件工作,而是业务工作。更多的组织正在转向像SAP,Salesforce.com和Workday这样的打包应用程序来管理基础业务流程,以便他们可以将定制开发的重点放在直接触及客户的应用程序上。他们正在寻求将自己和他们的产品与竞争对手区分开来。针对像SAP这样的应用程序的变更管理需要更高级别的编排和管理,无法以特定方式实现,也不能使用敏捷scrum方法。标准敏捷框架(SAFe)是单向组织,其正在发展其QA小组的角色。无论采取什么方法,有一件事是肯定的 —— 只要组织继续依靠复杂的软件网络来完成业务,QA将是必要和重要的!