測試用例設計工具—BenderRBT

 黑盒測試用例的設計方法包括邊界值法,等價類法,正交組合對法(OrthogonalPairs)和因果圖法(CauseEfffect,類似於決策樹軟件測試法)等等,其中組合對法和因果圖法由於涉及到輸入條件與輸出結果直接的組合與邏輯關係比較複雜,不適合用人工的方式計算。

  BenderRBT是基於需求的功能測試用例設計工具,具有組合對法(OrthogonalPairs)和因果圖(CauseEffect)兩種功能模塊,通過對被測應用的需求進一步清晰化整理,進而設計出最小數目的測試用例實現最大的功能覆蓋率。

  BenderRBT深入地分析應用的需求規格說明找出其中存在的錯誤和邏輯衝突,軟件開發團隊使用BenderRBT可以在軟件開發的早期儘早地優化並且驗證需求。在軟件生命週期中越早發現並糾正錯誤,所付出的開銷和時間就會越少。

  工具對軟件測試活動的支持可以分爲下面這些階段:

  · 定義軟件測試完成的準則;

  · 設計測試用例;

  · 建立測試用例;

  · 執行軟件測試;

  · 確認軟件測試結果;

  · 確認軟件測試覆蓋率;

  · 管理軟件測試庫。

 14982672_201607121108531HAOr.jpg 

圖1BenderRBT

  BenderRBT包含了兩個完全獨立的測試用例設計引擎:

  1.RBT:因果圖測試用例設計模塊;

  2.QuickDesign:基於正交組合對測試用例設計模塊。

  11.1.1 RBT

  11.1.1.1 優化需求

  系統的需求必須是明確的沒有歧義的才能夠使得開發的系統是正確的,並且是可軟件測試的。

  通過因果圖可以對需求中的輸入和輸出之間的關係和約束進行全面的瞭解,RBT提供的多種形式的報告可以讓開發單位和用戶單位對所開發系統需求的統一認識,儘早發現需求中存在的問題。

  11.1.1.2 因果圖設計

  因果圖是**的技術,在工程中常用來需求驗證和測試用例設計,因果圖法實際上是把文本的需求規格說明轉化爲圖形的一種方法,需求規格說明中的功能之間的關係通過因果圖清晰的表示出來,每個輸入和其他輸入的關係,和輸出直接的關係,還包括條件制約,節點的可觀測性在這個階段都需要指定,軟件工程師在這個過程中可以充分的理解需求發現需求中存在的錯誤、不一致、不夠詳細或者模糊的描述等問題,這些問題通常只有到集成測試時才能發現。

  RBTg是因果圖編輯工具,提供了一個簡單快捷的因果圖編輯環境,直接從繪圖工具裏面選擇現成的節點,邏輯關係符號、制約條件加上連線就構成一個因果圖。RBT所生成的測試用例或者格式化的需求報告可以用來作爲開發單位和用戶之間評審交流的基本資料,RBT提供的軟件測試腳本包含了軟件測試過程中每一步的輸入和輸出。

  14982672_201607121108532GfHn.jpg

圖2利用RBTg工具進行因果圖設計

  11.1.1.3 最少的測試用例實現最大的功能覆蓋

  如果軟件測試工程師完全按照自己的經驗或者感覺來設計測試用例,很難保證100%覆蓋系統的所有的功能,研究報告表明一般來講只能覆蓋30-40%,BenderRBT採用的是嚴格的數學邏輯算法推導出最小數目的測試用例,並實現最大的功能覆蓋率,實際上如果一個系統有37個輸入,如果窮舉軟件測試的話需要1300億測試用例,BenderRBT在1秒的時間內算出只需要22個測試用例就可以滿足文檔中描述的所有的功能需求覆蓋。BenderRBT也提供功能和測試用例的對應關係表。

  14982672_201607121108533L5wf.jpg

圖3最少的測試用例實現最大的功能覆蓋

 11.1.2 QuickDesign的主要功能

  11.1.2.1 基於正交組合對法設計測試用例

  QuickDesign提供了變量輸入和變量狀態的輸入功能,用戶需要按照需求規格說明找出系統的輸入,和輸入的各個狀態,比如對於GUI軟件測試,每個輸入的下拉框選項對應的就是輸入的各個狀態,當GUI比較複雜,選項、菜單、按鈕很多的時候,人工組合軟件測試就很難保證完全,在QuickDesign中輸入變量和狀態以及約束條件。

  14982672_201607121108534OdjE.jpg

圖4基於正交組合對法設計測試用例

  QuickDesign基於正交組合對法進行嚴格的數學計算,得出組合對報告和軟件測試腳本。

 14982672_201607121108535aJOO.jpg 

圖5得出組合對報告和軟件測試腳本

  可以基於兩種算法生成測試用例:正交對和優化對,正交對測試每一對組合的次數等於測試用例的數目,優化對每個組合最少需要一次軟件測試,我們建議配置測試使用正交對法,功能測試使用優化對法。

  11.1.2.2集成性

  Bender-RBT可以集成測試管理工具TestDirector,生成的測試用例可以導出到TestDirector保**測試團隊完成必要的測試用例,BenderRBT集成了很多錄製回放工具,比如IBMRationalRobot和HPSegue的SilkTest等,當測試用例用到這些測試工具的時候,測試團隊就可以使用這些自動化測試工具進行測試工作了。

  11.1.2.3主要特點

  高度優化的算法得出測試用例:

  ·同時支持因果圖和組合對法設計測試用例;

  ·可以支持邏輯中敏感路徑分析進而設計出測試用例使得用戶得到最優化的測試用例;

  ·所生成的測試用例包括輸入和輸出,可以用來作爲開發單位和用戶單位評審的依據;

  ·所產生的測試用例數量最小,達到的功能覆蓋最大,同時能夠使得代碼覆蓋率較高;

  自然語言測試用例獨立於目標平臺:

  ·由於需求是自然語言的,所生成的測試用例也是用自然語言描述的;

  ·測試用例不依賴與任何目標系統,是平臺獨立的。

  支持需求中存在的約束情況:

  ·RBT支持現實世界的系統各種約束,比如互斥,包含,屏蔽等;

  ·通過加入現實情況下的約束條件減少無效測試用例;

  ·通過約束情況也可以發現需求邏輯中存在的不一致的錯誤。

  覆蓋率分析:

  ·提供功能覆蓋率分析,提供強覆蓋和弱覆蓋;

  ·可以支持把已經存在的測試用例集加入進來參與覆蓋率分析。

  生成功能規格說明:

  ·通過因果圖的輸入,RBT會自動生成整理過的需求規格說明書,條理更清晰可以作爲評審的依據;

  ·可以生成美軍標498標準格式的需求規格說明。

  11.1.2.4 平臺支持

  Pentium;

  128M內存;

  程序安裝需要100M硬盤空間。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章