在过去几年中,随着敏捷实践的应用不断增加,质量保证与开发人员之间的关系也在不断发展。这两个角色之间的区分变得越来越模糊,这就这两种角色演变的一个很好的例子。
传统上,质量检查工程师的角色与职位,测试和验证代码质量更加一致。质量保证人员可以采用瀑布式方法进行工作,可以将无法部署的代码打回给开发人员,或者对代码进行了测试和验证通过,版本会发布到生产中。测试和验证不是开发人员关注的流程,交接仅仅是一种规范。
敏捷为开发人员和质量保证专业人员带来了新的思维定势,并承担了许多新的责任,这不仅有利于软件的交付,而且使我们的工作更加出色。
这是成为QA专业人士进入敏捷组织时的期望。
Dev-QA对齐
敏捷地工作意味着开发人员的角色和QA的角色几乎没有区别。我们每天都是是大同小异的,基本上由一个站立的会议开始,所有任务上在Scrum版上都可以看到。
如果任务处于准备就绪的阶段,则QA Pro会与负责任务的开发人员合作,以验证情况确实如此。您需要验证架构师和产品管理团队确定的验收要求已经得到满足。
在简短回顾功能之后,您可以与开发人员合作来完成验证工作,或者咨询产品团队或架构师以确保满足部署的测试要求。
本质上,就像开发人员一样,您正在努力使项目像前发展。但是越来越多的QA Pro角色涉及与故事相关的测试自动化。
“T”时间
越来越多的开发人员对其代码执行功能验收测试,因为这是确保项目的“完成”。这是敏捷开发的核心原则。它鼓励开发人员对其代码在生产中的性能承担最终责任和所有权。
质量检查专业人员和开发人员都在相同的预生产环境中工作,这就是为什么您必须接受更完整的“完成”定义的原因。如果代码更改在一个环境下,那么测试也应该在该环境下测试,因为代码库与实时应用程序的代码库相同。
这种责任的演变意味着您与之合作的开发人员日趋T型。也就是说,它们的主要功能是编码,但是测试和验证是完成该功能的关键要求。当然,质量保证专家会与开发人员合作确定如何实施测试自动化工具,但是开发人员有责任交付可部署的代码。
自然,开发人员并不是唯一的T型团队成员。敏捷工作意味着分担责任,也意味着分担工作。质量保证专家的主要角色可能是测试自动化,但您也可以承担开发任务,团队其他成员也可以。
自动化,自动化,自动化
开发人员肩负着在敏捷组织中检查,测试和验证代码的责任,这意味着QA的作用已经演变。(如果没有,那么您将无事可做)。质量检查人员现在将更多的时间花在编码上,但目的却是不同的。
开发人员能够更有效地测试,验证和检查代码(以及更轻松地采用这些实践)的原因是测试自动化工具已经发展起来,这就是QA现在关注的重点。确实,测试自动化工具通常需要比设计要测试的功能更多的代码!
一旦完成某些功能并且可以投入生产,也可以使用高级自动化。这是质量保证专业人员必须密切关注敏捷的地方,因为在稍后阶段可能会有机会引入进一步的自动化。
成功需要什么
对于任何从事敏捷工作的公司,要实现业务目标,就需要合理安排有助于实现这些目标的流程节奏。安排的关键是团队之间的协作和沟通,无论他们是技术团队,面向客户团队还是业务利益相关者。
这意味着,作为QA专家,您必须能够与软件开发生命周期中涉及的每个敏捷团队进行沟通。无论是在Scrum回顾中提供反馈,还是与架构师和产品经理合作的早期计划阶段,成为有效的沟通者都是至关重要的。
个人学习也是如此。对于QA专业人员(以及开发人员)来说,在编程语言和工具方面坚持他们所知道的很容易。但是技术前景飞速发展。
为了掌握最新进展,请花时间去更远的地方,了解即将出现的??新技术。与敏捷一样,最终目标是更聪明地工作,而不是更努力。技术和工具的进步可以实现这一点,因此请务必跟上。
核心思想
·敏捷团队中开发人员和测试人员职责分工不是那么明显,开发人员对代码更富有责任
·为了保证产品快速完成测试,可以和开发人员沟通合作共同完成测试
·T型团队成员中不仅仅包括dev,也包括QA
·QA 的工作重点在于自动化脚本的编写
·能够和敏捷团队其他人无障碍沟通
·拥有敏捷思想,跟上新技术的发展
作者:桃子
来源:51Testing软件测试网原创