Welcome

首页 / 软件开发 / 数据结构与算法 / 敏捷测试(8) ATDD整体研发流程

敏捷测试(8) ATDD整体研发流程2016-08-05 CSDN博客 lazy test

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有了大概了解,具体细节后面会详细介绍。