測試驅(qū)動開發(fā)(TTD:Test-Driven Development)作為敏捷開發(fā)的一種方式,和傳統(tǒng)的敏捷開發(fā)模式(開發(fā)全部完成后再測試)有所不同仰挣。
TTD優(yōu)點:
* 把測試部分融入到了開發(fā)的每個節(jié)點中铆农,邊開發(fā)邊測試,開發(fā)完即測試通過。
* 增加開發(fā)人員積極性刃唐,目標(biāo)明確,不寫過多代碼界轩,滿足單元測試和重構(gòu)代碼即可画饥。
* 重構(gòu)代碼時,不用擔(dān)心項目報錯(可以單元測試的啦)浊猾。
* 能夠迅速定位到bug出現(xiàn)位置(單元測試要具體細節(jié)化)抖甘。
* 在回歸測試會方便一些,因為有單元測試的相關(guān)代碼与殃。
* 把測試部分放到了至關(guān)重要的部分单山,傳統(tǒng)開發(fā)模式中碍现,測試只是一個查缺補漏的角色,現(xiàn)在充當(dāng)了制定規(guī)則的角色(測試人員好開心米奸,翻身做產(chǎn)品的感覺)昼接。
* 有些開發(fā)會對需求理解偏差(人類的惰性,總是喜歡按照自己有利的方式思考問題)悴晰,所以根據(jù)測試用例編寫單元測試慢睡,在工作開始時就遏制這種情況,不會出現(xiàn)開發(fā)完接口發(fā)現(xiàn)不符合需求的尷尬情況铡溪。
TTD缺點:
* 對于簡單需求漂辐,如果還要編寫單元測試會增加額外不必要的時間(但是考慮到可能小的需求也會污染其他正常功能,所有最好還是嚴格按照TTD)
* 額外的單元測試增加開發(fā)時間棕硫。