• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 編寫JUnit測試的理由和幾條測試習慣

    發表于:2007-09-23來源:作者:點擊數: 標簽:junit
    編寫 JUnit 測試的理由 · JUnit 在保證 質量 的同時提高代碼編寫速度 看起來不可思議,但是事實。使用JUnit后,花在調試的時間就會更少,在改變代碼的時候更有信心。有了這種信心,你可以在重構代碼,添加新特性的時候更有闖勁。 如果沒有測試,那么重構或
    編寫JUnit測試的理由
    ·         JUnit在保證質量的同時提高代碼編寫速度
    看起來不可思議,但是事實。使用JUnit后,花在調試的時間就會更少,在改變代碼的時候更有信心。有了這種信心,你可以在重構代碼,添加新特性的時候更有闖勁。
    如果沒有測試,那么重構或者添加新特性很容易成為妄想,因為你無法知曉什么地方會被破壞掉。如果擁有完善的測試套,在改變代碼后,立即運行測試,這樣就可以得到信心,你的改變沒有破壞任何東西。當運行測試時,如果檢測出bug,因為代碼在腦海里還很清楚,所以bug很容易被解決。用JUnit編寫測試,可以使你的代碼編寫達到極限速度,而且快速定位bug。
    ·         JUnit 及其簡單
    測試應該很簡單,這一點很關鍵。如果測試太復雜,花費太多時間,編寫測試就不太值得了。使用JUnit,你可以快速的寫出測試代碼來驗證程序。隨著軟件的增長相應的增加測試代碼。
    使用JUnit,運行測試也變得很簡單而且很快速。
    ·         JUnit 驗證它們自己的結果,而且能夠立即反饋
    JUnit測試能夠自動運行,它們檢查自身的結果。運行測試后,你會立即得到可視化的反饋,測試通過或者失敗。不需要手工來輸出測試結果報告。
    ·         JUnit 測試可以被組合為不同層次的測試套
    JUnit測試可以被整合到測試套中,測試套可以包含測試用例或者其他的測試套。JUnit測試的組合行為使你可以聚集一組測試用例為一個測試套,也可以將多個測試套組合到一個測試套中。你可以運行任何一個層次的測試套。
    ·         編寫 JUnit 測試代價很小
    使用JUnit測試框架,你可以代價很小的編寫測試,而且享受著測試框架提供的便利。寫測試簡單到,就是編寫一個方法,使用一下要測試的代碼,定義一個期望的結果。
    ·         JUnit 測試增強了軟件的穩定性。
    測試越少,代碼的穩定性就越差。測試驗證了軟件的穩定性,保證了更改沒有在項目中引起波紋效應。
     
    ·         JUnit 測試是程序員的測試
    JUnit測試是用來提高程序員的效率和代碼質量。與功能測試不同,功能測試是將整個系統視作黑盒,從整體保證軟件有效。單元測試是用來測試實現基本功能的代碼塊。
    程序員編寫并維護JUnit測試代碼。當一次開發迭代完成,測試代碼也要同步的更新,作為對此次迭代的質量驗證。
    ·         JUnit 是免費的
    測試習慣
    編寫JUnit測試時,確保以下牢記在心:
    ·         只用測試到的地方才會運行的很好。
    ·         測一點,寫一點, 測一點,寫一點...
    ·         取保所有的測試都要執行。
    ·         最少每天一次運行所有的測試用例 (或一晚)。
    ·         為最有破壞可能性的代碼編寫完善的測試。
    ·         為你最有可能獲得回報的地方編寫測試。
    ·         如果你總是在調試某個地方,編寫JUnit測試自動驗證結果來代替調試。
    ·         如果有bug被報告,編寫測試來暴露這個bug。
    ·         有人讓你幫助調試的時候,幫助他寫測試用例。
    ·         在編寫代碼之前編寫單元測試代碼,只有測試失敗的時候才寫新代碼。寫最簡單的新代碼讓測試通過。
     

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>