比較判斷與控制流常常緊密相關,測試用例還應致力于發現下列錯誤:
1不同數據類型的對象之間進行比較;
2錯誤地使用邏輯運算符或優先級;
3因計算機表示的局限性,期望理論上相等而實際上不相等的兩個量相等;
4比較運算或變量出錯;
5循環終止條件或不可能出現;
6迭代發散時不能退出;
7錯誤地修改了循環變量。
一個好的設計應能預見各種出錯條件,并預設各種出錯處理通路,出錯處理通路同樣需要認真測試,測試應著重檢查下列問題:
1輸出的出錯信息難以理解;
2記錄的錯誤與實際遇到的錯誤不相符;
3在程序自定義的出錯處理段運行之前,系統已介入;
4異常處理不當;
5錯誤陳述中未能提供足夠的定位出錯信息。
邊界條件測試是單元測試中最后,也是最重要的一項任務。眾的周知,軟件經常在邊界上失效,采用邊界值分析技術,針對邊界值及其左、右設計測試用例,很有可能發現新的錯誤。
單元測試過程
一般認為單元測試應緊接在編碼之后,當源程序編制完成并通過復審和編譯檢查,便可開始單元測試。測試用例的設計應與復審工作相結合,根據設計信息選取測試數據,將增大發現上述各類錯誤的可能性。在確定測試用例的同時,應給出期望結果。
應為測試模塊開發一個驅動模塊(driver)和(或)若干個樁模塊(stub),下圖顯示了一般單元測試的環境。驅動模塊在大多數場合稱為“主程序”,它接收測試數據并將這些數據傳遞到被測試模塊,被測試模塊被調用后,“主程序”打印“進入-退出”消息。
驅動模塊和樁模塊是測試使用的軟件,而不是軟件產品的組成部分,但它需要一定的開發費用。若驅動和樁模塊比較簡單,實際開銷相對低些。遺憾的是,僅用簡單的驅動模塊和樁模塊不能完成某些模塊的測試任務,這些模塊的單元測試只能采用下面討論的綜合測試方法。
提高模塊的內聚度可簡化單元測試,如果每個模塊只能完成一個,所需測試用例數目將顯著減少,模塊中的錯誤也更容易發現。
文章來源于領測軟件測試網 http://www.kjueaiud.com/