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

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

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    單元測試小技巧[3]

    發布: 2010-6-01 11:32 | 作者: 不詳 | 來源: 領測測試網采編 | 查看: 37次 | 進入軟件測試論壇討論

    領測軟件測試網

      單元測試小技巧[3]   軟件測試

      確保你的測試寫的越簡單越好,一個單元測試一般不包括一個if switch或者其他任何的邏輯聲明。如果你發現你自己在你的測試中寫了一些類似于邏輯聲明的東西,這是一個好的機會來測試一個以上的事件,在做這樣的操作的時候,你會使得你的測試比讀和維護更加的困難,在生產代碼中同樣如此。保持你的測試簡單,你在生產代碼中發現bug要勝于在你的單元測試中。

      使測試易于運行 如果你的測試并不容易運行,那么人們不會信任它。你的應用程序最有可能有下面兩種類型的測試:

      • 測試在沒有任何配置的情況下平穩的運行(這種類型的測試,我們可以在任何的機器上,在代碼的最終版上或者在源控制上測試,并且做到沒有任何故障的測試)

      • 在運行前需要一些配置.

      第一種類型是你應該模仿的,第二種類型是你通常做的,尤其你如果你是一個新的單元測試。如果你發現你自己測試時有很多的特殊的需求,現在是正常的,但是重要的一點就是你要隔離出兩個組讓他們能夠單獨的去做測試。

      我們的想法是任意一個開發者都應該有能力修改和運行一些不需要設置特殊的配置的測試進行測試。如果這有一些測試需要在運行前有特殊的關注,開發者應該知道他們,然后他可以花一些時間學習這些測試的方法。因為很多的開發者比較的懶(當然,不是你),你可以設想,他們不會去做那些特殊的設置,相反,他們會讓測試失敗因為他們有更好的事情去做。

      當用戶讓測試失敗時,他們開始考慮他們不能夠信任這些測試了。很難說是否測試可以在一個中找到一個正式的bug或者只是一個錯誤的定位。開發者可能不明白為什么測試者會在一開始就執行失敗。一旦他們不再信任你的測試,開發者將會停止運行它們,那么bug就會駐留在程序中,之后一連串的麻煩就來了。。。

      為了避免這件事情,確認你總是有一個組準備好了去測試,測試程序則是可以安全運行,可信任的。把那些屬于配置挑戰組的測試放到不同的文件夾,樹或者工程中,同時標記特殊的說明指明他們在運行前需要做什么。完成這些后,開發者可以不投入時間去配置就開始測試工作。當他們有時間和需要時,他們也可以配置,運行更多的測試環節。

      創建維護測試

      我們應該試著避免測試私有或保護成員。這篇文章也許能夠幫助一些人解決一部分問題,但是我很堅決相信百分之九十九的時間,你可以全面的測試一個類,通過編寫一些與它的獨立公共接口相反的單元測試。測試私有成員可以使你的測試更加脆弱,如果這個需要被測試的類的一些內在方面略有改動的話。你應該使用通過調用一些代碼里別處的公共功能這一方法去測試私有功能。當你依然能夠確定全部功能并沒有改變的時候,僅僅測試公共成員會導致測試遭受常量代碼的因式分解以及內部的執行情況改變。

      在可能的時候,應該重新使用你的創造物,處理過程,和聲明代碼。不要在一個單元測試中直接的創建類的實例。如果你在任何并不包含在此單元測試框架中的類前面看到這個單詞“new”,你應該考慮一下將你創造的代碼放在一個特殊的整體方法之中,它可以為你創建一個對象實例。你可以到時再重新使用這個方法來獲得你的測試在其他測試之中的最新實例。這樣可以幫助你來保持這個測試維護所需的時間,然后在測試進行的時候,從對代碼無法預料的改變之中保護你的測試。作為一個例子,Figure 1展示了一對簡單的測試,它使用了一個Calc類。

      假設你有20,或者你甚至有100,與Calc類做相反測試,所有這些看起來令人吃驚的相似,F在一個計劃的改變迫使你不得不刪除默認的Calc構造器并且使用一個含有一些參數的不同的構造器。馬上,你所有的測試就被暫停了。你可能可以很輕易的發現問題的關鍵并修復它,但你也可能做不到。最主要的問題是你將會浪費很多寶貴時間在修理你的測試上面。如果你在你的測試類之中使用一個整體的方法去創建Calc 實例,就像Figure 2所顯示的那樣,這些就并不是個問題。

      我已經對測試做了一些改變已使它們能夠具有更多可維護性。首先,我將新創建的代碼遷移至可以再度使用的整體方法之中。這就意味著我只需僅僅改變一個簡單的方法以使得在這個測試類中的所有測試在一個新的構造器中的能夠正常的工作。另外一個為創造問題而設的簡單解決方法是把創作物遷移到測試類的方法之中。不幸運的是,這個能夠很好的工作僅僅在你重新使用一個對象并在一些測試中把它當作一個局部類變量。如果你僅僅為一些測試使用它(部分相關成員),你倒不如在測試中將它們實例化,并且使它們更具易讀性。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: 單元 技巧

    21/212>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品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>