敏捷方法:什么是软件测试中的敏捷模式?

简介: 敏捷方法:什么是软件测试中的敏捷模式?

什么是敏捷方法?

敏捷方法是指在项目的整个软件开发生命周期中,促进开发和测试的持续迭代的一种做法。在软件测试的敏捷模式中,开发和测试活动是同时进行的,这与瀑布模式不同。


什么是敏捷软件开发?

敏捷软件开发方法是将商业需求的愿景变成软件解决方案的最简单有效的过程之一。敏捷是一个用来描述软件开发方法的术语,它采用持续的计划、学习、改进、团队协作、进化的开发和早期交付。它鼓励对变化作出灵活的反应。

敏捷软件开发强调了四个核心价值。

  1. 个人和团队的互动胜过过程和工具
  2. 工作软件高于全面的文件
  3. 客户合作胜过合同谈判
  4. 应对变化而不是遵循计划

敏捷过程

敏捷测试中存在各种敏捷方法,下面列出了这些方法。


敏捷


SCRUM是一种敏捷开发方法,它特别集中于如何在一个基于团队的开发环境中管理任务。基本上,Scrum来源于橄榄球比赛中的活动。Scrum相信授权给开发团队,并提倡在小团队中工作(例如,7到9名成员)。敏捷和Scrum由三个角色组成,他们的职责如下 :

- Scrum主管
Scrum Master负责建立团队,召开冲刺会议,消除进展的障碍。


- 产品负责人
产品负责人创建产品积压,确定积压的优先次序,并负责在每个迭代中交付功能


- Scrum团队
团队管理自己的工作,组织工作以完成冲刺或周期的工作


产品需求列表


这是一个跟踪需求的存储库,其中有每个版本要完成的需求(用户故事)的数量的细节。它应该由产品负责人维护并确定优先级,并且应该分发给Scrum团队。团队也可以要求增加、修改或删除新的需求。

Scrum流程


Scrum测试的过程流程如下:

  • 一个Scrum的每个迭代被称为Sprint
  • 产品需求列表是一个列表,所有的细节都被输入,以获得最终产品。
  • 在每个Sprint期间,产品需求列表中的顶级用户故事被挑选出来并转化为Sprint积压。
  • 团队在确定的冲刺需求上工作
  • 团队检查每天的工作情况
  • 在冲刺结束时,团队提供产品功能。


极限编程(XP)


当客户的需求不断变化或对系统的功能不确定时,极限编程技术是非常有用的。它主张在较短的开发周期内频繁地 "发布 "产品,这从本质上提高了系统的生产力,同时也引入了一个检查点,任何客户的要求都可以轻松实现。XP开发软件时,将客户放在目标位置。

业务需求是以故事的形式收集的。所有这些故事被储存在一个叫做停车场的地方。

在这种方法论中,发布是基于较短的周期,称为 "迭代",时间跨度为14天。每个迭代包括编码、单元测试和系统测试等阶段,在每个阶段都会在应用程序中建立一些次要或主要的功能。

eXtreme编程的阶段


敏捷XP方法有6个阶段,具体解释如下。

计划

  • 确定利益相关者和赞助商
  • 基础设施要求
  • 安全相关的信息和收集
  • 服务水平协议和其条件


分析

  • 分析列表中的故事
  • 对列表中的故事进行优先排序
  • 分析故事以进行评估
  • 定义迭代范围(时间)。
  • 开发和QA团队的资源规划


设计

  • 分解任务
  • 为每个任务准备测试方案
  • 回归自动化框架
  • 执行


编码

  • 单元测试
  • 手动测试方案的执行
  • 缺陷报告的生成
  • 将手工测试转换为自动化回归测试案例
  • 迭代中期审查
  • 迭代结束审查


发布

  • 小规模发布
  • 回归测试
  • 演示和审查
  • 根据需要开发新的故事
  • 根据迭代结束时的审查意见进行流程改进


结案


  • 试点启动
  • 培训
  • 生产启动
  • 服务水平协议的保证
  • 审查SOA战略
  • 生产支持


    有两个故事板可以用来跟踪每天的工作,下面列出了这些故事板供参考。


  • 故事卡板

    这是一种传统的方式,将所有的故事以贴纸的形式收集在一个板子上,以跟踪每天的XP活动。由于这种手工活动涉及更多的精力和时间,因此最好改用在线形式。
  • 在线故事板
    在线工具Storyboard可以用来存储故事。几个团队可以为不同的目的使用它。


    水晶方法论
    水晶 方法论是基于三个概念

    1:制定章程。这一阶段涉及的各种活动是创建一个开发团队,进行初步的可行性分析,制定初步计划和微调开发方法


    2: 循环交付。主要的开发阶段包括两个或更多的交付周期,在这期间
    团队更新和完善发布计划

  • 通过一个或多个程序测试集成迭代来实施需求的子集
  • 集成的产品交付给真正的用户
  • 对项目计划和采用的开发方法进行审查
  • 在这个阶段进行的活动是部署到用户环境中,进行部署后审查和反思。


动态软件开发方法(DSDM)


DSDM是一种快速应用开发(RAD)的软件开发方法,提供了一个敏捷的项目交付框架。DSDM的重要方面是要求用户积极参与,并赋予团队决策权。频繁地交付产品成为DSDM的积极焦点。DSDM中使用的技术是

1  计时法
2. MoSCoW规则
3. 原型设计

DSDM项目由7个阶段组成

1. 项目前期
2. 可行性研究
3. 业务研究
4. 功能模型迭代
5. 设计和建造迭代
6. 实施
7. 项目后

功能驱动开发(FDD)


这种方法主要是围绕 "设计和构建 "功能。与软件工程中的其他敏捷方法不同,FDD描述了非常具体和简短的工作阶段,每个功能必须单独完成。它包括领域穿行、设计检查、促进构建、代码检查和设计。FDD开发产品的目标是保持以下内容

1. 领域对象建模
2. 按特性开发
3. 组件/类的所有权
4. 特性团队
5. 检查
6. 配置管理
7. 定期构建
8. 进展和结果的可见性

精益软件开发


精益软件开发方法是基于 "及时生产 "的原则。它的目的是提高软件开发的速度和减少成本。精益开发可以归纳为七个步骤。

1. 消除浪费
2. 放大学习
3. 推迟承诺(尽可能晚地做出决定)
4. 早期交付
5. 赋予团队权力
6. 建立诚信
7. 优化整体

看板


看板最初来自日语,意思是一张卡片,包含了产品在每个阶段需要完成的所有信息。这种框架或方法在软件测试方法中被广泛采用,特别是在敏捷概念中。


Scrum的特点


在Scrum技术中,测试必须被分解,以便能在一个冲刺阶段完成。
规定了产品需求的优先次序

Scrum团队承诺在迭代中完成特定数量的工作

规定了Burndown图表

在每个冲刺期间,scrum板会被重置。

它不能向正在进行的迭代添加需求

间接限制WIP

规定的有时间窗的迭代


看板的特点


没有规定特定的项目大小

优先级是可选的

承诺是可选的

没有规定特定的项目大小
看板是持久的。它限制工作流状态下的项目数量

只要有能力,它就可以增加需求

直接限制WIP
有时间限制的迭代是可选的

敏捷的衡量标准:


可以有效使用敏捷而收集的指标是。

1. 拖拽因素

  • 对冲刺目标没有贡献的工作时间
  • 可以通过减少共享资源的数量,减少无贡献的工作量来提高拖累系数。
  • 新的估算可以按拖累因素的百分比增加 - 新估算=(旧估算+拖累因素)。


2. 速度

  • 将积压工作(用户故事)转化为冲刺阶段的可交付功能的数量


3. 增加的单元测试的数量

4. 完成每日构建的时间间隔

5. 迭代中或之前迭代中发现的缺陷

6. 生产缺陷泄漏

目录
打赏
0
0
0
0
80
分享
相关文章
浅谈网页端IM技术及相关测试方法实践(包括WebSocket性能测试)
最开始转转的客服系统体系如IM、工单以及机器人等都是使用第三方的产品。但第三方产品对于转转的业务,以及客服的效率等都产生了诸多限制,所以我们决定自研替换第三方系统。下面主要分享一下网页端IM技术及相关测试方法,我们先从了解IM系统和WebSocket开始。
74 4
「ximagine」业余爱好者的非专业显示器测试流程规范,同时也是本账号输出内容的数据来源!如何测试显示器?荒岛整理总结出多种测试方法和注意事项,以及粗浅的原理解析!
本期内容为「ximagine」频道《显示器测试流程》的规范及标准,我们主要使用Calman、DisplayCAL、i1Profiler等软件及CA410、Spyder X、i1Pro 2等设备,是我们目前制作内容数据的重要来源,我们深知所做的仍是比较表面的活儿,和工程师、科研人员相比有着不小的差距,测试并不复杂,但是相当繁琐,收集整理测试无不花费大量时间精力,内容不完善或者有错误的地方,希望大佬指出我们好改进!
87 16
「ximagine」业余爱好者的非专业显示器测试流程规范,同时也是本账号输出内容的数据来源!如何测试显示器?荒岛整理总结出多种测试方法和注意事项,以及粗浅的原理解析!
AxBench:斯坦福大学推出评估语言模型控制方法的基准测试框架
AxBench 是由斯坦福大学推出,用于评估语言模型可解释性方法的基准测试框架,支持概念检测和模型转向任务,帮助研究者系统地比较不同控制技术的有效性。
43 5
AxBench:斯坦福大学推出评估语言模型控制方法的基准测试框架
API测试方法
【10月更文挑战第18天】API测试方法
101 1
北大李戈团队提出大模型单测生成新方法,显著提升代码测试覆盖率
【10月更文挑战第1天】北京大学李戈教授团队提出了一种名为“统一生成测试”的创新方法,有效提升了大模型如GPT-2和GPT-3在单一测试中的代码生成覆盖率,分别从56%提升至72%和从61%提升至78%。这种方法结合了模糊测试、变异测试和生成对抗网络等多种技术,克服了传统测试方法的局限性,在大模型测试领域实现了重要突破,有助于提高系统的可靠性和安全性。然而,该方法的实现复杂度较高且实际应用效果仍需进一步验证。论文可从此链接下载:【https://drive.weixin.qq.com/s?k=ACAAewd0AA48Z2kXrJ】
117 1
软件测试中的“灰盒”方法:一种平衡透明度与效率的策略
在软件开发的复杂世界中,确保产品质量和用户体验至关重要。本文将探讨一种被称为“灰盒测试”的方法,它结合了白盒和黑盒测试的优点,旨在提高测试效率同时保持一定程度的透明度。我们将通过具体案例分析,展示灰盒测试如何在实际工作中发挥作用,并讨论其对现代软件开发流程的影响。
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法。本文介绍 A/B 测试的基本概念、步骤及其在模型评估、算法改进、特征选择和用户体验优化中的应用,同时提供 Python 实现示例,强调其在确保项目性能和用户体验方面的关键作用。
78 6
TypeScript 与 Jest 测试框架的结合使用,从 TypeScript 的测试需求出发,介绍了 Jest 的特点及其与 TypeScript 结合的优势,详细讲解了基本测试步骤、常见测试场景及异步操作测试方法
本文深入探讨了 TypeScript 与 Jest 测试框架的结合使用,从 TypeScript 的测试需求出发,介绍了 Jest 的特点及其与 TypeScript 结合的优势,详细讲解了基本测试步骤、常见测试场景及异步操作测试方法,并通过实际案例展示了其在项目中的应用效果,旨在提升代码质量和开发效率。
85 6
Java一分钟之-PowerMock:静态方法与私有方法测试
通过本文的详细介绍,您可以使用PowerMock轻松地测试Java代码中的静态方法和私有方法。PowerMock通过扩展Mockito,提供了强大的功能,帮助开发者在复杂的测试场景中保持高效和准确的单元测试。希望本文对您的Java单元测试有所帮助。
699 2
软件测试中的探索性测试:一种高效且灵活的测试方法
本文将深入探讨探索性测试的核心概念、优势及其在实际项目中的应用。我们将从探索性测试的基本定义入手,逐步解析其在不同场景下的具体实施方法和最佳实践。通过详细的案例分析和方法对比,帮助读者全面了解这种既高效又灵活的软件测试技术。

热门文章

最新文章

  • 1
    小鱼深度评测 | 通义灵码2.0,不仅可跨语言编码,自动生成单元测试,更炸裂的是集成DeepSeek模型且免费使用,太炸裂了。
    113
  • 2
    3天功能开发→3小时:通义灵码2.0+DEEPSEEK实测报告,单元测试生成准确率92%的秘密
    33
  • 3
    Potpie.ai:比Copilot更狠!这个AI直接接管项目代码,自动Debug+测试+开发全搞定
    14
  • 4
    【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
    20
  • 5
    基于FPGA的图像双线性插值算法verilog实现,包括tb测试文件和MATLAB辅助验证
    4
  • 6
    大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
    5
  • 7
    「ximagine」业余爱好者的非专业显示器测试流程规范,同时也是本账号输出内容的数据来源!如何测试显示器?荒岛整理总结出多种测试方法和注意事项,以及粗浅的原理解析!
    12
  • 8
    用户说 | 通义灵码2.0,跨语言编码+自动生成单元测试+集成DeepSeek模型且免费使用
    15
  • 9
    阿里云零门槛、轻松部署您的专属 DeepSeek模型体验测试
    30
  • 10
    以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
    8