設計軟件測試用例的一般方法續(7)

發表于:2012-04-26來源:不祥作者:caianying點擊數: 標簽:測試用例
為配置測試生成測試用例 在典型的分布式系統中,允許存在許多種受支持的硬件和軟件組合。為了核實測試目標在不同的配置情況下(如不同的操作系統、

  為配置測試生成測試用例

  在典型的分布式系統中,允許存在許多種受支持的硬件和軟件組合。為了核實測試目標在不同的配置情況下(如不同的操作系統、瀏覽器或 CPU 的速度)能否正常工作或執行,應該對此進行測試。此外,測試還應涵蓋構件的組合,以便檢測在不同構件的交互中產生的缺陷。例如,確保由應用程序安裝的 DDL 版本不會與另一個應用程序需要的相同 DDL 的版本發生沖突。

  采用下列指南來生成用于配置測試的測試用例:

  確保對每個關鍵配置,應至少存在一個測試用例可用于對其進行確定。這是通過確定測試目標的環境所要求的硬件和軟件配置以及確定這些配置的優先級來完成的。應確保最先測試最常見的配置,包括:

  打印機支持

  網絡連接 - 局域網和廣域網

  服務器配置 - 服務器驅動程序、服務器硬件

  臺式機和/或服務器上安裝的其他軟件

  所有已安裝軟件的軟件版本

  確保對于每個可能有問題的配置至少存在一個測試用例。這些配置可能包括:

  具有最低性能的硬件。

  歷史上存在兼容性問題的共駐內存的軟件。

  通過最慢的 LAN/WAN 連接訪問服務器的客戶機。

  資源不足(緩慢的 CPU 速度、最小的內存或分辨率,磁盤空間不足等等)

  為安裝測試生成測試用例

  安裝測試需要核實測試目標可以在所有可能的安裝情況下安裝。安裝情況可以指首次安裝測試目標,或是在裝有較早版本的機器上安裝測試目標的某個較新的版本或工作版本。安裝測試還應確保在遇到異常情況時(如磁盤空間不足),測試目標的執行情況仍可接受。

  測試用例應包含以下各種軟件的安裝情況:

  分發介質,例如磁盤、CD-ROM 或文件服務器。

  首次安裝。

  完全安裝。

  自定義安裝。

  升級安裝。

  客戶機服務器軟件的安裝程序具備一組特定的測試用例。不同于基于主機的系統,服務器和客戶機上的安裝程序是有所不同的。因而,安裝測試應執行構成測試目標的所有構件的安裝,包括客戶機、中間層以及服務器,這一點至關重要。

  為其他非功能性測試生成測試用例

  理論上,應找到所有必需的輸入來生成測試用例模型、設計模型以及補充規約工件的測試用例。不過,如果此時您需要補充已有的輸入,那也不足為奇。

  示例如下:

  操作測試(用以檢驗在某次故障發生后以及在下一次故障發生前“較長時間”內軟件的運行情況)的測試用例。

  對性能瓶頸、系統容量或測試目標的強度承受能力進行調查的測試用例。

  大多數情況下,您可以通過先前所確定的測試用例生成的某些測試用例來構建其變體或聚合關系體,借此來查找測試用例。

  九、為單元測試生成測試用例

  單元測試要求既測試單元的內部結構同時還要測試其行為特征。測試內部結構要求了解實施單元的方式,基于這種了解的測試被稱為白盒測試。對單元行為特征的測試側重于從外部可觀察的單元行為,而不需要了解或考慮其實施方式?;谶@種方法的測試稱為黑盒測試?;谶@兩種方法所生成的測試用例的說明如下。

  白盒測試

  理論上,應通過代碼測試每一條可能的路徑。在所有這些非常簡單的單元內實現這樣的目標是不切實際或幾乎是不可能的。作為最基本的測試,應將每個決定到決定路徑(DD 路徑)測試至少一次,這樣可確保將所有語句至少執行一次。決定通常是指 if 語句,而 DD 路徑是兩個決定之間的路徑。

  要達到這種程度的測試覆蓋,建議您在選擇測試數據時應使每個決定都可以用每種可能的方法來評估。為達到上述目標,測試用例應確保:

  每個布爾表達式的求值結果為 true 和 false。例如,表達式 (a<3) OR (b>4) 的求值結果為 true/false 的四種組合

  每一個無限循環至少要執行零次、一次和一次以上。

  可使用代碼覆蓋工具來確定白盒測試未測試到的代碼。在進行白盒測試的同時應進行可靠性測試。

  示例:

  假設您對類 Set of Integers 中的 member 函數執行結構測試。該測試在二進制搜索的幫助下,將檢查該集合是否包含了某個指定的整數。

 

  成員 (member) 函數以及相應的流程圖。虛線箭頭指示出如何通過采用兩個測試用例將所有語句至少執行一次。

  理論上,對于徹底測試的某個操作,測試用例應遍歷代碼內路徑的所有組合情況。在 member 函數的 while-loop 中存在三個可選擇的路徑。測試用例可以多次遍歷該循環,或是根本就不遍歷。如果測試用例根本就沒有遍歷循環,則在代碼中只能找到一條路徑。如果遍歷循環一次,您將發現有三條路徑。如果遍歷兩次,則您將發現存在六條路徑,如此類推。因而,路徑的總數應該是:1+3+6+12+24+48+...,在實際情況中,這個路徑組合總數根本無法無法處理。這就是為什么必須選擇所有這些路徑的子集的原因。本示例中,可以采用兩個測試用例來執行所有的語句。其中一個測試用例中,您可以選擇 Set of Integers = {1,5,7,8,11},而且測試數據 t = 3。在另一個測試用例中,您可以選擇 Set of Integers = {1,5,7,8,11},且 t = 8。

  黑盒測試

  黑盒測試的目的是為了在不了解單元將如何實施指定行為的情況下,對指定行為進行驗證。黑盒測試側重并依賴于單元的輸入和輸出。

  等價類劃分是一種用來減少所需測試數量的技術。對于每一個操作都應確定參數和對象狀態的等價類。等價類是一組值的集合,對這組值來說,對象的行為應類似。例如,一個集合可有三個等價類:空、若干元素以及滿。

  可使用代碼覆蓋工具來確定白盒測試未測試到的代碼。在進行黑盒測試的同時應進行可靠性測試。

  接下來的兩個小節說明了如何通過選擇特定參數的測試數據來確定測試用例。

原文轉自:http://www.anti-gravitydesign.com

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