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