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

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

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

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

    單元測試的小技巧介紹和舉例

    發布: 2008-10-22 09:26 | 作者: 不詳 | 來源: 測試時代采編 | 查看: 1071次 | 進入軟件測試論壇討論

    領測軟件測試網

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


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


        順便一提的是,請注意,我已經將方法命名為Factory_CreateDefaultCalc 。我很喜歡將我測試中的任何幫助方法用特殊的前綴來命名,這樣我就能很輕易的掌握它是做什么用的。這樣對易讀性也是非常有幫助的。


        我的第二個改變是重新使用測試中的聲明代碼,并將這段代碼遷移到一個確認方法之中。所謂確認方法是你測試中的一個可再度使用的方法, 這個方法包含了一個聲明語句但是它可以接受不同輸入和在輸入的基礎上進行校驗。當你在不同輸入或者不同的初始狀態下一次又一次的聲明同一事物時,你可以使用確認方法。這一方法的優點是既使在一個不同的方法里面聲明,如果這個聲明失敗了你將可以繼續保有一個異常處理,而且原始調用測試將會顯示在測試失敗輸出窗口之中。


        我也在Calc 中傳遞實例而不是使用一個局部變量,因此我知道我經常傳遞一個實例,而且這個實例是調用測試將其初始化的。當你想要改變對象狀態時你可能想要做同樣的事情,舉個例子來說,當在測試下或者在將會傳遞給測試的對象下配置特殊對象時,可以使用特殊的Configure_XX方法。這些方法應該能夠解釋他們配置一個對象將會用來做什么用。Figure 3之中的代碼就是以上方法的實例。


        這個測試擁有很多設置代碼可以用來處理向注冊管理器對象中添加初始狀態,它是這個測試類之中的成員。在此的確也有一些重復。Figure 4顯示了在初始代碼之外這些事例在因式分解之后將會如何變化。


        修訂測試具有非常高的可讀性和穩定性。僅僅需要注意的是不要那么的refactor你的測試,他們可能會以一個單一的,不可讀的代碼行作為結束。應該注意的是我在這里可能依然使用一個Verify_XX 方法,但是這并不是我真正要在這里加以說明的。


    消除測試之間的依賴關系

       

    延伸閱讀

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


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(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>