Scrum 测试方法论

在当今不断发展和快节奏的环境中,高速实施至关重要。这适用于所有商品和服务。假设您在因问题而陷入困境时正在使用某个应用程序。您自然希望团队在报告错误后尽快修复该错误。如果没有,您的下一步将是切换到不同的服务。

客户希望立即进行调整和升级。因此,大多数软件组织都在接受专注和灵活的软件测试。请记住,如果您让您的消费者等待,那么您的竞争对手只需按几下键即可!

在优化整个软件开发生命周期的同时节省时间和资源至关重要。这就是为什么大多数企业更喜欢与敏捷团队一起进行测试的原因。让我们仔细看看这意味着什么。

在这篇文章中,我将向您展示从传统测试环境切换到敏捷环境如何影响项目的预算、资源使用和及时性。您将了解 Scrum 测试、测试人员在敏捷环境中面临的问题,以及最终如何加总。因此,您将学习如何提高公司的产量和客户满意度。

什么是Scrum?

Scrum 是一种软件开发方法,专注于开发复杂的软件应用程序。它提供了完成困难工作的简单方法。Scrum 允许开发团队专注于软件开发的所有元素,例如质量、性能和可用性。为了避免复杂性,它允许在整个软件开发过程中保持透明、检查和适应。

Scrum 是一个框架,它允许团队在交付产品的同时解决复杂的问题。尽管问题很复杂,但交付的产品质量必须很高。当问题很复杂时,需要有效的团队协作。

Scrum 是一种简单易懂的方法论。但是,掌握它可能很困难。与流行的看法相反,Scrum 不是一种方法。它只是一个框架。

以下人员组成了一个 Scrum 团队 -

  • 产品所有者

  • Scrum大师

  • 一组开发人员和测试人员

整个 Scrum 哲学基于确保更好的灵活性和创造力,同时提高生产力。这些小组是多功能的。这消除了他们依赖其他团队完成职责的需要。由于团队是自组织的,因此不需要任何外部指导。

Scrum 测试的目标

Scrum 测试的目标是 -

  • 确定软件的复杂性。

  • 评估软件的质量。

  • 评估软件的性能。

  • 评估软件的可用性。

  • 协助进行单元测试。

Scrum 和敏捷之间的区别

敏捷是一组指导您完成迭代软件开发过程的原则。但是,在敏捷环境中,测试人员必须遵守某些准则。Scrum 是这套指南的名称。Scrum 是一种工具,用作敏捷框架的一部分。让我们仔细看看敏捷和 Scrum,以便更好地理解。

敏捷管理

敏捷管理是一组软件开发方法。这些方法是迭代和渐进的。理性统一过程(RUP)、极限编程(XP)和 Scrum 都是敏捷管理的例子。敏捷方法也会导致需求和输出的演变。由于团队协作,项目开发方法的这种演变是可以实现的。

敏捷团队是自组织和跨职能的。一个新项目的分析、文档和开发都是相互交织的。每一次迭代都让我们更接近我们的目标。这种方法使得适应修改变得简单。它还可以提高可扩展性。操作和流程变得更具适应性。

Scrum生态系统

敏捷生态系统包括 Scrum,它是它的一个子集。这是一种处理困难问题的方法,同时也提供高质量的结果。如果需要立即更改,团队可以灵活地进行必要的调整。Scrum 的有效性取决于有效的团队合作和频繁的沟通。此外,每个冲刺都会带来提高效率的新方法。

由于 Scrum 是敏捷测试的一部分,我们也应该了解敏捷方法论,因此敏捷测试的一些重要部分 -

敏捷测试与传统测试有何不同?

为了快速实现概念,软件开发生命周期 (SDLC) 需要一种可靠的方法。传统测试是常态,但当公司转向敏捷测试时,生产力就会提高。让我们来看看敏捷测试与传统测试有何不同,以及它如何帮助您的公司。

传统测试

传统测试旨在弄清楚用户想要什么,然后构建产品以满足他们的需求。在产品发布之前,测试人员对其进行测试并报告任何问题。然后开发团队对它们进行处理,使用可用的最佳解决方案纠正任何缺陷。反馈。

传统测试背后的前提是过程是可重复和可预测的。

这个想法是团队可以在 SDLC 期间控制程序。在不同的层次上,等级制度保持稳定。它通过根据不同的人的能力将不同的工作分配给不同的人来规范程序。然而,虽然标准范式看起来很简单,但它缺乏灵活性。该技术需要很长时间,因为团队必须按特定顺序完成任务。

敏捷测试

传统测试是僵硬的,而敏捷测试旨在解决这个问题。这是一种基于团队的方法,但与传统测试不同,它具有交互性和动态性。因此,产品到达所需的时间减少了。项目分为冲刺,它们是定时任务。每个冲刺都有特定的时间限制。我们谈论的是不可预测的程序。此外,这些过程起初可能看起来有点难以掌握。原因是任务没有明确定义。

然而,该过程的高度适应性和灵活性使其值得。只要用户需要,敏捷测试方法就会迅速适应变化。迭代周期会根据定期的客户沟通和反馈进行调整。

在转向敏捷测试之前,测试人员应该知道什么

对于习惯了瀑布模型的人来说,适应敏捷环境是一个重大的转变。在转向敏捷测试之前,测试人员应该注意一些事项。

自动化工具专长

对每个冲刺进行重复测试是在浪费时间。测试人员必须加快回归测试的速度。他们还必须熟悉自动化工具以加快测试速度。Selenium WebDriver、HP UFT 和 Appium 是这些工具的示例。在进入敏捷测试之前需要掌握的一些 BDD 和单元测试工具包括 JUnit、Cucumber、Pytest、JBehave 等。

项目管理工具知识

曾经有一段时间测试人员使用 HP Quality Center 跟踪错误并报告它们。Slack、JIRA 和 Mantis 是可用于多种目的的工具示例。除了发现问题外,他们还有助于有效的合作和项目管理。

Scrum 方法论的主要特点

Scrum 的主要特征如下 -

  • 为了适应快速变化的开发需求,Scrum 使用一个短的固定发布周期时间表,其范围可变,称为冲刺。每个版本可能有几个冲刺。每个 Scrum 项目可能有多个发布周期。

  • 一系列重复发生的会议、事件和里程碑。

  • 一种测试和实现新需求的方法,称为故事,以确保某些工作在每个冲刺结束时准备就绪。

Scrum 由三个关键组件组成。

角色 -

  • 产品负责人

  • Scrum大师

  • 团队

文物 -

  • 产品积压

  • 冲刺积压

  • 燃尽图

仪式 -

  • 冲刺计划

  • 冲刺回顾

  • 冲刺回顾

  • 每日 Scrum 会议

让我们分别看一看。

Scrum 的角色

产品负责人、Scrum Master 和开发团队是 Scrum 测试的三个主要职责。让我们仔细看看它们。

产品负责人

  • 他或她定义了产品的功能。

  • 产品负责人确定发布日期和相关功能。

  • 他们根据产品的市场价值和盈利能力对属性进行排名。

  • 他或她负责产品的盈利能力。

  • 他或她可以选择接受或拒绝工作项的结果。

Scrum大师:

  • 他/她负责团队的生产和管理。

  • 他/她会跟踪开发障碍并清除它们。

  • 他或她负责协调所有职责和职能。

  • 他/她保护单位免受外部影响。

  • 需要参加每日站会、冲刺审查和计划会议。

开发团队:

  • 通常,团队由 5 到 9 人组成。

  • 它包含程序员、设计人员,有时还包含测试人员等。

  • 小组安排和安排他们自己的工作。

  • 有权做项目范围内的任何事情以实现冲刺目标。

  • 积极参与日常仪式

Scrum 工件

产品积压 -

  • 1. 发布 backlog (release 1) - 1. Sprint Backlog (Sprint 1) - Sprint Planning - Daily Scrum work (Daily Scrum meeting) - Sprint Retrospective

  • 2. Sprint Backlog (Sprint 2)

  • 2. 发布积压 – 发布 2

Scrum 流程包含以下步骤 -

  • 用户帐户- 它们是被测系统功能的简明摘要。“可以使用在线系统支付保费”,以保险提供商为例。

  • Product Backlog - Scrum 产品的 backlog 是收集的用户故事的集合。产品待办列表由产品所有者准备和维护。产品负责人优先考虑,任何人都可以在产品负责人许可的情况下添加。

  • 发布积压- 发布是完成一定数量迭代的一段时间。产品负责人和 Scrum 主管合作确定应该优先发布哪些故事。

  • 发布待办事项列表中的故事计划在特定发布中完成。

  • 冲刺- 冲刺是产品所有者和编程团队完成用户故事的预定时间,通常为 2-4 周。

  • Sprint Backlog - sprint backlog 是必须在单个 sprint 中完成的用户故事的集合。在 sprint backlog 期间永远不会分配工作,团队自己注册任务。团队拥有并管理它,预计剩余的工作每天都会更新。它是必须在整个 Sprint 中完成的任务列表。

  • Block List - Scrum Master 的阻止列表,每天更新,是一个未做出的决定和阻塞的列表。

  • 燃尽图- 在整个过程中,燃尽图描绘了正在进行的工作和已完成的工作的整体进度。它以图形格式描绘了未完成的故事和特征。

Scrum 中的仪式(过程)

  • Sprint Planning - 团队将发布待办事项中的故事导入到由 Scrum Master 托管的 sprint 待办事项中。测试人员估计测试 Sprint Backlog 中每个故事所需的时间。

  • Daily Scrum - 它持续大约 15 分钟,由 Scrum 主管主持。成员将讨论前一天完成的工作、第二天的计划工作以及 Daily Scrum 冲刺期间遇到的问题。在每日站立会议期间跟踪团队的进度。

  • Sprint Review/Retrospective - 由 scrum master 主持,该会议持续大约 2-4 小时,讨论团队在上一个 sprint 中取得的成就以及任何经验教训。

Scrum 测试是什么样的?

当我第一次了解 Scrum 时,整个测试方法被分成四个象限这一事实让我震惊。让我们仔细看看。

第一象限

第一步是检查代码的质量。测试人员提供即时反馈。然后开发人员根据输入继续他们的工作。单元测试和组件架构测试就是这些工作的例子。前者是指开发人员检查编码单元以验证其是否符合要求。后者是为了确保当代码位组合在一起时,它们起作用。

第二象限

测试人员和开发人员都理解这种需求。两者都在履行职责的同时牢记公司的目标。这包括对几个场景进行测试。原型和线框测试必须在牢记用户体验的同时进行。

第三象限

自动化测试评估产品的使用情况。尽管产品开发尚未完成,但已经进行了测试。预定的演示验证开发正在按照公司的目标进行。第三象限涵盖以下五个阶段 -

  • 测试期间的协作

  • 用户验收测试

  • 观察性研究

  • 可用性测试

  • 成对测试

第四象限

性能、数据迁移、基础设施、压力和负载都由测试人员进行测试。其他注意事项包括身份验证安全性。产品应具有防黑客和防攻击功能。测试人员的另一个考虑因素是可扩展性。

Scrum 对测试人员意味着什么?

测试人员必须在整个过程中进行测试,而不是像在标准测试环境中那样等到流程结束才进行测试。除了测试之外,测试人员还可以学习新技能,包括开发或业务分析。工作场所文化发生了变化。让我们看看测试人员在 Scrum 测试中遇到的一些事情。

更好地理解业务逻辑

测试人员接受了有关域应用程序如何工作的广泛培训。他们必须与开发团队密切合作。它使他们能够提出新的有效的业务案例场景。架构图和开发术语变得更加熟悉。测试人员需要清晰的业务逻辑,以便他们可以与业务分析师和开发人员讨论应用程序规范。

自动化您的测试以节省时间。

Selenium、Appium、UFT、GitLab、Codeship、Jenkins 和其他工具是测试人员应该熟悉的工具。为了在竞争中保持领先,他们必须拥抱变化。

快速测试需要自动化。尽管测试人员必须在自动化过程中处理一些重大变化,但这是一个磨练他们技能的机会。除此之外,自动化降低了与回归测试相关的风险。

使用 Testim 之类的服务是个好主意。它提供人工智能辅助的自动化功能测试。在自动化测试期间,它还可以加快执行、创作和维护的速度。

从一开始就遵循 SDLC

在瀑布方法中,测试人员过去常常在测试开始之前等待。但是,在 Scrum 测试中,测试人员必须从一开始就遵循 SDLC。

使用这种方法,可以扩展测试窗口并改进协作。在这种方法中,测试人员可以彻底了解程序。因此,不会跳过任何测试阶段。

定期站立会议

在敏捷环境中,测试人员需要参加定期的站立会议。这些会议通常持续 15 到 30 分钟,并在一天开始时举行。这是经理或 Scrum 主管询问每个团队成员前一天活动的时间。他们还获取有关当天任务和潜在障碍的信息。

让测试人员出席每日站立会议有助于避免项目早期阶段的障碍。整个工作人员都知道发生了什么,包括测试人员。它保证完成某些任务。

Scrum 测试员的角色

在 Scrum 过程中,测试员没有积极的作用。测试通常由开发人员使用单元测试完成。在每个冲刺期间,产品负责人也会大量参与测试过程。一些 Scrum 项目中使用了专门的测试团队,这取决于项目的类型和复杂性。

那么,是否有测试人员的作用?这个问题在下面的段落中通过测试人员的工作得到回答

Scrum 测试活动

在 Scrum 的各个阶段,测试人员执行以下任务。

计划冲刺

  • 测试人员应该从产品待办列表中选择一个用户故事来在冲刺准备期间进行测试。

  • 作为测试人员,您必须确定为您选择的每个用户故事完成测试需要多少小时(工作量估算)。

  • 作为测试人员,他或她必须了解冲刺目标。

  • 作为测试人员为优先排序过程做出贡献。

冲刺

  • 为开发人员提供单元测试帮助

  • 用户故事完成后,对其进行测试。测试执行在测试人员和开发人员共同工作的实验室中进行。

  • 使用缺陷管理应用程序每天跟踪缺陷。在 Scrum 会议期间,可以讨论和分析缺陷。缺陷一旦得到解决,就会重新测试并部署进行测试。

  • 他/她作为测试员参加所有的每日站立会议以发表意见。

  • 作为测试人员,他或她可以将当前 sprint 中无法完成的任何积压项目带到下一个 sprint。

  • 自动化脚本由测试人员编写。他使用持续集成 (CI) 系统来规划自动化测试。由于交货时间紧迫,自动化变得越来越重要。

  • 可以使用市场上提供的各种免费和商业产品来实现测试自动化。这种方法可以很好地确保需要测试的所有内容都已完成。通过与团队的密切沟通,可以获得足够的测试覆盖率。

  • 审查 CI 自动化的结果并向利益相关者提供报告。

  • 对已授权的用户故事执行非功能测试

  • 与客户和产品所有者合作定义验收测试的验收标准。

  • 在某些情况下,在冲刺结束时,测试人员确实接受

Sprint 回顾

  • 作为测试人员,他将找出当前 sprint 中出了什么问题以及什么地方做得对。

  • 他确定了作为测试人员的经验教训和最佳实践。测试 (UAT) 并验证当前 sprint 的测试是否完成。

Scrum 测试的好处

Scrum 测试有以下好处 -

  • 它有助于确定软件的质量。

  • 有利于单元测试。

  • 它有助于开发复杂的软件。

测试报告

Scrum 测试指标报告为利益相关者提供了项目的透明度和可见性。这些指标报告使团队能够评估他们的成功并规划未来的产品改进战略。在报告方面,通常使用两个指标。

燃尽图- Scrum Master 每天在燃尽图上记录冲刺的预期剩余工作。燃尽图正是如此。它每天更新。

燃尽图提供项目进度的快速总结;它包括诸如项目中需要完成的工作总量、每个冲刺期间执行的工作量等数据。

速度历史图- 速度历史图预测团队在每个冲刺中的速度。它是一个条形图,显示团队的输出如何随着时间的推移而演变。

计划消耗、预算消耗、主题完成百分比、已完成的故事与剩余的故事,以及其他指标可能很有价值。