單元測(cè)試之國(guó)內(nèi)現(xiàn)狀和想法
TDD的概念其實(shí)在國(guó)人中已經(jīng)是深入人心了,仿佛一夜之間大家都TDD了,但是,
目前感覺在國(guó)內(nèi),象最基本的單元測(cè)試,在大家的實(shí)際應(yīng)用中,其實(shí)還是存在不少疑惑
或者誤區(qū),甚至是不可調(diào)和的矛盾的,又或者目前存在的一些現(xiàn)狀,下面列舉下,希望大家踴躍發(fā)言:
1 程序員真正喜歡先寫單元測(cè)試的其實(shí)不多
其實(shí)國(guó)內(nèi)除了那些大中軟件企業(yè),比如CMMI或者XP做的很好的企業(yè)外,
真正能讓程序員先寫單元測(cè)試,再寫代碼的其實(shí)不多,有的企業(yè),雖然看上去口口聲聲
推XP很久,但落實(shí)到單元測(cè)試這個(gè)環(huán)節(jié)上,很多都是走過場(chǎng)的.不少程序員覺得
任務(wù)大,時(shí)間趕,人手少,一接到任務(wù)就是先趕代碼完成工作量了,這其實(shí)是很普遍的現(xiàn)象.
而且,絕大部分程序員從骨子里不喜歡寫單元測(cè)試,這是事實(shí)
2 如何給程序員減壓,但又能做好單元測(cè)試?
中小企業(yè)的程序員和項(xiàng)目經(jīng)理,一般面對(duì)的都是壓力大,任務(wù)重的項(xiàng)目,
如果作為項(xiàng)目經(jīng)理的你,覺得測(cè)試組有人(有人就行了,多少倒不大重要),
不妨讓測(cè)試組的人早點(diǎn)介入單元測(cè)試,又或者假如測(cè)試組的人起碼能寫點(diǎn)
代碼,那其實(shí)更好,就分配測(cè)試組的人去寫單元測(cè)試,這其實(shí)是很有好處的.
A 首先,可以讓程序員和測(cè)試人員在動(dòng)手寫一個(gè)模塊前,先讓他們討論這個(gè)模塊
的單元測(cè)試策略,這樣可以減輕程序員的負(fù)擔(dān)
B 雙方指定單元測(cè)試的框架流程,程序員不編寫單元測(cè)試代碼,但由于程序員參與了討論,
因此心里會(huì)更清楚;由測(cè)試人員編寫單元測(cè)試代碼
C 程序員寫完代碼后,由測(cè)試人員編寫的單元測(cè)試代碼去對(duì)碰程序員的代碼,得出相關(guān)的測(cè)試報(bào)告
好處是,職責(zé)分離了,測(cè)試組的人能提前介入,對(duì)以后的集成測(cè)試很有好處,而且可以讓
測(cè)試人員寫點(diǎn)測(cè)試代碼,好讓他們不閑著,有點(diǎn)成就感;而且程序員的負(fù)擔(dān)減少了,雖然
程序員不寫單元測(cè)試代碼了,但由于一開始跟測(cè)試人員在一起,會(huì)對(duì)測(cè)試流程熟悉,
對(duì)代碼編寫很有好處.
以上一點(diǎn)建議,只供參考 |