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