敏捷测试(8) ATDD整体研发流程

ATDD整体研发流程

有了前面的基于story的敏捷基础,接下来来介绍一下验收测试驱动开发的整个流程。

名词解释:

ATD,即验收测试设计(acceptancetest design)

PM,即需求整理方(product manager)

RD,即开发人员(Research and Development)

QA,即品质保证人员(quality assurance)

如上图所示,整个流程被分为三个粒度,分别是:项目、迭代、story。

一个项目被划分为若干个迭代;

每个迭代由若干个story组成。

项目粒度(图中水平向右的箭头)

1. 一系列需求催生了一个项目;

2. 项目启动后,将已有的需求拆分成若干可独立上线的story,或补充新的story;

3. 每个story都有一个优先级,将story按优先级从高到低排序;

4. 把一段固定的时间(比如两周)作为一个迭代;

5. 将一定量的高优先级story进行需求澄清;

6. 按团队的研发能力(参照前文提到的“昨日天气”原则),将澄清后的高优先级story纳入到当前迭代中;

7. 完成迭代,并上线(可不上线);

8. 重复2到7,直到所有需求均上线。

迭代粒度(图中标有“迭代”的圆形箭头)

1. 迭代启动;

2. ATD编写&&详细设计(如果必要),同步进行;

3. 并行的story开发和测试;

4. Showcase;

5. PM线下验收;

6. 上线清单准备&&上线;

7. 迭代回顾;

story粒度(图中标有“story”的圆形箭头)

1. story启动

开始一个高优先级的story(如果该story较大,可先开始一个优先级稍低但估点较小的story,以提高测试并发度)

2. review详细设计(如果有的话)

3. ATD的review和完善;

4. RD开发并根据ATD编写自动化(所有单测+大部分集成测试),并标记;

5. RD签章通过大部分ATD;

6. 提测;

7. QA进一步完善ATD;

8. QA对未签章部分进行测试(手工+编写少量集成测试,及必要的系统级测试);

9. QA进行探索性测试(如高风险点的二次确认、整体流程,以及回归等);

10.  并行地重复1到9,完成所有迭代中的story。

从以上三个维度的解释,以及整体流程图,对整体的ATDD有了大概了解,具体细节后面会详细介绍。

更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/project/

时间: 2025-01-30 02:35:57

敏捷测试(8) ATDD整体研发流程的相关文章

敏捷测试(2) ATDD概念

什么是验收测试驱动开发 在准备实施一个功能或特性之前,首先团队需要定义出期望的质量标准和验收细则,以明确而且达成共识的验收测试计划(包含一系列测试场景)来驱动开发人员的TDD实践和测试人员的测试脚本开发. 注意:测试人员必须是团队的一部分,并在ATDD的过程中扮演关键和掌控性的角色. 典型的ATDD开发过程是: Step 1:产品负责人向测试人员和开发人员讲解用户故事,澄清他们提出的问题: Step 2: a.测试人员列出验收该功能所需要验证的所有测试场景,每个测试场景通常是概要,清晰的一句话:

《移动App测试实战》——1.1 互联网产品常见的研发流程

1.1 互联网产品常见的研发流程 对于每个研发组织,因为产品的特性.组织的特点和一些历史原因,对于产品研发流程的理解和设定都有不同的考虑.但是以我们工作过的几家互联网来说,因为互联网产品的一些共同点,大致的产品研发流程其实大同小异,或者是做类似的事情但叫法不同.考虑到本书的读者可能当前的工作范围不一定是互联网产品,或者还没有机会了解整个研发流程,这里先做一些基本的介绍,也便于后面章节关于质量提升方面的讨论.为了了解流程,首先需要介绍一下互联网产品研发相关的分工,主要的角色如下:产品经理.负责产品

专家眼中的QA、敏捷测试、探索式测试及测试的开放性

编者按:测试.QA一直是大家关注的话题,只要有软件开发,就离不开QA和软件测试.本次特别邀请到一淘网测试架构师 @公直_黄利 ,诺基亚敏捷及精益教练 @徐毅-Kaveri 和百度高级测试工程师杨进,请他们谈下各自对QA和测试的理解,内容涉及如何衡量软件测试的有效性,探索式测试,敏捷测试,开源对测试的影响,测试的开放性以及测试框架推荐等. 请先做下自我介绍. 徐毅:我叫徐毅,现在在诺基亚北京担任敏捷及精益教练的工作.我是从05年在杭州诺基亚网络的时候开始转做专职测试的,同期也加入公司刚成立的测试自

应用Visual Studio 2010辅助敏捷测试(上)

敏捷软件开发是近些年来比较热门的话题,<敏捷宣言>四条主要精神和十二条基本准则概括了敏捷开发的基本思想.围绕着这些基本概念和思想,产生了一系列的轻量级方法,如:极限编程.测试驱动开发.Scrum.特性驱动开发等.虽然具体名称.过程和侧重点不尽相同,但是相对于非敏捷的开发方法而言,它们都更强调面对面的沟通.团队不同角色之间的紧密协作.频繁交付新的可用的软件版本.紧凑而自我组织型的团队等.敏捷开发只是提供了一个思想和方法论,而要在实际的工程中正确运用它,并真正显现出它的优点和产生实际的效果,这对于

一起谈.NET技术,应用Visual Studio 2010辅助敏捷测试(上)

敏捷软件开发是近些年来比较热门的话题,<敏捷宣言>四条主要精神和十二条基本准则概括了敏捷开发的基本思想.围绕着这些基本概念和思想,产生了一系列的轻量级方法,如:极限编程.测试驱动开发.Scrum.特性驱动开发等.虽然具体名称.过程和侧重点不尽相同,但是相对于非敏捷的开发方法而言,它们都更强调面对面的沟通.团队不同角色之间的紧密协作.频繁交付新的可用的软件版本.紧凑而自我组织型的团队等.敏捷开发只是提供了一个思想和方法论,而要在实际的工程中正确运用它,并真正显现出它的优点和产生实际的效果,这对于

敏捷测试简介

时至今日,还讨论这样一个老话题,是否感觉老调重弹?因为两年前(2010年底)时任谷歌中国测试经理的段念先生就 写了一篇文章<什么是敏捷软件测试>(刊登在InfoQ网站上[1]), 就已经谈到这个话题,"敏捷软件测试更多的是一种 理念,而非过程".在2011年,我自己也写了一篇文章<敏捷测试的思考和新发展>,刊登在<程序员>杂志上,谈到"在 BDD.ATDD和TDD最根本的.共同的思想基础上,构成一个全新的.更完善的敏捷测试框架"[

敏捷测试转型之痛

感谢我老婆,大周六自己在家带孩子,让我参加了一整天的敏捷Scrum Master 培训.我想如果这个培训是工作日在公司内部,大家是否还有如此的积极热情呢?今天只达到预期人数的一半,参与程度却非常高,结束之后大家都围着杜伟忠教练不断问问题.我切实的感觉到这些人真的是公司内愿意学习新知识,对敏捷,对改进有极大热情的人.我想无论是培训还是其他交流活动,想甄别出南郭先生还是真正热情的粉丝,选择周末举办是个不错的办法. 抛开现实,在敏捷实践的活动中,我们可以组成自组织的小团队,频繁沟通.持续改进.但是真正

敏捷测试的人性化优势

第一部分:潺潺流水化田园 很多人认为一个好的测试工程师必须做到在第一时间发现所有的bug,然后以最快的速度测试完毕所有的task.以显示其测试技术的高超. 您是否想过 1:在一个task完成之后,这个task就真的如此果断的结束了吗?这个task对于整个软件,会产生什么作用? 2:这个测试人员所谓的最快速度,究竟是何等的快,快的原因是什么? 就算运用了自动化或者性能测试工具,这些工具的运用是否恰如其分? 3:这些"高超的技术"会给公司带来什么?会带来公司文化的提升吗?公司的文化是什么呢

敏捷测试理论以及实践(5)

以前在<结合工具来实现敏捷开发>这篇文章中,我已经谈到了我们公司目前的开发情况,在这里也不再重复介绍了,反正主要就是用 TechExcel的 DevSuite 系统来进行管理整个流程.至于很多人可能会问,既然敏捷了为啥还要用工具,其实我是这么想的,敏捷开发/测试,如果对于简单的项目而言,用工具反而会效率下降,因为就这么几行代码,这么几个功能,一下子就可以弄好了,弄个工具反而浪费时间. 但是对于稍微大的项目而言,可能不用工具就没法很好地管理项目了,比如说好了,一个团队在一个迭代周期中做了10个功