测试工程师在敏捷项目中扮演什么角色?

陈哥聊测试
• 阅读 257

敏捷团队中的测试人员主要负责执行各种测试,以满足“已完成”的定义,从而为团队在重复迭代中努力交付的持续价值创造做出贡献。对于测试人员来说,拥有敏捷的心态是至关重要的,如果没有敏捷的思维方式,他们可能就不能果断地计划、划分优先级并执行他们的任务,因此会无意中影响团队满足迭代目标的能力。敏捷的思维方式是测试人员展示正确行为的先决条件,这些行为能够加速整个团队的性能。

为了在敏捷项目中取得成功,测试人员应该关注以下实践:

1.态度胜过一切

团队中的测试人员可能不具备敏捷背景、自动化技能或丰富的测试经验——只要他们具备成为敏捷团队一员的正确态度,这仍然是可以的。正确的态度会反映在以下行为中,比如:相信敏捷宣言和实践,信任教练并全力以赴地遵循它,对新的学习和变化持开放态度,清晰表达和透明,致力于对团队重要的活动,在这段时间内主动改进和变得更好等等。

敏捷、自动化、测试或其他培训,对于拥有正确态度的人来说,是可以齐头并进的。

测试工程师在敏捷项目中扮演什么角色?

根据我的经验,在工作中使用僵化思维的测试人员减慢了迭代的进度。有些行为是——仅在ALM工具中更新状态时才测试缺陷;在测试环境关闭时,闲置而不在本地主机上执行健全性测试;考虑在会议期间单独测试活动;在部署时坚持团队成员的正式沟通,阻止决议和暗示等。

相反,以开放的心态来的测试人员转变了自己,为团队服务,并以各种可能的方式做出贡献,例如,他们中的一些人在空闲时间编写Junit案例来帮助开发人员,学会编写服务来模拟测试环境,在高度动态的环境中灵活调整计划和测试方法。

2.将迭代目标优先于外部分配

在矩阵式组织结构中,测试人员在敏捷团队中与Scrum Master一起工作,但他们向测试实践部门的直线经理或同一项目中的测试经理报告。这些在敏捷团队中驱动整体测试的测试经理,可能会给测试人员分配许多与团队迭代计划不一致的特别任务。

在我与测试人员的多次接触中,我发现他们很难在两方面之间取得平衡——兼顾绩效评估和致力于工作。他们中的大多数人都试图在没有通知敏捷团队的情况下承担外部任务,因为他们不想让直线经理不高兴。一些人知道它会影响正在进行的迭代活动,于是通过延长工作时间即加班来完成这些任务,但也有很多人牺牲了迭代活动。由于这种妥协,他们无法交付迭代目标,这导致了用户故事的常规溢出,也影响了团队的信任和内聚水平。

在这种情况下,测试人员应该怎么做?答案是——迭代活动应该总是优先于任何其他活动。但是,如果他们能够在不影响迭代目标的情况下完成外部任务,那么他们就可以继续!但是,如果外部任务有可能影响迭代目标,那么他们应该咨询团队以获得集体同意或意见分歧,并将决策告知直线经理。

3.跨职能团队中的关系平等

“我不能测试这个用户故事,因为开发人员没有部署它”,一个测试人员在每日站会中说,开发人员回答说:“抱歉,我忘了它,但你也应该联系其他开发人员来完成。”。这个场景突出了团队缺乏协作和所有权。推动一个用户故事的完成并消除间歇的阻碍因素并不是个人的责任,而是团队的努力,作为团队一部分的测试人员也不例外。

测试人员的某些行为有助于加快交付速度——无论是否与测试相关,都需要关注到阻碍因素;经常与开发人员同步,而不是通过电子邮件沟通;积极参加scrum会议以提高团队的决策能力,与团队的计划保持一致,从而使他们的活动保持一致等等。

测试工程师在敏捷项目中扮演什么角色?

一些与其他团队过度交往的测试人员更喜欢挑选低优先级的任务。因为他们需要花费数小时来解决其他团队的问题,却以牺牲自己的工作为代价——这种行为超出了在跨职能团队中作为平等伙伴的边缘。团队成员应该优先解决他们的问题,如果需要的话,为其他团队提供帮助应该是次要的目标。

4.假设并不是一种选择

有时,利益相关者的评审意见显示,团队在验收标准方面存在一些不必要的假设。假设不是特定的对测试人员的选择,因为测试是工作流中的最后一个活动,因此也是团队中任何人验证需求的最后机会。此外,测试人员的专长在于发现有问题的可交付成果。

我了解一些让测试人员陷入不合理假设的根本原因。这些原因是:害怕被人评判他们提出正确问题的能力,对他们以前的问题没有得到适当的答复,沟通能力差,使他们无法抓住任何机会,缺乏一个安全的环境来公开挑战接受标准,或者在积压工作改进会议期间无知,不提出问题需要澄清的问题。

在敏捷项目中,假设的成本太高了,因为产品增量很快就会推出给最终客户——交付的任何缺陷都会影响投资回报(ROI),并需要返工,消耗的预算超过了功能的价值。

迭代经理、ScrumMaster或教练使用诸如5个为什么之类的技术对这些根本原因进行彻底的分析,对于设计有效的指导计划和在随后的迭代中控制这些行为非常有益。

点赞
收藏
评论区
推荐文章
【敏捷研发系列】前端DevOps流水线实践
软件开发从传统的瀑布流方式到敏捷开发,将软件交付过程中开发和测试形成快速的迭代交付,但在软件交付客户之前或者使用过程中,还包括集成、部署、运维等环节需要进一步优化交付效率。因此Devops的产生将敏捷的相关理念扩展到运维侧,从而将产品、设计、开发、测试、运维团队更紧密的结合在一起。而从交付给客户产品视角看,前端研发通常又是在整个产品设计开发链条的最终节点,意味着前端团队受到上游变更的影响是最大的,并且从经营理念效率出发,提升前端交付效率是至关重要的。
Stella981 Stella981
3年前
Jenkins自动化部署
感谢之前带领过我的leader,让我能够知道什么是好的开发方法。在很早之前就接触过敏捷开发。什么是敏捷开发,简单来说就是让软件可靠地,快速地发布出来的一种开发方法和技巧。而敏捷开发中有许多的实践,可能并不是每一种实践都适合于你的团队,但是总有一种能帮助你们的团队快速地将软件可靠地,高可用地发布出来。如果在读这篇文章之前,还没有接触过敏捷开发,那么
Stella981 Stella981
3年前
DevOps中的测试工程师
尽管DevOps仍需要手动测试,但测试人员能做的还有很多。DevOps需要在各个阶段进行协作,因此,使开发人员和测试人员从敏捷孤岛式转变为一个在各个阶段中所有成员不断参与的运营已变得非常具有挑战性。传统上,给测试人员提供产品,他们的任务是测试产品中的错误,并将发现的结果报告给开发团队。但是使用DevOps,测试已经涉及整个开发生命周期,而不仅仅是
Stella981 Stella981
3年前
Product Backlog:终极任务清单
健康的ProductBacklog就像一个健康的人那样:整洁有序、组织合理、公开透明。一个按照优先级顺序排好的敏捷Backlog不仅能够简化发版和迭代计划,还能够对团队计划去做的所有工作进行细致规划——包括客户根本不会关注的内部工作。尤其是当利益相关者和其他团队对团队提出额外的工作需求时,Backlog能够帮助他们设定期望指标,同时还能够使工程时间具备
敏捷开发 敏捷开发
4个月前
敏捷激流中的测试
敏捷开发浩浩荡荡流行了20多年,彻底改变了软件研发行业。如果说敏捷开发对产品、开发和测试这三种类型的工作哪一个影响最大,我会选择测试。因为敏捷开发模式下迭代周期缩短,很多问题会更集中地暴露出来,比如用户故事拆分往往不够细致精确、开发和测试无法并行展开、开发
敏捷开发 敏捷开发
4个月前
测试工程师在敏捷项目中扮演什么角色?
敏捷团队中的测试人员主要负责执行各种测试,以满足“已完成”的定义,从而为团队在重复迭代中努力交付的持续价值创造做出贡献。对于测试人员来说,拥有敏捷的心态是至关重要的,如果没有敏捷的思维方式,他们可能就不能果断地计划、划分优先级并执行他们的任务,因此会无意中
敏捷开发 敏捷开发
4个月前
实践了上万次,原来这些才是敏捷测试需要遵循的原则
与传统的阶段性测试不同的是,敏捷测试能够将测试集成到整个软件开发过程中,尽早、及时地发现缺陷,帮助交付有价值的高质量产品。传统测试与敏捷测试的比较大的区别在于:在瀑布方法中,测试只能在开发结束后进行;在敏捷方法中,测试是贯穿在整个开发过程中的,同时可以在需
测试技术的重要性与应用:现状、方法和未来展望
在软件开发领域,测试技术扮演着至关重要的角色。测试技术是通过系统性的验证和评估来检查软件系统的正确性、可靠性和性能的过程。它旨在发现潜在的缺陷、错误和漏洞,并提供反馈和建议给开发团队,以便及时修复和改进。测试技术的目标是确保软件系统能够按照预期的方式工作,并满足用户的需求和期望。
陈哥聊测试 陈哥聊测试
9个月前
如何选择合适的自动化测试工具?
自动化测试是高质量软件交付领域中最重要的实践之一。在今天的敏捷开发方法中,几乎任一软件开发过程都需要在开发阶段的某个时候进行自动化测试,以加速回归测试的工作。自动化测试工具可以帮助测试人员以及整个团队专注于自动化工具无法处理的各自任务,但困难的部分就是选择
敏捷开发 敏捷开发
7个月前
敏捷开发模式下如何快速提升产品质量
在团队选择敏捷开发模式下,敏捷测试部分也同以往的软件测试流程有所不同。如何平衡敏捷的快速迭代开发和解决Bug的矛盾?
陈哥聊测试
陈哥聊测试
Lv1
资深敏捷测试顾问,致力于测试自动化和DevOps等的实践和研究。
文章
45
粉丝
0
获赞
2