版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度民辦學(xué)校教師教學(xué)科研獎(jiǎng)勵(lì)聘用合同4篇
- 2025版高端汽車零部件模具定制合同4篇
- 二零二五年度企業(yè)電子商務(wù)法律風(fēng)險(xiǎn)防范合同
- 2025版砂石開(kāi)采與環(huán)保治理合同3篇
- 二零二五年度人才招聘居間服務(wù)合同范本(航天行業(yè)適用)2篇
- 二零二五年度圖書(shū)館建筑裝飾工程合同范本2篇
- 3 關(guān)節(jié)置換術(shù)止血與抗凝的綜合管理
- 二零二五年度裝配式內(nèi)裝工程承包合同范本4篇
- 2025年度臨街商店攤位租賃與垃圾分類處理合同3篇
- 二零二五年度企業(yè)形象宣傳片創(chuàng)意策劃與執(zhí)行合同
- 2023-2024學(xué)年度人教版一年級(jí)語(yǔ)文上冊(cè)寒假作業(yè)
- 2024醫(yī)療銷售年度計(jì)劃
- 稅務(wù)局個(gè)人所得稅綜合所得匯算清繳
- 人教版語(yǔ)文1-6年級(jí)古詩(shī)詞
- 上學(xué)期高二期末語(yǔ)文試卷(含答案)
- 軟件運(yùn)維考核指標(biāo)
- 空氣動(dòng)力學(xué)仿真技術(shù):格子玻爾茲曼方法(LBM)簡(jiǎn)介
- 2024版醫(yī)療安全不良事件培訓(xùn)講稿
- 中學(xué)英語(yǔ)教學(xué)設(shè)計(jì)PPT完整全套教學(xué)課件
- 移動(dòng)商務(wù)內(nèi)容運(yùn)營(yíng)(吳洪貴)項(xiàng)目五 運(yùn)營(yíng)效果監(jiān)測(cè)
- 比較思想政治教育學(xué)
評(píng)論
0/150
提交評(píng)論