• <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次 | 進入軟件測試論壇討論

    領測軟件測試網
    關鍵字:單元測試

     單元測試的信任

        在這個部分,我將略述出一些最通用的信任,這些信任來自于在使用大量單元測試獲得的好處和解釋為什么這些信任通常不是必須真實的。然后我們會幫助您在您的工程中擁有這些信任。


        更加簡單的跟蹤Bug? 當然這并不是必須的,那么您怎么知道您的測試是正確的? 是否存在在一些測試環節測試失敗的情況?另外您又如何知道您的測試覆蓋了系統中多少的代碼量?是否測試到了程序中的錯誤,錯誤又在哪里等等的問題。


        當你在你的單元測試中發現了bug后又會發生什么事情哪?你會突然間得到很多與愿意錯誤的反饋,bug被發現,但是問題并不在你測試的代碼中。你的測試的邏輯存在一個bug,因此測試失敗了。這些bug也是您最難被檢查出來的,因為您通常會去檢查您的應用程序而不會去檢測你的測試環節。在這部分中,我會展示給你如何確認大量的單元測試,事實上就是使得跟蹤bug變得更加容易。


        代碼更加便于維護 從最終點考慮,你可以傾向于認為這些信任并不是必須的,當然你是對的,讓我們去說,代碼中每個邏輯方法至少要有一個測試方法(當然,你可能擁有一個以上的方法)在一個好的測試覆蓋的工程中,大概有百分之六十的代碼是能夠得到單元測試的,現在不得不考慮到測試也是要被維護的,如果針對一個復雜的邏輯方法你有20個測試,那么當你向這個方法添加一個參數時會發生什么事情哪?測試無法編譯。當你修改了類的結構的時候同樣會發生這樣的事情。這時你突然發現為了能讓你的應用程序繼續工作你自己需要改變大量的測試。當然這會花費你大量的時間。


        為了使這個信任確認下來,你需要確認你的測試是便于維護的。保持DRY規則寫入:不要重復你自己。我們將更加接近的來看這個問題。


        代碼更加容易被理解? 單元測試的好處通常并非是人們最初所期待的,在一個工程中考慮修改一些你之前從沒有看過的代碼(比方說,一個特殊的類或者方法).你將如何動手處理這些代碼?你可能需要在項目中去瀏覽這些特定的類或者方法使用的代碼,理所當然,單元測試就是這樣例子的一個很好的場所。同時,當正確寫入的時候,單元測試可以為工程提供一個API文件的容易讀取的設置,使得文檔的處理和代碼的理解對于整個團隊中的新老開發者一樣的簡單,便捷。然而,這些只能在測試是易讀的和容易理解的情況下才能被確認,這個規則很多的單元測試開發者并不會遵循。我將詳述這個信任,然后在這篇文章的易讀測試的部分給你展現如何在去寫易讀的單元測試。


    測試正確的事情

     

    ' returns the sum of the two numbers
    Function Sum(ByVal a As Integer, ByVal b As Integer) As Integer
    你可以向如下的方式寫一個失敗測試:
    _
    Public Sub Sum_AddsOneAndTwo()
    Dim result As Integer = Sum(1, 2)
    Assert.AreEqual(4, result, "bad sum");
    End Sub


    初看上去這個處理像是一個寫失敗測試的好的方法,它完全錯失了你寫錯誤測試的初始點。


        一個失敗測試驗證了在代碼中存在一些錯誤,當你的測試完成后這個測試應該是通過的,現在的例子中,無論如何,測試都將會失敗,即使是代碼完成,因為測試邏輯上不是正確的。如果希望測試通過測需要測試自身進行修改――而不是程序的代碼的改變(當程序代碼改變的時候,是test-first規劃的意圖)簡短來說,這個測試不會反映出程序代碼完成后的最終的結果,因此這個不是一個好的測試。


       

    延伸閱讀

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

    TAG: 單元 技巧 舉例


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