从一个实例详解敏捷测试的最佳实践(下)

发表于:2010-01-08来源:作者:点击数: 标签:实践详解实例
从一个实例详解敏捷测试的最佳实践(下) 软件测试工具 第三部分: 敏捷开发 中的 测试流程 本部分结合一个软件项目,详细介绍项目流程中的主要测试活动,每个活动的前提条件和目标任务等。 3.1 介绍项目实例 项目介绍:根据一家在线 B2B 公司的要求,我们将为

        从一个实例详解敏捷测试的最佳实践(下)   软件测试工具

  第三部分:敏捷开发中的测试流程

  本部分结合一个软件项目,详细介绍项目流程中的主要测试活动,每个活动的前提条件和目标任务等。

  3.1 介绍项目实例

  项目介绍:根据一家在线 B2B 公司的要求,我们将为其开发一款类似于谷歌的搜索服务。作为 Web Service,该服务可以内嵌于网页中。当用户输入关键词并选择商户的类型和位置后,系统会返回具体商户的列表(参见图 3)。

  图 3. 项目实例图

  典型的敏捷开发和测试活动参见下表。它主要由三部分构成,从最初的用户故事设计和发布计划,到几次 Sprint 周期的迭代开发和测试,以及最后的产品发布阶段。每个时间段都有相应的测试活动。通常 Sprint 周期被分成两类:特征周期(Feature Sprint)和发布周期(Release Sprint)。特征周期主要涉及新功能的开发和各类测试。发布周期则会结合计划,确定新版本功能,然后对最新的功能进行测试。

敏捷开发的主要活动 测试活动
用户故事设计 寻找隐藏的假设
发布计划 设计概要的验收测试用例
迭代 Sprint 估算验收测试时间
编码和单元测试 估算测试框架的搭建
重构 详细设计验收测试用例
集成 编写验收测试用例
执行验收测试 重构验收测试
Sprint 结束 执行验收测试
下一个 Sprint 开始 执行回归测试
发布 发布

  在迭代的 Sprint 周期中,开发部分可以根据传统步骤分成编码和单元测试、重构和集成。需要指出的是,重构和集成是敏捷开发的 Sprint 迭代中不可忽视的任务。如果在新的 Sprint 周期中要对上次的功能加以优化和改进,必然离不开重构和集成。

  在每个 Sprint 周期结束前,测试团队将提交针对该 Sprint 周期或者上个 Sprint 周期中已完成的功能的验收测试(在实际项目中,测试团队的进度通常会晚于开发团队)。这样一来,开发团队可以运行验收测试来验证所开发的功能目前是否符合预期。当然,这个预期也是在迭代中不断变化和完善的。

  当产品的所有功能得以实现,测试工作基本结束后,就进入了发布周期。此时,测试团队的任务相对较多。

  以上,我们概述了敏捷开发的主要活动。下面我们将对各阶段相应的测试活动作详细的介绍和分析。首先是用户故事设计和发布阶段。

原文转自:http://www.ltesting.net