TDD项目流程规范

在之前的设计模式中,一个项目流程分为:分析——设计——实现——测试——服务,五部分,其中测试要占到项目时间的50%以上,现根据TDD(测试驱动开发)开发方法,把项目分为以下几个流程:

1. 需求分析,搞清用户具体需要什么,千万不要实现用户不需要的(不要想当然的做需求),并且完成需求文档的编写

2. 系统设计,根据用户需求划分模块和功能,并设计接口,并完成概要设计文档

3. 原型设计,根据模块进行原型设计,将需求细化到功能的每个字段(不要实现用户不需要的,一切以用户为中心),并完成原型

4. 数据库设计,根据设计好的原型进行数据库设计,并进行讨论,数据库设计应满足《项目命名规范》

5. 根据详细需求按模块编写测试用例,完成测试用例文档(或者编辑到Testlink中),开发人员可以互相编写对方模块的测试用例

6. 在编写测试用例的同时,根据原型设计和数据库设计开始编码,并且以满足所有测试用例为基础,同时进行单元测试(保证覆盖率达90%,自完成槽函数和桩函数),参照《项目命名规范》

7. 最后进行系统集成测试(Selenium工具),可对系统进行模拟,并行可完成用户使用手册

测试驱动开发是敏捷开发中的一项核心实践和技术,也是一种设计方法论。

TDD得原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码

TDD虽是敏捷方法的核心实践,但不只适用于XP(Extreme Programming),同样可以适用于其他开发方法和过程。

TDD的基本思路就是通过测试来推动整个开发得进行,但测试驱动开发并不只是单纯的测试工作,而是把需求分析,设计,质量控制量化的过程。

TDD的重要目的不仅仅是测试软件,测试工作保证代码质量仅仅是其中一部分,而且是在开发过程中帮助客户和程序员去除模棱两可的需求。

TDD首先考虑使用需求(对象、功能、过程、接口等),主要是编写测试用例框架对功能的过程和接口进行设计,而测试框架可以持续进行验证。

优点:在任意一个开发节点都可以拿出一个可以使用,含少量bug并具一定功能的产品。

缺点:增加代码量。测试代码是系统代码的两倍或更多。


注:以上流程也可用于敏捷开发,在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,然后交给客户试用,根据客户反馈进行修改,然后完成剩下的模块(迭代,循序渐进),在此过程中软件一直处于可使用状态。

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...