TDD:Test Driven
Development.
软件测试最早提出在软件工程中的瀑布模型,需要在开发编码之后对软件进行测试
而 后发现软件测试应该提前,与开发同步,也就有了V&V模型
之后又有人提出,测试应该在开发之前!于是就有了测试先行的概念,TDD也就诞 生了。
TDD到底是什么呢?
我们来看一个比喻:
- 工匠一:先拉上一根水平线,砌每一块砖都与水平线比较,使得每一块都保持水平。
- 工匠二:先把一排砖都砌完,然后再拉上一根水平线,看哪些砖有问题,对有问题的砖进行调整。我们就是在按工匠二的方法干活,甚至有时更笨,把整面墙都砌完了,直接进行“集成测试”,经常整面墙推到重砌。
TDD类似工匠一的做法:
- 在问题出现之前,分析、预见可能出现的问题。工匠一、二都知道砖有对不齐的可能,做为测试人员我们都知道,软件或多或少会有问题,如果能在开发之前预见开发过程中会出什么样的问题,测试将会有质的改变。
- 开发人员根据测试人员所预见的问题开发,防止这些问题的发生。这是测试过程质的改变,测试不再是去找bug,而是引导开发避免问题的发生。测试的流程和作用也发生了改变,测试不是再等墙砌完了,推了再砌,而是和开发一起努力,争许一次把墙砌好,要以最小返工率为目标。
你觉得呢,谈谈你的看法吧!