9.1敏捷开发的特征9.2敏捷测试9.3极限编程与测试9.4小结第9章敏捷开发模式下的测试第9章敏捷开发模式下的测试《敏捷软件开发宣言》个体和互动高于流程和工具工作的软件高于详细的文档客户合作高于合同谈判响应变化高于遵循计划9.1敏捷开发的特征敏捷开发提倡迭代式和增量式的开发模式,并强调测试在其中的重要作用。敏捷开发模式有三个共同点:依赖客户的参与测试驱动紧凑的迭代开发周期9.1敏捷开发的特征方法描述敏捷建模不是一种建模方法,而是一种建模以及文档化软件系统的原则和惯例,用以支撑其他诸如极限编程和Scrum等敏捷方法敏捷统一过程为敏捷量身定做的统一软件过程(RUP)的精简版动态系统开发方法基于快速软件开发方法,依赖于客户的持续参与,使用迭代式和增量式的开发模式,目标是软件能够在预算之内及时交付核心统一过程(EssUP)有的放矢,只选择统一软件过程中那些适合当前项目的实践(如用例驱动和团队编程),不管是否需要,RUP通常使用所有实践敏捷开发方法列表(1)9.1敏捷开发的特征敏捷开发方法列表(2)方法描述极限编程另一种迭代式和增量式的开发模式,非常强调依赖单一测试和验收测试,也是是最著名的敏捷方法功能驱动开发(FDD)使用工业界的最佳实践,以客户提供的功能需求为驱动,频繁发布小版本,使用领域对象建模以及组件功能团队开放统一过程这种敏捷方法实现了标准的统一过程,采纳该方法的软件组能够做到快速开发其他产品Scrum一种迭代式和增量式的项目管理方法,支持多个敏捷开发模式进度跟踪适用所有的敏捷方法,用来度量敏捷开发的速度以及进度9.2敏捷测试敏捷测试本质上是协同测试的一种形式,要求每一个人都参与到测试计划的设计、实现以及执行中去。客户通过定义用例以及程序属性参与到定义验收测试中来,开发者和测试者共同打造可以进行功能自动化的测试配件。9.2敏捷测试敏捷测试依赖于自动化测试,因为:开发周期短,时间宝贵,人工测试耗费时间。自动化测试并人工测试更可靠,人工测试往往容易产生错误,以及有大量的开源和商业测试套件可用。9.3极限编程与测试极限编程(XP,ExtremeProgramming)是一种新型的、轻量的、敏捷的软件开发方法。XP开发方法的目的是在短时间内开发高质量的程序,要保证高质量,必须高度依赖模块测试和验收测试。总的来说,对每个再小的递增的代码变更,都必须进行单元测试,以确保代码库满足其规格说明的要求。测试在XP中的地位非常重要,以至于需要首先创建单元(模块)测试和验收测试,然后才创建代码库。这种形式的测试被称为极限测试(XT,ExtremeTesting)。9.3.1极限编程基础XP的关注点实现简单的设计。开发人员和客户的沟通协作。不断地测试代码库。重构以适应规格说明的变更。寻求用户的反馈。9.3.1极限编程基础XP的关注点实现简单的设计。开发人员和客户的沟通协作。不断地测试代码库。重构以适应规格说明的变更。寻求用户的反馈。