常见的敏捷开发框架

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

极限编程

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

一次迭代包括如下阶段:

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

常见的敏捷开发框架_第1张图片
极限编程的优秀实践:
常见的敏捷开发框架_第2张图片
极限编程的特点:

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

行为驱动开发

常见的敏捷开发框架_第3张图片

行为驱动开发(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)的迭代完成项目开发。此处的“特性”是指“用户 眼中最小的、有用的特性、功能”,它是可理解的、可度量的,并且可 以在有限的时间内(两个星期)实现。

常见的敏捷开发框架_第4张图片

Scrum开发框架

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

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

常见的敏捷开发框架_第5张图片

你可能感兴趣的:(测试理论,敏捷流程,驱动开发)