什么是軟件測試(software testing)?(8)

發表于:2014-09-24來源:uml.org.cn作者:不詳點擊數: 標簽:軟件測試
如果模塊內包括外部輸入輸出,還應該考慮下列因素: 1 文件屬性是否正確; 2 OPEN/Close語句是否正確; 3 格式說明與輸入輸出語句是否匹配; 4 緩沖區大小與

  如果模塊內包括外部輸入輸出,還應該考慮下列因素:

  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),下圖顯示了一般單元測試的環境。驅動模塊在大多數場合稱為“主程序”,它接收測試數據并將這些數據傳遞到被測試模塊,被測試模塊被調用后,“主程序”打印“進入-退出”消息。

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

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

  綜合測試的基本方法

  時常有這樣的情況發生,每個模塊都能單獨工作,但這些模塊集成在一起之后卻不能正常工作。主要原因是,模塊相互調用時接口會引入許多新問題。例如,數據經過接口可能丟失;一個模塊對另一模塊可能造成不應有的影響;幾個子功能組合起來不能實現主功能;誤差不斷積累達到不可接受的程度;全局數據結構出現錯誤,等等。綜合測試是組裝軟件的系統測試技術,按設計要求把通過單元測試的各個模塊組裝在一起之后,進行綜合測試以便發現與接口有關的各種錯誤。

  某設計人員習慣于把所有模塊按設計要求一次全部組裝起來,然后進行整體測試,這稱為非增量式集成。這種方法容易出現混亂。因為測試時可能發現一大堆錯誤,為每個錯誤定位和糾正非常困難,并且在改正一個錯誤的同時又可能引入新的錯誤,新舊錯誤混雜,更難斷定出錯的原因和位置。與之相反的是增量式集成方法,程序一段一段地擴展,測試的范圍一步一步地增大,錯誤易于定位和糾正,界面的測試亦可做到完全徹底。下面討論兩種增量式集成方法。

原文轉自:http://www.uml.org.cn/Test/test-bk.asp

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97