第013页_1788968505053.txt

15
第1章引论


用户需求验证
验收测试
需求分析和定义(


系统非功能特性验证
系统非功能性测试
系统设计Q


功能验证
→功能测试
详细功能设计
验证过程
代码验证
构建过程
编码Q单元测试
图1-7V模型呈现测试和开发
(4)代码的验证对应单元测试和集成测试。
也就是说,如果只在某一两个方面(如代码测试、功能测试)完成对软件产品的测试,都说
明测试是不完整的,只有从这4个层次完成对软件产品的测试才是完整的。在第4章还会讨
论W测试模型,以进一步了解测试与开发的关系。
测试驱动开发的思想
1.6
测试和开发有一对一的关系,再往前进一步就是测试驱动开发。
在目前比较流行的敏捷方法(如极限编程、Scrum方法等)中,提出了“测试驱动开发(Test
测试在前、编码在后的开发方法。TDD有别于以往的先编
Driven Development,TDD)"
码后测试的开发过程,而是在编程之前先写测试脚本或设计测试用例。TDD在敏捷方法中被
DrivenDevelopment,单元测试驱动开发),而在IBM Rational 统一过程(Rational Unified
Process,RUP)中被称为“测试优先的设计(test-first design)”。所有这些都在强调“测试先
行”,以更好地确保内建质量及设计或代码具有可测试性,进而确保测试的充分性。
TDD具体实施过程如图1-8所示。在打算添加某项新功能时,先不要急着写程序代码,
而是将各种特定条件、使用场景等想清楚,为待编写的代码先写一段测试用例。然后,利用集
为新性能
开始
写一个测试
编译
如果需要进行重构


运行测试
修订编译错误
并通过
运行测试
并发现错误
编写代码
测试驱动开发的软件过程
图1-8
下载此文件