常见的敏捷开发框架

读书笔记《敏捷测试:以持续测试促进持续交付》

极限编程

极限编程(eXtreme Programming,XP)是一种软件工程方法学, 是敏捷软件开发中最富有成效的几种方法学之一,基本思想是“沟通、 简单、反馈、勇气”。

一次迭代包括如下阶段:

  • 计划:选择要实现的用户故事及其要明确的细节。
  • 编码:实现用户故事。
  • 测试:至少每个类都要有相应的单元测试。
  • 验收测试:用来验证交付的软件是否满足用户需求。如果测试 成功,那么新功能开发完成;如果失败,则进入下一个迭代,直至验收 测试通过。

image.png
极限编程的优秀实践:
image.png
极限编程的特点:

  • 快速反馈
  • 假设简单 (任何问题都可以简单的方式解决,传统系统开发需要考虑未来的变化,代码的可重用性。极限编程拒绝这样做)
  • 增量变化 (例如:每三个星期发布一个包含小变化的新版本,小步前进)
  • 包容变化

行为驱动开发

image.png

行为驱动开发(behavior-driven development,BDD)是一种敏捷开 发的技术,可以看作验收测试驱动开发(acceptance test-driven development,ATDD)的延伸,在软件设计、编程前用场景来定义用户故事的验收标准,通过场景来澄清需求。ATDD只是强调在开发前要先 明确每个用户的验收标准。

行为书写格式
行为书写格式
故事标题(描述故事的单行文字)
As a[角色]
I want to[功能]
So that[利益] (用一系列的场景来定义验证标准)
场景标题(描述场景的单行文字)
Given[前提条件]
And[更多的条件]…
When[事件]
Then[结果]
And[其他结果]…


行为实例
故事:账户持有人提取现金
As a[账户持有人]
I want to[从ATM提取现金]
So that[可以在银行关门后取到钱]
场景:账户有足够的资金
Given[账户余额为100]
And[有效的银行卡]
And[提款机有足够的现金]
When[账户持有人要求取款20]
Then[提款机应该分发20]
And[账户余额应该为80]
And[应该退还银行卡]

特性驱动开发

特性驱动开发(feature-driven development,FDD)是由彼得·科 德、杰夫·德·卢卡、埃里克·勒菲弗共同开发的一套针对中小型软件开发 项目的开发模式。

FDD是一个以架构(architecture)为中心的,采用短迭代期,特性 (feature)驱动的开发过程。它首先对整个项目建立一个全局的模型轮 廓,然后通过两周一次的基于特性设计(design by feature)、基于特性 构建(build by feature)的迭代完成项目开发。此处的“特性”是指“用户 眼中最小的、有用的特性、功能”,它是可理解的、可度量的,并且可 以在有限的时间内(两个星期)实现。

image.png

Scrum开发框架

Scrum(源于:英 式橄榄球运动)将软件开发团队比拟成橄榄球队,有明确的最高目标, 熟悉开发流程中所需具备的最佳典范与技术,具有高度自主权、高度自 我管理意识,紧密地进行沟通与合作,以高度弹性的方式面对各种挑 战,确保每天、每个阶段都向着目标明确地进行推进。

Scrum开发流程通常以2~4周(或者更短的一段时间)为一个阶 段,以客户提供新产品的需求规格开始,开发团队与客户于每一个阶段 开始时按优先级挑选应该完成的部分,开发团队必须尽力在这个阶段交 付成果。团队每天用15分钟开会检查每个成员的进度与计划,了解所遇 到的困难并设法解决。

image.png

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

软件测试技术

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值