江霖 荊州職業(yè)技術(shù)學(xué)院
系統(tǒng)測(cè)試用例設(shè)計(jì)中的場(chǎng)景模式分析
江霖 荊州職業(yè)技術(shù)學(xué)院
在嵌入式系統(tǒng)軟件測(cè)試過程中引入場(chǎng)景模式,完成軟件系統(tǒng)的需求模型構(gòu)建,將場(chǎng)景模型分類,并構(gòu)建測(cè)試用例場(chǎng)景的狀態(tài)圖,完成測(cè)試過程的路徑遍歷,獲取對(duì)應(yīng)的測(cè)試信息。本文的結(jié)果可以證明,場(chǎng)景模式方法在測(cè)試用例中能夠快速完成設(shè)計(jì)與生成,對(duì)于測(cè)試用例的可重復(fù)以及有效性有提高效果。
嵌入式系統(tǒng) 測(cè)試用例 場(chǎng)景模式
在現(xiàn)代計(jì)算機(jī)技術(shù)的不斷進(jìn)步支持下,系統(tǒng)測(cè)試的難度不斷升高。而嵌入式系統(tǒng)軟件中的規(guī)模以及結(jié)構(gòu)復(fù)雜程度不斷擴(kuò)大,軟件質(zhì)量的要求也不斷提高。本文選擇場(chǎng)景模式進(jìn)行嵌入式系統(tǒng)軟件測(cè)試用例的設(shè)計(jì),為軟件測(cè)試提供循證資料。
1.1 場(chǎng)景模式的特點(diǎn)
在現(xiàn)代系統(tǒng)軟件運(yùn)行過程中,流程控制的方式基本是由事件觸發(fā)完成的。事件觸發(fā)過程中的具體情境就是場(chǎng)景,而通過隸屬于同一個(gè)事件的不同觸發(fā)順序以及處理結(jié)果的集合就是事件流。而軟件設(shè)計(jì)中的場(chǎng)景模式逐漸開始在軟件測(cè)試過程中應(yīng)用,由于能夠描述事件觸發(fā)過程中的具體場(chǎng)景,對(duì)測(cè)試過程中測(cè)試用例的作用十分明顯,能夠增強(qiáng)測(cè)試用例的理解度以及執(zhí)行度。場(chǎng)景模式通常包括基礎(chǔ)流以及備選流,從一個(gè)流程開始,在經(jīng)過用例的路徑用基礎(chǔ)流與備選流表示,而場(chǎng)景的完成過程中是通過經(jīng)過路徑的描述完成場(chǎng)景的構(gòu)建。
1.2 測(cè)試用例的模型確定
系統(tǒng)測(cè)試用例的目標(biāo)是對(duì)程序是否滿足系統(tǒng)要求進(jìn)行驗(yàn)證,而系統(tǒng)開發(fā)的信息輸入、執(zhí)行條件以及結(jié)果的集合則是測(cè)試用例的驗(yàn)證內(nèi)容。系統(tǒng)需求的描述方式大多為自然語(yǔ)言,因此在表達(dá)方式方面需要更加規(guī)范化。而嵌入式系統(tǒng)主要為反應(yīng)系統(tǒng),所以在模型構(gòu)建中大多的選擇為狀態(tài)模式。本文選擇的模型為ACDATE模型,系統(tǒng)需求中Actor與場(chǎng)景中的實(shí)體相對(duì)應(yīng),Condition與場(chǎng)景中的狀態(tài)以及判別條件相對(duì)應(yīng),Data與狀態(tài)轉(zhuǎn)換的運(yùn)行相對(duì)應(yīng),Timing與其他元素時(shí)間屬性對(duì)應(yīng),Event與系統(tǒng)對(duì)象的事件相對(duì)應(yīng)。場(chǎng)景執(zhí)行中的類型包括獨(dú)立、觸發(fā)、互斥以及依賴。
2.1 測(cè)試用例的設(shè)計(jì)
測(cè)試用例的設(shè)計(jì)對(duì)于測(cè)試的結(jié)果以及效率的影響較大。所以測(cè)試用例的敘述過程需要滿足規(guī)范化、精準(zhǔn)化、清晰化以及可維護(hù)化的要求。測(cè)試用例需要針對(duì)一個(gè)明確的測(cè)試場(chǎng)景,同時(shí)還需要對(duì)應(yīng)的測(cè)試信息,這兩個(gè)部分可以完成對(duì)系統(tǒng)中對(duì)應(yīng)的執(zhí)行流程的描述。而規(guī)范化的測(cè)試用例對(duì)于自動(dòng)生成的過程有良好的作用。以場(chǎng)景模式為核心的嵌入式系統(tǒng)測(cè)試用例的設(shè)計(jì)以及生成包括的具體過程為:首先是目標(biāo)系統(tǒng)的需求分析,分析目標(biāo)系統(tǒng)的文檔,完成系統(tǒng)的需求模型構(gòu)建,同時(shí)建立場(chǎng)景樹。以ACDATE模型完成目標(biāo)系統(tǒng)需求的建模,以分解得到的結(jié)果為依據(jù)完成場(chǎng)景樹的構(gòu)建,場(chǎng)景樹的結(jié)構(gòu)選擇分級(jí)管理模式。目標(biāo)系統(tǒng)本身為場(chǎng)景樹的根部節(jié)點(diǎn),場(chǎng)景元素則作為場(chǎng)景樹的葉子節(jié)點(diǎn)。場(chǎng)景樹的分支是系統(tǒng)軟件需求的分解,而分支與測(cè)試系統(tǒng)的具體相關(guān)需求相對(duì)應(yīng)。場(chǎng)景元素是系統(tǒng)的最小化功能節(jié)點(diǎn),是無(wú)法再次細(xì)分并能夠進(jìn)行獨(dú)立進(jìn)行測(cè)試。場(chǎng)景元素能夠以條件、順序、循環(huán)以及并發(fā)等結(jié)構(gòu)組合方式構(gòu)成復(fù)合場(chǎng)景。
圖1 基本場(chǎng)景模式的狀態(tài)圖
2.2 測(cè)試用例的生成
以場(chǎng)景模式為核心的嵌入系統(tǒng)軟件測(cè)試需要滿足節(jié)點(diǎn)覆蓋、邏輯路徑覆蓋、遷移覆蓋的基本原則,在這些條件下完成測(cè)試用例的覆蓋。節(jié)點(diǎn)覆蓋需要節(jié)點(diǎn)運(yùn)行次數(shù)在1次以上,遷移覆蓋需要遷移完成在1次以上,邏輯路徑覆蓋需要所有分支運(yùn)行次數(shù)在1次以上。在測(cè)試用例的角度,所有測(cè)試動(dòng)作均與場(chǎng)景的路徑元素相對(duì)應(yīng)。在完成場(chǎng)景狀態(tài)圖中所有路徑的遍歷之后,獲取相應(yīng)的數(shù)據(jù)、控制以及分支節(jié)點(diǎn)。在測(cè)試過程中,需要完成相應(yīng)場(chǎng)景基本路徑的運(yùn)行,在遍歷路徑之后取得所有路徑并確定輸入信息。查找起始節(jié)點(diǎn)并置入堆棧結(jié)構(gòu)中,將其作為當(dāng)前節(jié)點(diǎn)。之后查找直接后續(xù)節(jié)點(diǎn),在完成未訪問路徑以及目標(biāo)節(jié)點(diǎn)的入堆棧并記錄為已訪問后,作為當(dāng)前節(jié)點(diǎn)。之后不斷重復(fù)直至當(dāng)前節(jié)點(diǎn)不存在后續(xù)節(jié)點(diǎn)。從堆棧中依次找出對(duì)應(yīng)的節(jié)點(diǎn)一級(jí)路徑,在不斷重復(fù)后確定不存在未訪問的路徑之后,可以確定場(chǎng)景中路徑的遍歷完成。在確定路徑之后完成輸入信息的確定,簡(jiǎn)單類型的信息取值以隨機(jī)、邊界、等價(jià)劃分等方式完成,而復(fù)合類型信息通過數(shù)據(jù)項(xiàng)的遍歷完成輸入。同時(shí),通過多種數(shù)據(jù)綜合生成的方式,達(dá)到有效測(cè)試的目標(biāo)。
本文在嵌入式系統(tǒng)軟件測(cè)試用例中選擇場(chǎng)景模式完成設(shè)計(jì),選擇可以重復(fù)使用的場(chǎng)景模式,有效節(jié)約了測(cè)試用例的設(shè)計(jì)、生成以及修改的時(shí)間與工作來(lái)那個(gè)。在設(shè)計(jì)與生成的過程中,可以減少軟件設(shè)計(jì)中模型數(shù)據(jù)的應(yīng)用,屬于以需求規(guī)范為導(dǎo)向的黑盒測(cè)試技術(shù)。
[1]殷永峰,劉斌,姜同敏等.基于UML的嵌入式軟件測(cè)試用例生成方法研究[J].計(jì)算機(jī)應(yīng)用研究,2008,25(10):3018-3021
[2]張虹,阮鐮,劉斌等.嵌入式軟件測(cè)試中的仿真建模方法研究[J].測(cè)控技術(shù),2002,21(3):37-38,41
[3]楊廣華,齊璇,施寅生等.基于場(chǎng)景模式的嵌入式軟件測(cè)試用例設(shè)計(jì)[J].計(jì)算機(jī)工程,2010,36(15):89-91