导读:本文的目的是分享有关Scrum Agile框架中软件测试活动的想法。本文分为两个主要部分。第一部分着重于解释Scrum方法,谁是参与者,计划如何转化为行动,关键仪式以及Scrum冲刺中会发生什么。在第二部分中,我描述了Scrum方法论中遵循的软件测试过程,以及如何将其集成到Scrum sprint中。

一,引言

敏捷是一种流行且非常成功的软件开发模型,可以将高质量的产品快速交付用户手中。在像Scrum这样的敏捷方法中,高级软件需求或业务需求被分解为称为“史诗”的较小单元,而史诗甚至进一步分为用户故事。每个用户案例都有定义的接受标准。

在基于敏捷的软件开发项目中,团队合作很重要,没有“ I”的概念。敏捷专注于团队合作,因此“我们”喜欢Scrum团队。敏捷项目以冲刺的形式交付。冲刺是一个可能长达2或4周的时间框。在Scrum冲刺期间,将创建可用的和可能发布的软件。稍后我们将详细讨论冲刺期间发生的仪式。

敏捷软件开发将软件测试集成到开发过程中,而不是将其作为一个单独的阶段。包括产品所有者在内的团队负责分析用户案例,以定义每个案例的接受标准。Scrum团队的成员共同为每个冲刺定义冲刺目标。在开发团队开始实施用户案例时,测试专家开始进行测试用例设计,并与产品负责人一起审查以批准。这样可以确保测试范围尽可能完整。在测试用例复审之后,测试人员便开始验证开发的用户案例。测试期间发现的缺陷将被记录并由Scrum团队进行审查。

“软件测试不仅涉及发现应用程序中的缺陷;这是一个过程,可帮助我们从定义软件需求的方式一直到最终用户提高质量”

“测试团队不会破坏软件,测试团队会帮助开发团队修复损坏的软件”

“测试过程应该探索意想不到的事物,而不仅仅是寻找期望的事物”

测试自动化在交付高质量产品中扮演着重要角色。为功能和回归测试实现测试自动化框架对任何基于敏捷的开发项目都是有益的,因为它在软件开发生命周期的早期阶段为识别缺陷带来了价值。建立正确的自动化测试框架取决于与产品和工程团队进行适当的可行性分析,选择正确的工具和框架。在sprint生命周期内确定,确定优先级和执行业务方案将面临许多挑战。Scrum团队应该定义不同风格的软件测试技术以及不同的自动化层,以在短时间内交付高质量的产品。

二。Scrum入门

建立团队

Scrum是一个框架,可以帮助团队一起工作并完成工作。Scrum鼓励团队学习经验,在解决问题时自我组织,并反思自己的得失,以不断提高。Scrum的结构旨在帮助团队自然地适应不断变化的条件和用户要求,并在流程中内置了重新优先级和较短的发布周期,因此您的团队可以不断学习和改进。

在Scrum框架中,每个sprint本身都是一个项目,并且在sprint结束时(通常为2或4周),将“完成”的增量交付给用户以进行实施。未完成或不接受的功能将进行审查,并为以后的冲刺重新排序。

敏捷转型的第一步是以敏捷的心态组建一支正确的团队。

“敏捷并不关乎“流程和工具”,而是关乎“个人和互动”。

“敏捷就是团队成员之间的协作和透明”。

Scrum框架中的三个角色是产品所有者,Scrum主管和开发团队。

产品负责人:以故事的形式翻译用户需求并与Scrum团队紧密合作的人。产品所有者在定义epic和用户story方面起着主要作用。他还负责团队在实现项目目标方面的成功。

Scrum Master:谁负责消除阻碍团队成功的障碍。他还负责团队遵循Scrum原则和规则。Scrum主管与产品负责人和团队紧密合作。他还负责促进每日Scrum会议。

开发团队:负责实际工作的团队。他们负责在每次冲刺结束时完成产品增量。团队负责为冲刺中要完成的工作定义接受标准。软件测试人员是开发团队的一部分。

建立产品路线图

产品负责人与利益相关者共同提出愿景,并将愿景转化为产品策略。产品路线图是一个高层计划,用于传达产品可能如何发展。产品路线图通常涵盖几个主要版本或产品版本,这些版本将细分为sprint。

这是Scrum框架实施中非常重要的一步。产品路线图由产品所有者完成,但也应包括项目中其他利益相关者的投入。在开始计划冲刺之前,必须先确定路线图。

敏捷产品路线图必须保持灵活性,以更好地应对新兴机会。但是,它还必须为您的团队提供明确的方向。这个方向通常通过优先级排序来体现,即清晰地描绘出您的公司认为您的团队今天最喜欢工作的最低要求与未来可能最有价值的最低要求。

产品路线图应支持产品的愿景,并应帮助产品所有者使项目利益相关者保持一致。该路线图还使协调开发工作变得更加容易,并且为实现业务期望提供了透明度。

产品负责人与利益相关者积极合作,创建了一个积压的产品清单,其中包含可以交付价值的需求,并根据市场需求确定其优先级。产品所有者负责产品积压的所有权。产品积压通常包括两种工作项:

  • Epic – 粗略概述的高级需求,没有太多细节。

  • 故事 – 对应该做什么的更全面的要求。

产品负责人为发布工作软件创建了一个高级计划。敏捷项目将有多个版本,因此您要优先考虑使您首先启动所需的功能。

将计划转化为行动

产品负责人将所有高级要求转换为用户案例,并设置了初始产品积压。一旦产品所有者准备好进行冲刺计划,他就会组织一个积压的整理会话,以针对第一个冲刺细化用户故事并确定其优先级。

产品负责人和团队计划将执行特定任务和目标的冲刺。典型的sprint持续1-4周,并且在整个项目中应保持相同的长度,因为这使团队可以根据先前的sprint绩效更准确地计划未来的工作。

Sprint计划是团队的工作,因此产品负责人和所有团队成员应在场,以表达他们的想法和疑虑。冲刺计划在每个冲刺周期的开始进行。

下图列出了敏捷Scrum框架中的关键仪式。

三,敏捷测试流程

Scrum冲刺会发生什么?

每天都会通过Scrum董事会跟踪sprint进度。Scrum主管组织一次每日站立会议,以识别团队的进度和障碍(如果有)。Scrum主管的作用是消除团队的障碍,并帮助团队前进以实现冲刺目标。

在sprint计划会话中优先的用户故事将被排序并为sprint优先开发团队(包括测试人员)将具有针对用户故事创建的自己的可交付成果(任务)。

典型的敏捷Scrum板具有流动的阶段,

在sprint计划中优先处理的用户故事将按照定义的等级在sprint待办事项列表(待办事项)中列出。开发团队将开始从事与故事相关的开发任务。一旦开始编码,开发团队便将任务移至“正在执行”状态。经过编码和单元测试之后,故事将被移至“验证”。不符合接受条件的故事将移回“正在做”。与产品负责人一起审查接受标准后,通过测试的故事将移至“完成”阶段

下图显示了在短短的2或4周的冲刺周期内如何对最低限度的可爱产品进行优先级排序,开发,验证和发布。

如前所述,敏捷中的测试活动在开发过程中进行。测试应该从用户故事阶段开始。作为一个团队,每个用户故事都应至少具有定义,审查和批准的接受标准。测试方案将基于定义的验收标准得出。

敏捷测试中的关键原则

  • 在修饰时提出正确的问题,不要假设。

  • 缩小差距

  • 开箱即用,通过您的测试方案为业务带来价值。

  • 像用户一样思考和测试。

  • 探索意外。

  • 以所有可能的方式进行测试-正面,中间和背面。

  • 将结果回放给产品负责人。

  • 对结果保持透明,有效地进行分类。

  • 帮助开发人员解决问题

  • 不要错过任何价值

VI。Sprint中的测试自动化

在Scrum冲刺中实现测试自动化有其优点和缺点。关键部分是确定要自动化的区域。自动化应该与开发齐头并进。您可以构建自动测试的不同层,重点放在单个组件,集成和可视化测试上。下图显示了如何实现不同的层,每个层的目的是什么以及覆盖的范围。

设置ü 自动化测试框架

关键目标是建立一个支持连续集成的健壮且可重用的测试自动化框架。该框架应具有足够的灵活性,以适应不同的被测应用程序(AUT)模块,并执行涵盖功能,API,UI / UX和端到端回归的不同级别的自动化测试,这将大大减少人工工作并增加测试范围。

当今市场上,我们拥有低代码自动化框架,例如Tosca,Katlon等。这些工具可帮助我们在较短的时间内建立并运行测试框架,因为这不涉及繁重的编码。这些是基于模型的测试自动化框架,这些框架使用记录或内置UI来轻松设置可重用的页面对象。

如果您的组织坚持使用开源框架,那么仍然可以使用诸如Selenide,Geb等的预定义框架来快速设置测试自动化框架。即使它们需要一些编码,也可以节省大量时间来进行初始设置。

如何在冲刺中实现自动化?

  • 识别自动化测试

  • 制定策略

  • 合作并确定优先顺序

  • 捷径并使用API

  • 根据需要构建对象

软件测试人员与产品负责人一起确定业务方案,并将业务方案转换为具有接受标准的可测试方案。每个方案都应具有测试步骤以及每个步骤的预期结果。作为Scrum团队进行讨论,并制定每项要求的战略并确定以更简单的方式实现自动化的方法,例如:使用API。

与产品负责人合作,为每个测试用例定义优先级,并根据优先级开始工作。分析每个测试方案并构建页面对象,以用于测试用例,而不是为页面中所有可用元素构建页面对象。确保开发人员为每个页面元素使用唯一的ID,以节省构建Xpath的时间。

五,结论

Scrum框架支持协作工作模型,任何人都可以共享他们的想法,意见以改进流程。敏捷更多是一种思维定势和一种文化。从头开始实施像Scrum这样的敏捷方法将面临许多挑战。Scrum是一个框架,在sprint生命周期的早期阶段带来了获得产品反馈的好处。通过在冲刺生命周期内和冲刺周期之外,通过已定义的过程和敏捷仪式并遵循上述过程,您可以更快地将最低限度的可爱产品投放到用户手中。测试和测试自动化在开发质量代码中起着重要作用。软件测试应该从头开始。测试不是要发现缺陷,

推荐阅读

  • 如何教AI吃鸡?

  • 使用开源工具进行性能测试-打破神话

  • 你想要的Fiddler抓包实操小技巧

  • GitLab CI / CD管道的5个优势

  • 在测试自动化中使用Java枚举

  • 自从看了它,我学会了Python Web自动化测试

  • Selenium和Appium Python自动化测试生成HTML测试报告

  • 使用TestProject Python SDK创建移动Appium测试

  • 使用Pytest创建一个Python测试自动化项目

  • 使用Python和Chrome安装Selenium WebDriver

Scrum中的软件测试指南相关推荐

  1. 《Scrum精髓—敏捷转型指南》读后感

    首先很庆幸,能在适合的时间,遇到了这样一本适合的书.之所以这样说,是因为在遇到这本书前,我还是一名单纯的程序员,"增删改查"的业务代码,占据了我大多数的时间,本就繁杂的工作,还被一 ...

  2. 读书笔记:《Scrum精髓 - 敏捷转型指南》

    <Essential Scrum: A Practical Guide to the Most Popular Agile Process>   <Scrum精髓 - 敏捷转型指南& ...

  3. 谁负责Scrum 中的产品待办列表?

    Product Backlog (产品待办列表) 是所有你所产品的需要 (Product requirements) 以及产品需求变化 (new product requirements) 的唯一来源 ...

  4. 如何处理scrum中未完成的用户故事?

    你听过柏林新建机场的故事吗?机场原定2006年开工,2007年启用,但由于机场建设过程中到处出现施工和安全问题,补东墙漏西墙,导致工期一拖再拖,预算一涨再涨,以至于2019年了还没开张,预计开业时间已 ...

  5. matlab语法手册下载,MATLAB及其在理工课程中的应用指南 第4版.pdf

    作 者 :陈怀琛 出版发行 : 西安:西安电子科技大学出版社 , 2018.02 ISBN号 :978-7-5606-4737-1 页 数 : 262 原书定价 : 39.00 开本 : 16开 主题 ...

  6. 什么是 Scrum 中的 Timeboxing?

    时间盒方法是提高生产率和将项目分成固定时期的最佳方法.这种时间管理技术提供了提前限制想要花费在特定活动上的时间量的机会. 在Scrum框架下,所有活动都是时间框,也称为"时间框"或 ...

  7. 什么是 Scrum 中的 Timeboxing? 1

    时间盒方法是提高生产率和将项目分成固定时期的最佳方法.这种时间管理技术提供了提前限制想要花费在特定活动上的时间量的机会. 在Scrum框架下,所有活动都是时间框,也称为"时间框"或 ...

  8. UVM中SVA使用指南

    UVM中SVA使用指南 文章目录 UVM中SVA使用指南 前言 一.SVA是什么,什么时候使用SVA 二.SVA块 三.SVA块嵌入UVM平台 3.1 绑定方法 3.2 例化方法 四.SVA语法浅讲 ...

  9. UI设计中首页设计指南

    一款好的APP产品,其首页设计不仅能清晰展示产品核心功能.特点,有着较好的用户体验,还能展示公司的品牌形象,提升用户品牌认知度.今天我就针对UI设计中首页设计指南进行简单的说明. APP首页设计至关重 ...

  10. UI设计中Sketch使用指南—入门篇

    对于UI设计师而言,Sketch充满了新鲜空气. 我想说:感谢sketch让Photoshop不再是UI设计师必备软件.这时候很多初学者的UI设计师对sketch充满了兴趣,甚至踊跃学习.下面胡老师给 ...

最新文章

  1. sql server 2014预览版发布
  2. 真赞!IDEA中这么玩MyBatis,让编码速度飞起!
  3. pythongps聚类_python实现K聚类算法
  4. sharepoint权限操作(记录以备忘)
  5. vue --- 基本的表单元素
  6. [转]让.NET应用秒变微服务
  7. 合并两个链表,去掉重复元素
  8. [js]删除以 [ 开始以 ]结尾且不含:内容
  9. BZOJ 2818GCD
  10. ASP.NET事件顺序
  11. Programiz C 语言教程·翻译完成
  12. PAT 甲级 1002
  13. 复杂纹理复制及纹理叠加效果
  14. Java I/O系统之OutputStream
  15. Luogu P4109 [HEOI2015]定价 贪心
  16. MATLAB2010激活后无法打开MATLAB的解决方法
  17. android textview 字体边框,android TextView加边框
  18. 动态仙人掌 系列题解之二——3465: 动态仙人掌 II
  19. 普及一下硬件及硬件编程的问题,适合初学者,对于硬件高级程序员可供参考
  20. 解决MySQl卸载卸不干净问题

热门文章

  1. 七牛base64上传图片带格式
  2. 线性代数:切线空间和法向量变换
  3. 实对称矩阵一定可以相似对角化
  4. Java获取字符串长度
  5. Java牛客项目课_仿牛客网讨论区_已经看完的部分
  6. php 判断是否为字符串,php怎么判断是不是字符串
  7. 台式机dp接口_聊聊电脑视频接口那些事
  8. 成为管理层必会的技能之一!利用Python打造一款员工管理系统~
  9. UNIAPP使用MathJax解析数学公式
  10. 代码审计之JAVA代码审计洞态IAST系统以及SecExample靶场