Pro206-Sw06-什么是TTD

整理时间:2019-02-25

吉米


什么是TTD?

Test-Driven Development,中文:测试驱动开发。

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


TDD原则

独立测试

不同代码的测试应该相互独立,一个类对应一个测试类(对于C代码或C++全局函数,则一个文件对应一个测试文件),一个函数对应一个测试函数。

用例也应各自独立,每个用例不能使用其他用例的结果数据,结果也不能依赖于用例执行顺序。

 一个角色

开发过程包含多种工作,如:编写测试代码、编写产品代码、代码重构等。

做不同的工作时,应专注于当前的角色,不要过多考虑其他方面的细节。

测试列表

代码的功能点可能很多,并且需求可能是陆续出现的,任何阶段想添加功能时,应把相关功能点加到测试列表中,然后才能继续手头工作,避免疏漏。

测试驱动

即利用测试来驱动开发,是TDD的核心。要实现某个功能,要编写某个类或某个函数,应首先编写测试代码,明确这个类、这个函数如何使用,如何测试,然后在对其进行设计、编码。

先写断言

编写测试代码时,应该首先编写判断代码功能的断言语句,然后编写必要的辅助语句。

可测试性

产品代码设计、开发时的应尽可能提高可测试性。每个代码单元的功能应该比较单纯,“各家自扫门前雪”,每个类、每个函数应该只做它该做的事,不要弄成大杂烩。尤其是增加新功能时,不要为了图一时之便,随便在原有代码中添加功能,对于C++编程,应多考虑使用子类、继承、重载等OO方法。

及时重构

对结构不合理,重复等“味道”不好的代码,在测试通过后,应及时进行重构。

小步前进

软件开发是复杂性非常高的工作,小步前进是降低复杂性的好办法。

你可能感兴趣的:(Pro206-Sw06-什么是TTD)