是否使用TDD(測(cè)試驅(qū)動(dòng)開(kāi)發(fā))進(jìn)行UI開(kāi)發(fā)

問(wèn)題

StackOverflow上有一則是否使用TDD(測(cè)試驅(qū)動(dòng)開(kāi)發(fā))進(jìn)行UI開(kāi)發(fā) 的提問(wèn)恩袱。

JacobE問(wèn):

對(duì)于是否使用TDD進(jìn)行開(kāi)發(fā)UI這件事瓤荔,我想了很久愚隧,但難以決定。我想聽(tīng)聽(tīng)你們的意見(jiàn)洪乍。

回答

kdgregory的回答(23票贊同)

試圖測(cè)試UI組件的放置是沒(méi)有意義的,首先因?yàn)閁I布局是主觀的夜焦,所以應(yīng)該由人來(lái)測(cè)試壳澳。其次,隨著UI改動(dòng)茫经,你要不斷地重寫(xiě)測(cè)試巷波。
同樣,沒(méi)必要測(cè)試你所使用GUI庫(kù)的組件科平,它們已經(jīng)被非常多的人測(cè)試過(guò)了褥紫。如果你寫(xiě)了新的UI組件,倒是可以測(cè)一測(cè)瞪慧。
你應(yīng)該測(cè)試的是GUI下面的程序行為:控制器和模型部分髓考。朝這個(gè)方向努力,你就會(huì)開(kāi)始關(guān)心組件分離弃酌。為了方便測(cè)試氨菇,你會(huì)讓你的模型部分和控制器和你的UI盡量解耦。

bangroot的回答(8票贊同)

當(dāng)我使用自動(dòng)化測(cè)試去測(cè)試UI的外觀風(fēng)格時(shí)妓湘,我發(fā)現(xiàn)這是最大的“過(guò)度工程”查蓉。我的建議是:不要!把你的測(cè)試重心轉(zhuǎn)移到程序的行為上吧榜贴,至于程序的UI豌研,留給測(cè)試團(tuán)隊(duì)去做吧妹田。關(guān)鍵是把你的精力用在高收益的行為上,自動(dòng)化的UI測(cè)試不僅不會(huì)增加價(jià)值鹃共,還會(huì)讓你負(fù)債鬼佣!

Brian Rasmussen的回答(5票贊同)

TDD的作用就是讓你的邏輯代碼和你的GUI代碼分離。如果你這樣做了霜浴,你會(huì)發(fā)現(xiàn)很容易用TDD建立邏輯代碼晶衷。如果你的邏輯代碼分離得好,在它之上你完全可以建立另一套UI阴孟。

Harald Scheirich(4票贊同)

我從來(lái)不用TDD做任何UI布局的事情晌纫,因?yàn)榛ǖ臅r(shí)間太不值。

后面的解答不一一列舉永丝。

結(jié)論

關(guān)于這個(gè)問(wèn)題的回答基本是一邊倒的結(jié)論:沒(méi)必要把精力放在UI的自動(dòng)化測(cè)試上锹漱。原因可歸結(jié)為以下兩點(diǎn):

  1. 不合理∧饺拢“因?yàn)閁I布局是主觀的凌蔬,所以應(yīng)該由人來(lái)測(cè)試〈忱洌”
  2. 不劃算砂心。對(duì)于UI的自動(dòng)化測(cè)試,要花費(fèi)很大的努力和很多的時(shí)間蛇耀,隨著UI改動(dòng)辩诞,測(cè)試也要改動(dòng)。工作量太大纺涤。明顯不如由人來(lái)測(cè)試UI劃算译暂。

根據(jù)以上的討論,我的結(jié)論是:

  1. TDD是輔助設(shè)計(jì)的一種方法撩炊,但不是唯一的方法外永。當(dāng)我做UI布局時(shí),寫(xiě)CSS時(shí)拧咳,沒(méi)必要TDD伯顶。
  2. TDD應(yīng)該針對(duì)程序的行為,而不是程序的外觀骆膝。TDD的目標(biāo)寫(xiě)出依賴(lài)盡量少的祭衩,方便測(cè)試的功能模塊。

2015-02-12 周四


如果你喜歡我的文章阅签,可以點(diǎn) 這里 給我打賞掐暮,五分一毛也是對(duì)我的認(rèn)同。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末政钟,一起剝皮案震驚了整個(gè)濱河市路克,隨后出現(xiàn)的幾起案子樟结,更是在濱河造成了極大的恐慌,老刑警劉巖精算,帶你破解...
    沈念sama閱讀 218,386評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件狭吼,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡殖妇,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén)破花,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)谦趣,“玉大人,你說(shuō)我怎么就攤上這事座每∏岸欤” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,704評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵峭梳,是天一觀的道長(zhǎng)舰绘。 經(jīng)常有香客問(wèn)我,道長(zhǎng)葱椭,這世上最難降的妖魔是什么捂寿? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,702評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮孵运,結(jié)果婚禮上秦陋,老公的妹妹穿的比我還像新娘。我一直安慰自己治笨,他們只是感情好驳概,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著旷赖,像睡著了一般顺又。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上等孵,一...
    開(kāi)封第一講書(shū)人閱讀 51,573評(píng)論 1 305
  • 那天稚照,我揣著相機(jī)與錄音,去河邊找鬼俯萌。 笑死锐锣,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的绳瘟。 我是一名探鬼主播雕憔,決...
    沈念sama閱讀 40,314評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼糖声!你這毒婦竟也來(lái)了斤彼?” 一聲冷哼從身側(cè)響起分瘦,我...
    開(kāi)封第一講書(shū)人閱讀 39,230評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎琉苇,沒(méi)想到半個(gè)月后嘲玫,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,680評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡并扇,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評(píng)論 3 336
  • 正文 我和宋清朗相戀三年去团,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片穷蛹。...
    茶點(diǎn)故事閱讀 39,991評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡土陪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出肴熏,到底是詐尸還是另有隱情鬼雀,我是刑警寧澤,帶...
    沈念sama閱讀 35,706評(píng)論 5 346
  • 正文 年R本政府宣布蛙吏,位于F島的核電站源哩,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏鸦做。R本人自食惡果不足惜励烦,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望泼诱。 院中可真熱鬧崩侠,春花似錦、人聲如沸坷檩。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,910評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)矢炼。三九已至系瓢,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間句灌,已是汗流浹背夷陋。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,038評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留胰锌,地道東北人骗绕。 一個(gè)月前我還...
    沈念sama閱讀 48,158評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像资昧,于是被迫代替她去往敵國(guó)和親酬土。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容