<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    戀戀冬季

    有你的冬天很溫暖

    單元測試的基本方法

    ??? 單元測試的對象是軟件設計的最小單位——模塊。單元測試的依據是詳細設描述,單元測試應對模塊內所有重要的控制路徑設計測試用例,以便發現模塊內部的錯誤。單元測試多采用白盒測試技術,系統內多個模塊可以并行地進行測試。
    單元測試任務包括
    ???
    1 模塊接口測試
    ???
    2 模塊局部數據結構測試 ;
    ???
    3 模塊邊界條件測試 ;
    ???
    4 模塊中所有獨立執行通路測試
    ??? 5 模塊的各條錯誤處理通路測試 。

    模塊接口測試是單元測試的基礎。只有在數據能正確流入、流出模塊的前提下,其他測試才有意義。測試接口正確與否應該考慮下列因素:
       1 輸入的實際參數與形式參數的個數是否相同;
       2 輸入的實際參數與形式參數的屬性是否匹配;
       3 輸入的實際參數與形式參數的量綱是否一致;
       4 調用其他模塊時所給實際參數的個數是否與被調模塊的形參個數相同;
       5 調用其他模塊時所給實際參數的屬性是否與被調模塊的形參屬性匹配;
       6 調用其他模塊時所給實際參數的量綱是否與被調模塊的形參量綱一致;
       7 調用預定義函數時所用參數的個數、屬性和次序是否正確;
       8 是否存在與當前入口點無關的參數引用;
       9 是否修改了只讀型參數;
       10? 對全程變量的定義各模塊是否一致;
       11 是否把某些約束作為參數傳遞。

    如果模塊內包括外部輸入輸出,還應該考慮下列因素:
       1 文件屬性是否正確;
       2 OPEN/CLOSE 語句是否正確;
       3 格式說明與輸入輸出語句是否匹配;
       4 緩沖區大小與記錄長度是否匹配;
       5 文件使用前是否已經打開;
       6 是否處理了文件尾;
       7 是否處理了輸入 / 輸出錯誤;
       8 輸出信息中是否有文字性錯誤;

    檢查局部數據結構是為了保證臨時存儲在模塊內的數據在程序執行過程中完整、正確。局部數據結構往往是錯誤的根源,應仔細設計測試用例,力求發現下面幾類錯誤:
       1 不合適或不相容的類型說明;
       2 變量無初值;
       3 變量初始化或省缺值有錯;
       4 不正確的變量名(拼錯或不正確地截斷);
       5 出現上溢、下溢和地址異常。

    除了局部數據結構外,如果可能,單元測試時還應該查清全局數據(例如 FORTRAN 的公用區)對模塊的影響。

    在模塊中應對每一條獨立執行路徑進行測試,單元測試的基本任務是保證模塊中每條語句至少執行一次。此時設計測試用例是為了發現因錯誤計算、不正確的比較和不適當的控制流造成的錯誤。此時基本路徑測試和循環測試是最常用且最有效的測試技術。計算中常見的錯誤包括:
       1 誤解或用錯了算符優先級;
       2 混合類型運算;
       3 變量初值錯;
       4 精度不夠;
       5 表達式符號錯。

    比較判斷與控制流常常緊密相關,測試用例還應致力于發現下列錯誤:
       1 不同數據類型的對象之間進行比較;
       2 錯誤地使用邏輯運算符或優先級;
       3 因計算機表示的局限性,期望理論上相等而實際上不相等的兩個量相等;
       4 比較運算或變量出錯;
       5 循環終止條件或不可能出現;
       6 迭代發散時不能退出;
       7 錯誤地修改了循環變量。

    一個好的設計應能預見各種出錯條件,并預設各種出錯處理通路,出錯處理通路同樣需要認真測試,測試應著重檢查下列問題:
       1 輸出的出錯信息難以理解;
       2 記錄的錯誤與實際遇到的錯誤不相符;
       3 在程序自定義的出錯處理段運行之前,系統已介入;
       4 異常處理不當;
       5 錯誤陳述中未能提供足夠的定位出錯信息。

    邊界條件測試是單元測試中最后,也是最重要的一項任務。眾的周知,軟件經常在邊界上失效,采用邊界值分析技術,針對邊界值及其左、右設計測試用例,很有可能發現新的錯誤。

    一般認為單元測試應緊接在編碼之后,當源程序編制完成并通過復審和編譯檢查,便可開始單元測試。測試用例的設計應與復審工作相結合,根據設計信息選取測試數據,將增大發現上述各類錯誤的可能性。在確定測試用例的同時,應給出期望結果。

    應為測試模塊開發一個驅動模塊( driver )和(或)若干個樁模塊( stub , 下圖顯示了一般單元測試的環境。驅動模塊在大多數場合稱為“主程序”,它接收測試數據并將這些數據傳遞到被測試模塊,被測試模塊被調用后,“主程序”打印“進入 - 退出”消息。

    驅動模塊和樁模塊是測試使用的軟件,而不是軟件產品的組成部分,但它需要一定的開發費用。若驅動和樁模塊比較簡單,實際開銷相對低些。遺憾的是,僅用簡單的驅動模塊和樁模塊不能完成某些模塊的測試任務,這些模塊的單元測試只能采用下面討論的綜合測試方法。

    提高模塊的內聚度可簡化單元測試,如果每個模塊只能完成一個,所需測試用例數目將顯著減少,模塊中的錯誤也更容易發現。

    posted on 2006-06-07 17:31 戀戀冬季 閱讀(349) 評論(0)  編輯  收藏 所屬分類: 測試資料

    主站蜘蛛池模板: 亚洲一区免费在线观看| 免费看黄网站在线看| 99久久久国产精品免费牛牛| 亚洲VA成无码人在线观看天堂| 污视频网站在线免费看| 国产一区二区三区免费视频| 免费的黄色的网站| 亚洲成AV人在线观看网址| 四虎成人精品国产永久免费无码| 在线观着免费观看国产黄| 黄页网站在线观看免费| 亚洲综合国产精品第一页| 国产精品免费大片一区二区| 亚洲国产精品无码AAA片| 亚洲国产日韩女人aaaaaa毛片在线| 国产亚洲人成在线播放| 免费国产成人午夜私人影视 | 免费看AV毛片一区二区三区| 亚洲人成色在线观看| 又粗又大又长又爽免费视频| 国产成人自产拍免费视频| 亚洲AV无码久久精品色欲| 182tv免费视视频线路一二三| 久久精品亚洲福利| 少妇性饥渴无码A区免费| 图图资源网亚洲综合网站| 皇色在线视频免费网站| 粉色视频免费入口| 国产亚洲一区二区三区在线观看| 18成禁人视频免费网站| 亚洲AV无码一区二区一二区| 亚洲色中文字幕无码AV| 99久久国产热无码精品免费| 久久亚洲AV成人出白浆无码国产 | 日韩精品无码人妻免费视频 | 久久精品蜜芽亚洲国产AV| 欧美最猛性xxxxx免费| 一级毛片免费观看不收费| 少妇中文字幕乱码亚洲影视| 日本特黄a级高清免费大片| 成人黄网站片免费视频|