摘要:提出了一種基于UML狀態圖的測試場景生成方法。測試場景從狀態圖的基本轉換路徑中產生,一條轉換路徑對應一個測試場景。文中給出了從UML狀態圖獲得基本轉換路徑的算法。該算法從狀態圖中的初始狀態到終止狀態進行遍歷,得到所有的基本轉換路徑,根據環路復雜度可得到狀態圖的基本路徑的最大數量,即測試場景的最小數量。根據測試場景設計測試用例,可生成較少而有效的測試用例。
關鍵詞:軟件測試;UML狀態圖:測試場景;測試用例
引言
軟件測試的核心問題是如何在程序無限的輸入/狀態空間中選擇有效的測試用例以滿足測試需求。測試用例的好壞直接關系到測試的質量,因此測試用例的生成技術是測試首先要解決的問題。現在的軟件幾乎都是由事件觸發來控制流程的,事件觸發時的情景便形成了場景,而同一事件不同的觸發順序和處理結果形成事件流。這種在軟件設計方面的思想也可被引入到軟件測試中,以便于測試設計者設計測試用例,同時測試用例也更容易理解和執行。基于場景模型的測試可以測試系統的所有功能。
UML是一種定義良好、功能強大的可視化建模語言,對面向對象軟件開發全生存期提供支持,在學術界和工業界都得到了廣泛應用。如何將基于UML的需求和設計規約,用于軟件測試領域,提高測試的效率,減輕測試的工作量,成為面向對象軟件測試領域新的挑戰。UML狀態圖是有限狀態機的圖形表示,常用來描述系統的動態行為,適合于作為面向對象軟件場景測試用例生成的依據。在基于UML狀態圖的測試中,測試用例的生成主要有三種技術:事件/狀態對導出、圖遍歷法導出和UML語義文檔導出法。
本文采用圖遍歷法從UML的狀態圖生成基本轉換路徑。該方法從狀態圖中的初始狀態到終止狀態進行遍歷,得到所有的基本轉換路徑,一條轉換路徑就對應一個測試場景。最后根據測試場景設計測試用例,可生成較少而有效的測試用例。
1、基于狀態圖的測試
1.1狀態圖的語義
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文