<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    學海拾遺

    生活、技術、思想無處不在學習
    posts - 52, comments - 23, trackbacks - 0, articles - 3
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    Joel On Software---JOEL 測試:改進代碼的12個步驟

    Posted on 2007-07-05 16:40 tanzek 閱讀(677) 評論(0)  編輯  收藏 所屬分類: 讀書記錄

    此節(jié)為第一部分的第三節(jié):
    JOEL測試:改進代碼的12個步驟

    JOEL測試
    1 、使用源控制代碼嗎?
    2 、能一步完成連編嗎?
    3 、每天都做連編嗎?
    4 、有故障信息數據庫嗎?
    5 、在編寫新代碼之前修復故障嗎?
    6 、有最新的進度表嗎?
    7 、有規(guī)格說明書嗎?
    8 、程序員擁有安靜的工作環(huán)境嗎?
    9 、你用到了你資金能力內可買到的最好工具嗎?
    10 、有測試人員嗎?
    11 、新聘人員在試用期寫代碼嗎?
    12 、進行走廊可用性測試嗎?


    在這一節(jié)中例出了JOEL測試的12個步驟,個人覺得確實把一些標準軟件測試的精華吸取進去了,卻又拋棄了各類標準測試中的過于嚴格、限制靈活性的部分。當然這也如書中所說的,“Joel測試的不足之處,處是,確實不應該用它來保證核動力工廠軟件是安全的”。作為個人來講,應該把這些測試作為一種軟件開發(fā)的習慣(當然,只是有些部分哦!~)。

    在這里把比較精要的地方記錄一下:
    1、不使用源控制,程序員沒有辦法知道其他人員做了什么,所以不容易進行錯誤回滾。源控制系統(tǒng)的另外一個巧妙之處在于,可保證源代碼在每個程序員的硬盤上都是經過自動確認了的。

    2、從最新的源快照進行一次可分發(fā)的連編,需要多少個步驟?在一個優(yōu)秀的團隊通常會維護一個腳本,通過運行它,可以從頭至尾地進行一次檢查;重新編譯每一個代碼行;并按其不同的版本、語言以及條件編譯語句#ifdef來生成EXE文件;創(chuàng)建安裝包;并且生成最終的表現介質——CD-ROM、下載頁面等。如果這樣的過程需要多步才能完成,那么就很可能出錯,并且越接近產品分發(fā)時刻,就越希望修復“最后故障”、形成最終EXE文件等操作所經歷的周期會更短一些。JOEL指出不應該有20步。

    3、無論誰中斷了連編,都要負責修復連編操作,直到有別人中斷連編過程為止。這是JOEL在Excel開發(fā)團隊采用一種激勵不要中斷連編過程的機制,同時也讓大家弄清楚連編是如何進行的。

    4、故障信息數據庫。一個可用的故障信息數據庫必須至少為每個故障包含如下數據:重現故障的完整步驟、預期功能、觀察到的(故障)行為、要分配誰、是否已修復。

    5、發(fā)現故障到準備修復故障之間等待的時間越長,付出的代價(時間與金錢上)就越大。微軟普遍采取了一種稱之為零缺陷法(zero defects methodology)的措施。零缺陷意味著在任意給定時間點,最需要優(yōu)先去做的事情是在寫任何新的代碼之前消除故障。這也可以是一個衡量進度表的標準:如果你已經修復了所有已經知道的故障,并且剩下的就是編寫新代碼,那么進度表就是極其準確的。

    6、擁有一個好的進度表的優(yōu)點:保證它始終反映最新的項目情況;迫使你做出將要實現什么功能的決定,然后強迫你揀出最不重要的功能,并加以剪除而不是陷入功能沼澤地帶(也就是功能范圍蔓延開來)。

    7、“沒有規(guī)格說明書就沒有代碼”。不是根據規(guī)格說明書開發(fā)出來的軟件通常會因設計欠佳而停滯不前,從而使進度失去控制。

    8、JOEL舉了一個比較好的例子:Mutt記不住Unicode版本的strcpy函數的名字。他可以查詢該函數,這要花費30秒鐘的時間;他也可以詢問Jeff,這得用去15秒鐘的時間。既然緊靠Jeff坐著,他選擇詢問Jeff。不過,Jeff因此顯得心煩意亂而丟掉了15分鐘的產出(僅僅為了節(jié)省Mutt 15秒鐘)。然而如果當Mutt去詢問Jeff需要45秒鐘的時間時,Mutt就會去選擇自己去查詢了。

    9、可以顯著地提高開發(fā)效率,同時程序員是容易通過給他們提供最棒最新的東西而得到滿足的,這是一種遠比通過支付極富競爭力的薪力來促使他們?yōu)槟愎ぷ骱玫枚嗟耐緩健?/p>

    10、沒有專門的測試人員,意味著要么分發(fā)充滿故障的產品,要么通過讓價值$100/小時的程序員去做那些能夠讓價值$30/小時的測試人員完成的工作。

    11、一定要讓應聘者編寫一些代碼。

    12、走廊可用性測試指的是,在走廊里隨便抓一個從身邊走過的人,要他試著使用你所編寫的代碼。如果對5個人進行了這類測試,那么就可以了解隱藏在代碼中的95%的可用性問題。

    主站蜘蛛池模板: 亚洲日本一区二区三区在线不卡| 亚洲高清视频在线观看| 西西人体免费视频| 亚洲电影免费观看| 免费A级毛片无码A∨男男| 国内精品免费视频精选在线观看| 亚洲av午夜精品无码专区| 国产成人高清亚洲| 国产1000部成人免费视频| 国产亚洲视频在线观看网址| 亚洲综合无码一区二区| 四虎永久成人免费影院域名| 外国成人网在线观看免费视频 | 亚洲AV永久无码精品一福利| 亚洲日韩在线第一页| 全免费毛片在线播放| 黄床大片免费30分钟国产精品| 亚洲国产午夜精品理论片| 亚洲精品黄色视频在线观看免费资源| 在线成人爽a毛片免费软件| 特级毛片全部免费播放| 亚洲精品在线播放| 亚洲精品中文字幕乱码三区| 99视频在线精品免费观看6| 免费看一区二区三区四区| 国产精品无码亚洲一区二区三区| 久久亚洲AV无码精品色午夜麻| 又粗又硬免费毛片| 免费无码AV片在线观看软件| 在线看片免费人成视频福利| 亚洲XX00视频| 亚洲高清视频免费| 牛牛在线精品观看免费正| 亚洲AV人人澡人人爽人人夜夜| 99在线视频免费观看视频| 免费看一级毛片在线观看精品视频 | 免费在线观看日韩| 亚洲一区免费观看| 男人的天堂av亚洲一区2区| 不卡精品国产_亚洲人成在线| **毛片免费观看久久精品|