<ruby id="rxdll"></ruby><strike id="rxdll"></strike>

    <rp id="rxdll"></rp>
      <del id="rxdll"><meter id="rxdll"></meter></del>
      <pre id="rxdll"><font id="rxdll"></font></pre>
        <pre id="rxdll"></pre>
      <p id="rxdll"><thead id="rxdll"></thead></p><dl id="rxdll"><progress id="rxdll"><form id="rxdll"></form></progress></dl>

      <ol id="rxdll"><thead id="rxdll"><track id="rxdll"></track></thead></ol>
      <i id="rxdll"><dfn id="rxdll"></dfn></i>
      <font id="rxdll"><meter id="rxdll"></meter></font>

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

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

        軟件開發錯城中的單元測試方法

        發布: 2009-2-12 10:59 | 作者: 不詳 | 來源: 測試時代采編 | 查看: 45次 | 進入軟件測試論壇討論

        領測軟件測試網 單元測試也稱為模塊測試,在模塊編寫完成且無編譯錯誤后就可以進行。如果選用機器測試,一般用白盒測試法;多個模塊可以同時進行。  
            單元測試主要從模塊的以下5個特征著手進行檢查。
            (1)模塊接口。模塊的接口保證了測試模塊的數據流可以正確地流人、流出。在測試中應檢查以下要點: 
            .測試模塊的輸入參數和形式參數在個數、屬性、單位上是否一致。
            ·調用其他模塊時所給出的實際參數和被調用模塊的形式參數在個數、屬性、單位上是否一致。
            ·調用標準函數時所用的參數在屬性、數目和順序上是否正確。 
            ·全局變量在各模塊中的定義和用法是否一致。 
            .輸入是否僅改變了形式參數。
            ·開/關的語句是否正確。
            ·規定的I/O格式是否與輸入輸出語句一致。
            。在使用文件之前是否已經打開文件或是使用文件之后是否已經關閉文件。
            (2)局部數據結構。在單元測試中,局部數據結構出錯是比較常見的錯誤,在測試剛應重點考慮以下因素:
            ·變量的說明是否合適。 
            ·是否使用了尚未賦值或尚未初始化的變量。
            ·變量的初始值或默認值是否正確。
            ·變量名是否有錯(例如拼寫錯)。 
            (3)重要的執行路徑。在單元測試中,.對路徑的測試是最基本的任務。由于不能進行窮舉測試,需要精心設計測試用例來發現是否有計算、比較或控制流等方面的錯誤。
            ·計算方面的錯誤:算術運算的優先次序不正確或理解錯誤;精度不夠;運算對象的類型不匹配;算法錯;表達式的符號表示不正確等。 
            ·比較和控制流的錯誤:本應相等的量由于精度造成不相等;不同類型進行比較邏輯運算符不正確或優先次序錯誤;循環終止不正確(如多循環一次或少循環一次)、死循環;不恰當地修改循環變量;當遇到分支循環時,出口錯誤等。
            (4)出錯處理。好的設計應該能預測到出錯的條件并且有出錯處理的途徑。雖然計算機機可以顯示出錯信息的內容,但仍需要程序員對出錯進行處理,保證其邏輯的正確性以便于用戶維護。
            (5)邊界條件。邊界條件的測試是單元測試的最后工作,也是非常重要的工作。毫件容易在邊界出現錯誤。塊進行測試時,需要開發兩種模塊:
            ·驅動模塊,相當于一個主程序,接收測試用例的數據,將這些數據送到測試槨
            輸出測試結果。 
            ·樁模塊,也稱為存根模塊。樁模塊用來代替測試模塊中所調用的子模塊,其進行少量的數據處理,目的是為了檢驗人口,輸出調用和返回的信息。 提高模塊的內聚度可以簡化單元測試。如果每個模塊只完成一種功能,對于具一塊來講,所需的測試方案數據就會顯著減少,而且更容易發現和預測模塊中的錯誤。
            2)組裝測試    . [Page]
            組裝測試也稱為集成測試,就是把模塊按系統設計說明書的要求組合起來進行即使所有模塊都通過了測試,但在組裝之后,仍可能會出現下列問題:
            ·穿過模塊的數據丟失; 
            ·一個模塊的功能對其他模塊造成有害的影響;
            ·各個模塊組裝起來沒有達到預期的功能;
            ·全局數據結構出現問題;    .
            ·單個模塊的誤差可以接受,但模塊組合后,可能會出現誤差累積,最后到不能壬的程度,所以需要組裝測試 。
            通常組裝測試有兩種方法:一種是分別測試各個模塊,再把這些模塊組合起來主整體測試,即非增量式集成。另一種是把下一個要測試的模塊組合到已測試好的模塊測試完后再將下一個需要測試的模塊組合起來,進行測試,逐步把所有模塊組合在一并完成測試,即增量式集成。非增量式集成可以對模塊進行并行測試,能充分利用人并加快測試進度。但這種方法容易造成混亂,出現錯誤不容易查找和定位。增量的范圍一步步擴大,錯誤容易定位,而且已測試的模塊可在新的條件下再測試,測由徹底。
            3)確認測試    
            經過組裝測試之后,軟件就被集成起來,接口方面的問題已經解決,將進人軟件的最后一個環節一確認測試。確認測試的任務就是進一步檢查軟件的功能和性能是軍用戶要求的一樣。系統方案說明書描述了用戶對軟件的要求,所以是軟件有效性驗證標準,也是確認測試的基礎。
            確認測試,首先要進行有效性測試以及軟件配置審查,然后進行驗收測試和安裝試,經過管理部門的認可和專家的鑒定后,軟件即可以交給用戶使用。
            ·有效性測試,就是在模擬環境下,通過黑盒測試檢驗所開發的軟件是否與需習格說明書一致。在設計測試用例時,除了檢測軟件的功能和性能之外,還需要    成,但最好是沒有參加該項目的有經驗的軟件設計人員。在所有測試用例完成二后,若發現測試結果與預期的不符,這時要列出缺陷清單。在這個階段才發現白嚴重錯誤,一般很難在預定的時間內糾正,需要與用戶協商,尋找妥善解決問題的辦法。 
            ·軟件配置審查,主要是檢查軟件(源程序、目標程序)和文檔(包括面向開發人員習用戶的文檔)是否齊全以及分類是否有序。確保文檔、資料的正確和完善,以便護階段使用。
            ·驗收測試,是以用戶為主的測試。軟件開發人員和質量保證人員也應該參加。驗收測試之前,需要對用戶進行培訓,以便熟悉該系統。驗收測試的測試用例用戶參與設計,主要驗證軟件的功能、性能、可移植性、兼容性、容錯性等,測試掃描一般采用實際數據。

        延伸閱讀

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

        TAG: 單元 軟件開發


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

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

        国产女主播精品_国产片婬乱18一级毛片视频_国产午夜激无码av毛片不卡_国产精品欧美久久久天天影院
          <ruby id="rxdll"></ruby><strike id="rxdll"></strike>

          <rp id="rxdll"></rp>
            <del id="rxdll"><meter id="rxdll"></meter></del>
            <pre id="rxdll"><font id="rxdll"></font></pre>
              <pre id="rxdll"></pre>
            <p id="rxdll"><thead id="rxdll"></thead></p><dl id="rxdll"><progress id="rxdll"><form id="rxdll"></form></progress></dl>

            <ol id="rxdll"><thead id="rxdll"><track id="rxdll"></track></thead></ol>
            <i id="rxdll"><dfn id="rxdll"></dfn></i>
            <font id="rxdll"><meter id="rxdll"></meter></font>

              <mark id="rxdll"><dfn id="rxdll"></dfn></mark>