多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > php開源 > 綜合技術(shù) > Kent Beck 談單元測(cè)試和持續(xù)部署

Kent Beck 談單元測(cè)試和持續(xù)部署

來(lái)源:程序員人生   發(fā)布時(shí)間:2014-04-06 07:06:38 閱讀次數(shù):3622次

2010年7月2日,Roy Osherove 和 Kent Beck 在 blog.typemock.com 進(jìn)行了一次對(duì)話,話題涉及單元測(cè)試(Unit Testing),JUnit Max(Kent 開發(fā)的一個(gè)單元測(cè)試的 Eclipse Plugin,不免費(fèi)),和面向初創(chuàng)企業(yè)的精益方法(Lean Startups)。

單元測(cè)試和 JUnit Max
作為軟件開發(fā)方法學(xué)的大師、極限編程XP的創(chuàng)始人、敏捷宣言的創(chuàng)始人之一,Kent Beck 一直在努力最大化地利用單元測(cè)試的價(jià)值,他說(shuō)一些程序員仍然認(rèn)為單元測(cè)試并不是他們的工作,但是單元測(cè)試確實(shí)能夠提高軟件的質(zhì)量。目前他正在開發(fā) JUnit Max,這是一個(gè) Eclipse plugin,每當(dāng)程序員保存一個(gè) Java 源文件的時(shí)候,JUnit Max 就會(huì)運(yùn)行測(cè)試并報(bào)告反饋信息。測(cè)試中的錯(cuò)誤將會(huì)如同編譯錯(cuò)誤一樣被報(bào)告給程序員。JUnit Max 的核心思想是測(cè)試錯(cuò)誤應(yīng)該和編譯錯(cuò)誤一樣被 IDE 報(bào)告給程序員,程序員不需要額外的菜單選項(xiàng)或者運(yùn)行其他的工具來(lái)運(yùn)行測(cè)試。特別是那些經(jīng)常失敗的測(cè)試,對(duì)于程序員來(lái)說(shuō)是非常有價(jià)值的反饋信息。在測(cè)試驅(qū)動(dòng)開發(fā)(Test Driven Development – TDD)中,我們重復(fù)著這樣一個(gè)循環(huán):“編寫一個(gè)‘失敗’的測(cè)試(Failing Test)” – “編碼實(shí)現(xiàn)功能以便讓測(cè)試通過(guò)”,隨著開發(fā)的深入,測(cè)試越來(lái)越豐富,測(cè)試能夠反饋給程序員的信息也越來(lái)越多,它們可以幫助程序員找出那些需要改進(jìn)的代碼。JUnit Max 能夠縮短這個(gè)循環(huán)的周期,因?yàn)樗鼮轭l繁地運(yùn)行測(cè)試和提供反饋。Roy 問(wèn)道:“當(dāng)你一個(gè)人編碼的時(shí)候,你是否嚴(yán)格地遵循 TDD,即一定要先寫測(cè)試,然后寫實(shí)現(xiàn)代碼。我個(gè)人發(fā)現(xiàn)這并不是一件容易做到的事情,特別是當(dāng)一個(gè)人編碼的時(shí)候。” Kent 回答:“視情況而定,有時(shí)候并不需要死板地遵循 TDD,比如當(dāng)我在做一些探索性或者說(shuō)實(shí)驗(yàn)性的編碼時(shí),并不需要寫測(cè)試,因?yàn)槲抑皇窍雵L試一下某些功能和特性。”

Roy: “你在測(cè)試驅(qū)動(dòng)開發(fā)中見過(guò)的最糟糕的錯(cuò)誤有哪些?”
Kent:“很多程序員僅僅是拷貝和粘貼測(cè)試代碼,但并不理解它們。所以我們經(jīng)常能看到?jīng)]有斷言的測(cè)試,同時(shí)測(cè)試很多邏輯和功能的測(cè)試,過(guò)于臃腫或者過(guò)于短小的測(cè)試等等。當(dāng)然這些錯(cuò)誤在學(xué)習(xí)過(guò)程中很普遍,也是我們學(xué)習(xí)的一部分。”

Roy:“你下一步最想嘗試的新概念是什么?”
Kent:“我最近談?wù)摰囊粋€(gè)主題是 Software G Forces,是關(guān)于軟件產(chǎn)品的部署頻率(Frequency of Deployment),這里的部署是指面向最終用戶的部署或者說(shuō)發(fā)布,是生產(chǎn)環(huán)境而非測(cè)試環(huán)境。從前的軟件產(chǎn)品每年(或數(shù)年)發(fā)布一個(gè)新的版本,而現(xiàn)在的軟件產(chǎn)品發(fā)布頻率越來(lái)越快,從每季度,每月,每周,每天,直至每小時(shí)。Kent 提及有一些非常復(fù)雜的軟件產(chǎn)品的發(fā)布頻率甚至是每天 40 到 50 次。此時(shí) Roy 提出了一個(gè)非常好的問(wèn)題:“產(chǎn)品發(fā)布得如此頻繁,我們?nèi)绾文軌蛟谶@么短的時(shí)間間隔內(nèi)獲得用戶反饋呢?”,Kent 回答道:“持續(xù)部署(Continuous Deployment)確實(shí)需要一些基礎(chǔ)設(shè)施建設(shè)來(lái)支持,比如:自動(dòng)版本回滾,自動(dòng)錯(cuò)誤檢測(cè),系統(tǒng)同時(shí)運(yùn)行多個(gè)版本的能力,比如一個(gè)服務(wù)器集群中不同的服務(wù)器上可以運(yùn)行產(chǎn)品的不同版本。”

Roy 問(wèn)道:“當(dāng)你在開發(fā)一個(gè)產(chǎn)品的時(shí)候,你在為客戶創(chuàng)造價(jià)值,而持續(xù)部署創(chuàng)造的則是一種內(nèi)在的價(jià)值,并且實(shí)施過(guò)程也是非常復(fù)雜的,你怎樣投入時(shí)間去實(shí)施它呢?是否需要從產(chǎn)品設(shè)計(jì)的一開始就考慮這些問(wèn)題呢?”,Kent 答道:“5 年之內(nèi)市場(chǎng)上可能會(huì)有許多持續(xù)部署的產(chǎn)品出現(xiàn),目前我們可能需要自己來(lái)尋求解決方案,因?yàn)楝F(xiàn)在它還是一個(gè)較新的領(lǐng)域。持續(xù)部署的重點(diǎn)之一是及時(shí)捕獲系統(tǒng)錯(cuò)誤,不僅僅是技術(shù)層面上的錯(cuò)誤,同時(shí)也包括業(yè)務(wù)層面。以 Amazon.com 為例,他們?cè)u(píng)價(jià)系統(tǒng)運(yùn)行的良好程度是以業(yè)務(wù)運(yùn)營(yíng)狀況為依據(jù)的,如果銷售額出現(xiàn)不明原因的下降,系統(tǒng)也會(huì)發(fā)出錯(cuò)誤警告。”

注:為了不讓文章過(guò)長(zhǎng),下半部分的面向初創(chuàng)企業(yè)的精益方法(Lean Startups)將在后面發(fā)布。

生活不易,碼農(nóng)辛苦
如果您覺(jué)得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 欧美亚洲国产片在线观看 | 国产不卡毛片 | 男女xx00xx的视频免费观看 | 久久国产精品影院 | 欧美美女一级片 | 大香久久 | 欧美性受xxxx白人性爽 | 欧美亚洲高清日韩成人 | 麻豆久久精品免费看国产 | 看一级黄色毛片 | www.亚洲视频 | 欧美video free xxxxx| 国产成人免费手机在线观看视频 | 国产suv精品 | 中文天堂最新版在线精品 | 激性欧美激情在线播放16页 | 九色精品在线 | 日韩精品中文字幕久久 | 中文字幕在线精品 | 亚洲综合日韩中文字幕v在线 | 青草青青产国视频在线 | 99久久中文字幕伊人 | 成人网在线 | 亚洲 欧美 中文 日韩欧美 | 亚洲图片校园另激情类小说 | 波多野结衣 一区 | 欧美综合区 | 最近韩国动漫hd免费观看 | 午夜在线免费观看 | 视频二区中文字幕 | 欧美日韩在线观看免费 | 久久精品国产一区二区 | 日韩精品一区二区三区高清 | 日本护士xxxjapanese | 性丰满妇女free性性性 | 国产性一交一乱一伦一色一情 | 欧美孕交videosfree巨大 | 色综合久久久高清综合久久久 | 欧美日韩午夜 | 国产视频大全 | 国产免费一区2区3区4区 |