一個(gè)基于UML協(xié)作圖的集成測(cè)試用例生成方法(三)_第1頁(yè)
一個(gè)基于UML協(xié)作圖的集成測(cè)試用例生成方法(三)_第2頁(yè)
一個(gè)基于UML協(xié)作圖的集成測(cè)試用例生成方法(三)_第3頁(yè)
一個(gè)基于UML協(xié)作圖的集成測(cè)試用例生成方法(三)_第4頁(yè)
一個(gè)基于UML協(xié)作圖的集成測(cè)試用例生成方法(三)_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第第頁(yè)一個(gè)基于UML協(xié)作圖的集成測(cè)試用例生成方法(三)一個(gè)基于UML協(xié)作圖的集成測(cè)試用例生成方法(三)

發(fā)表于:2023-11-08來(lái)源:未知:領(lǐng)測(cè)軟件測(cè)試網(wǎng)采編點(diǎn)擊數(shù):標(biāo)簽:集成測(cè)試用例

3、基于協(xié)作圖生成集成測(cè)試用例的方法3.1研究假定為了有針對(duì)性地解決從協(xié)作圖生成測(cè)試用例的問(wèn)題,本文作出如下假定和要求:(1)假定協(xié)作圖描述的協(xié)作與用例圖描述的規(guī)約是一致的。模型本身的驗(yàn)證是通過(guò)非形式化的復(fù)審和形式化的模

3、基于協(xié)作圖生成集成測(cè)試用例的方法

3.1研究假定

為了有針對(duì)性地解決從協(xié)作圖生成(測(cè)試)(用例)的問(wèn)題,本文作出如下假定和要求:

(1)假定協(xié)作圖描述的協(xié)作與用例圖描述的規(guī)約是一致的。模型本身的驗(yàn)證是通過(guò)非形式化的復(fù)審和形式化的模型檢驗(yàn)方法進(jìn)行的,已超出本文的研究范圍;如果協(xié)作圖上的場(chǎng)景路徑集不能覆蓋所有消息,則說(shuō)明協(xié)作圖本身有錯(cuò)誤;

(2)假定系統(tǒng)中的對(duì)象都是自行開(kāi)發(fā)的,不包括第三方組件對(duì)象,文中的對(duì)象可以是不同粒度的對(duì)象(類的實(shí)例、類簇、組件、子系統(tǒng)、系統(tǒng)),也就是說(shuō)我們?cè)诜治鋈我鈱?duì)象或類時(shí),在必要的情況下都可以獲取其規(guī)約和內(nèi)部詳細(xì)設(shè)計(jì)信息,包括功能和結(jié)構(gòu)信息;對(duì)于第三方組件的集成測(cè)試,[13][17]介紹了詳細(xì)的(測(cè)試方法);

(3)我們研究的測(cè)試是針對(duì)檢錯(cuò)進(jìn)行的,確認(rèn)軟件是否正確實(shí)現(xiàn)了設(shè)計(jì),協(xié)作圖上的結(jié)構(gòu)關(guān)系是否被正確實(shí)現(xiàn),[15]中已有相應(yīng)的靜態(tài)檢驗(yàn)方法,所以本文只研究動(dòng)態(tài)交互行為的測(cè)試;

(4)本文為了明確解決問(wèn)題,假定消息類型只有普通消息、條件消息、循環(huán)消息,而且只存在順序循環(huán),不存在嵌套循環(huán)。

3.2方法概述

基于協(xié)作圖的集成測(cè)試(Collaborationdiagram-basedIntegrationTesting,CIT)方法集合了傳統(tǒng)的白盒測(cè)試方法和黑盒測(cè)試方法,用于測(cè)試協(xié)作圖中參與協(xié)作的對(duì)象之間通過(guò)消息的交互,對(duì)每個(gè)協(xié)作圖處理一次,得到相應(yīng)的(測(cè)試用例)集。首先分析協(xié)作圖,提取協(xié)作圖中表示的所有元素,根據(jù)消息的順序號(hào)和消息的條件,找到每一條消息的直接后繼消息,然后根據(jù)場(chǎng)景路徑的定義,使用深度優(yōu)先方法遍歷消息及其直接后繼直至到達(dá)無(wú)直接后繼的消息從而生成場(chǎng)景路徑,然后回溯到?jīng)]有被訪問(wèn)的直接后繼,重復(fù)上述方法找到所有的場(chǎng)景路徑;在訪問(wèn)消息獲取場(chǎng)景路徑的同時(shí),獲取該路徑的方法調(diào)用序列、參數(shù)和路徑條件,將這些集成測(cè)試的關(guān)鍵因素用范疇-劃分方法定義為方法序列、環(huán)境條件、系統(tǒng)輸入、系統(tǒng)輸出等范疇,結(jié)合該協(xié)作片斷的用例規(guī)約和類圖中的定義生成這些范疇的可能選擇,然后結(jié)合路徑約束條件在這些范疇的劃分中確定選擇項(xiàng)的合理組合,這樣我們就等到了該場(chǎng)景路徑完整的(測(cè)試用例),包括外界輸入、交互輸入、預(yù)期方法調(diào)用序列、后條件、預(yù)期輸出。對(duì)協(xié)作圖中的所有場(chǎng)景路徑都構(gòu)造了測(cè)試用例,就形成了協(xié)作集成測(cè)試用例集。這樣在實(shí)際執(zhí)行集成測(cè)試時(shí)不但可以直接觀察到系統(tǒng)級(jí)的輸入作用下協(xié)作實(shí)現(xiàn)過(guò)程中的實(shí)際輸出,還能夠通過(guò)動(dòng)態(tài)插裝方法在代碼中加入不影響軟件功能的觀察代碼[15],使(測(cè)試人員)能夠觀察到實(shí)際協(xié)作執(zhí)行時(shí)的方法調(diào)用序列和數(shù)據(jù)流的定義和使用,然后通過(guò)比較最終系統(tǒng)實(shí)際執(zhí)行時(shí)輸出與預(yù)期輸出的一致性決定該協(xié)作實(shí)現(xiàn)的功能是否正確,通過(guò)比較應(yīng)該發(fā)生的方法調(diào)用序列和實(shí)際執(zhí)行時(shí)觀察到的方法調(diào)用序列是否一致,確定協(xié)作表示的交互行為是否正確,從而從整體上對(duì)協(xié)作圖描述的系統(tǒng)行為的實(shí)現(xiàn)是否與設(shè)計(jì)一致,從而完成協(xié)作的集成測(cè)試。

本方法可以以增量的方法進(jìn)行,最終生成的測(cè)試用例的具體程度,與相應(yīng)UML模型圖的設(shè)計(jì)精化程度相關(guān),因?yàn)閰f(xié)作圖描述的場(chǎng)景的詳細(xì)程度與測(cè)試用例的表達(dá)能力直接相關(guān)。

3.3UML協(xié)作圖生成測(cè)試用例的算法描述

本文的方法能夠從協(xié)作圖規(guī)約文檔直接生成測(cè)試用例,主要描述分析協(xié)作圖規(guī)約文檔提取集成測(cè)試需求信息并生成消息后繼表的算法UMLspecificationparser(),然后為每個(gè)消息確定其直接后繼消息的findsuccessor()算法,根據(jù)消息后繼表遍歷所有場(chǎng)景路徑獲取測(cè)試用例規(guī)約信息的spathgenerator()算法,以及從測(cè)試用例規(guī)約使用范疇劃分方法確定測(cè)試用例輸入值、預(yù)期輸出值、預(yù)期輸出行為的算法testcasegenerator()。UMLspecificationparser()算法從協(xié)作圖從獲取集成測(cè)試(需求)信息是通過(guò)對(duì)UML協(xié)作圖規(guī)約的文本文件(如RationalRose的MDL文件)進(jìn)行分析完成的[11],在我們的工具中實(shí)現(xiàn)相應(yīng)的功能,本文對(duì)分析算法不作詳細(xì)描述。我們用鄰接表定義消息后繼列表,將分析結(jié)果信息按消息順序號(hào)升序記錄到messagelist的表頭中,以便下一步處理。我們定義消息后繼列表如下:

messageitem{

mid:string;//消息順序號(hào)

mguardcondition:string;//消息衛(wèi)式條件表達(dá)式

mlabel:string;//消息標(biāo)簽

msender,mreciever:object;//消息發(fā)送者對(duì)象,消息接收者對(duì)象

mmethod:method;//消息激活的方法

mtype:[flatflow,procdurecall,callreturn];//根據(jù)消息的箭頭及線型劃分的消息類型

link:pointerofmsuccessor;

}

msuccessor{

mid:string;//后繼消息順序號(hào)

mscondition:string;//選擇該后繼的條件表達(dá)式

next:pointerofmsuccesor

}

messagelist:messageitem[n];

findsuccessor()算法為消息生成直接后繼列表的并記錄到消息的后繼鏈表中,描述如下:

findsuccessor(messagelist){//找到所有消息的所有可能后繼和每個(gè)后繼條件

//輸入:消息后繼表messagelist

//輸出:消息后繼表messagelist

//出口準(zhǔn)則:所有消息都處理完

fori:=1tondo{

ifi==n或者messagelist[i]為端口輸出事件觸發(fā)消息

messagelist[i].link=nil;i:=i+1;//最后消息或觸發(fā)端口輸出事件的消息無(wú)后繼消息

else{

ifmessagelist[i+1]是普通消息

則messagelist[i]的直接后繼為messagelist[i+1];

else{

k:=1;

dowhilemessagelist[i+k]是條件消息{

messagelist[i+k]是messagelist[i]的直接后繼,且條件為messagelist[i+k]的條件取真

ifmessa

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論