基于文檔解析和約束求解的組合Web服務(wù)測試用例生成
發(fā)布時(shí)間:2017-10-09 22:05
本文關(guān)鍵詞:基于文檔解析和約束求解的組合Web服務(wù)測試用例生成
更多相關(guān)文章: 組合Web服務(wù) 測試用例生成 文檔解析 約束求解
【摘要】:網(wǎng)絡(luò)與分布式技術(shù)的快速發(fā)展使得面向服務(wù)的體系結(jié)構(gòu)(SOA)得到了學(xué)術(shù)界以及工業(yè)界的廣泛應(yīng)用。作為實(shí)現(xiàn)SOA的主要技術(shù),Web服務(wù)已成為當(dāng)前研究的熱點(diǎn)問題。為了充分利用Web服務(wù)并解決單個(gè)Web服務(wù)功能有限的問題,業(yè)界將多個(gè)原子Web服務(wù)按照一定的規(guī)則和業(yè)務(wù)邏輯進(jìn)行組合。為保證組合Web眼務(wù)的質(zhì)量,需要對(duì)組合Web服務(wù)進(jìn)行全面、充分的測試。目前常見的組合Web服務(wù)測試方法主要為黑盒測試,包括利用WSDL中的接口信息、結(jié)合本體知識(shí)庫或者基于用戶輸入等方式對(duì)組合Web服務(wù)進(jìn)行測試。但這些方法生成測試用例冗余較高(存在大量無效用例),而且Web服務(wù)領(lǐng)域內(nèi)本體庫獲取比較困難,測試覆蓋率也不理想。測試用例設(shè)計(jì)生成是軟件測試領(lǐng)域的主要研究問題。在現(xiàn)有工作的基礎(chǔ)上,我們提出了一種基于文檔解析和約束求解的組合Web服務(wù)測試用例生成方法,即首先通過解析組合Web服務(wù)中的相關(guān)XML文檔,得到各種約束條件來豐富測試信息,然后利用約束求解器對(duì)各約束條件進(jìn)行求解,并結(jié)合不同的覆蓋率準(zhǔn)則生成測試用例。論文的主要工作包括:首先,針對(duì)組合Web服務(wù)對(duì)外只提供XML接口文檔的特點(diǎn),我們提出一種KML文檔解析的方法,根據(jù)不同接口文檔之間的關(guān)系,對(duì)BPEL文檔、WSDL文檔以及XSD文檔中不同的節(jié)點(diǎn)進(jìn)行解析,從而過濾掉不相關(guān)的信息,并生成包含了組合Web服務(wù)的業(yè)務(wù)執(zhí)行流程、流程中的屬性值、變量的詳細(xì)定義以及條件語句等內(nèi)容的中間文件。其次,由于黑盒測試方法無法獲取有效的輸入變量取值范圍,導(dǎo)致生成的測式用例集冗余度較高,我們提出了使用約束求解生成測試用例的方法,即將接口文檔中提取的約束條件歸類為變量類型約束、輸入輸出約束、條件約束以及活動(dòng)欠序約束,并提出了相應(yīng)的約束編碼規(guī)則,指導(dǎo)與約束求解器相關(guān)的約束文件的生成,然后利用約束求解器并結(jié)合SOAP協(xié)議,生成有效的測試用例。再次,針對(duì)組合Web服務(wù)中測試覆蓋率較低的問題,我們提出根據(jù)中間文件生成組合Web服務(wù)控制流圖,并基于不同覆蓋率標(biāo)準(zhǔn)對(duì)與約束求解器相關(guān)的約束文件進(jìn)行修改,包括節(jié)點(diǎn)覆蓋、路徑覆蓋和MC\DC覆蓋,并對(duì)約束文檔進(jìn)行修改,生成滿足覆蓋率準(zhǔn)則的測試用例集。最后,完成了組合Web服務(wù)測試用例生成工具GTCWS的開發(fā),并針對(duì)不同的Web服務(wù)(有Oracle BPEL PM Sample以及WS-BPEL Composition Repository提供的7個(gè)BPEL代碼規(guī)模在57行到190行的Web服務(wù))進(jìn)行了充分的實(shí)驗(yàn),并與現(xiàn)有工作在約束條件規(guī)模、生成測試用例覆蓋率以及求解時(shí)間等方面進(jìn)行了對(duì)比,實(shí)驗(yàn)結(jié)果表明:GTCWS工具能夠生成覆蓋率高、冗余度低并且有效的測試用例,且生成測試用例所用時(shí)間在可接受范圍內(nèi)。
【關(guān)鍵詞】:組合Web服務(wù) 測試用例生成 文檔解析 約束求解
【學(xué)位授予單位】:南京大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2015
【分類號(hào)】:TP393.09
【目錄】:
- 摘要5-7
- ABSTRACT7-11
- 第一章 引言11-16
- 1.1 研究背景11-12
- 1.2 研究現(xiàn)狀12-14
- 1.2.1 基于接口文檔中參數(shù)類型的方法12-13
- 1.2.2 基于本體的方法13
- 1.2.3 基于用戶輸入的方法13-14
- 1.3 研究內(nèi)容14-15
- 1.4 論文結(jié)構(gòu)15-16
- 第二章 相關(guān)工作16-23
- 2.1 WEB服務(wù)概述16-18
- 2.1.1 SOA與Web服務(wù)16-17
- 2.1.2 組合Web服務(wù)17-18
- 2.2 WEB服務(wù)測試18-20
- 2.2.1 軟件測試18-19
- 2.2.2 Web服務(wù)測試19-20
- 2.3 SMT求解20-22
- 2.3.1 限界模型檢驗(yàn)20-21
- 2.3.2 符號(hào)執(zhí)行21
- 2.3.3 SMT求解器21-22
- 2.4 本章小結(jié)22-23
- 第三章 文檔解析和約束求解23-34
- 3.1 XML文檔解析23-28
- 3.1.1 Web服務(wù)中的XML文檔23-25
- 3.1.2 XML解析算法25-28
- 3.2 約束編碼28-32
- 3.2.1 規(guī)范化算法28-30
- 3.2.2 約束編碼規(guī)則30-32
- 3.3 約束求解和測試用例生成32-33
- 3.3.1 Z3-str求解器32-33
- 3.3.2 測試用例封裝33
- 3.4 本章小結(jié)33-34
- 第四章 覆蓋率驅(qū)動(dòng)的測試用例生成34-41
- 4.1 覆蓋率標(biāo)準(zhǔn)34-35
- 4.2 組合WEB服務(wù)控制流圖35-38
- 4.2.1 基本定義35-36
- 4.2.2 組合Web服務(wù)控制流圖生成算法36-38
- 4.3 約束文檔修正38-40
- 4.3.1 基于覆蓋率標(biāo)準(zhǔn)的約束文檔修正38-39
- 4.3.2 約束求解和測試用例生成39-40
- 4.4 本章小結(jié)40-41
- 第五章 工具實(shí)現(xiàn)及實(shí)驗(yàn)結(jié)果分析41-51
- 5.1 GTCWS工具概述41-42
- 5.2 案例分析42-46
- 5.2.1 文檔解析42-44
- 5.2.2 約束求解44-45
- 5.2.3 覆蓋率驅(qū)動(dòng)用例生成45-46
- 5.3 評(píng)價(jià)指標(biāo)46-47
- 5.4 實(shí)驗(yàn)數(shù)據(jù)和環(huán)境47
- 5.5 實(shí)驗(yàn)結(jié)果分析、比較47-50
- 5.5.1 實(shí)驗(yàn)結(jié)果47-49
- 5.5.2 與相關(guān)工作比較49-50
- 5.6 本章小結(jié)50-51
- 第六章 總結(jié)與展望51-53
- 6.1 本文總結(jié)51-52
- 6.2 未來展望52-53
- 參考文獻(xiàn)53-56
- 攻讀碩士學(xué)位期間主要科研成果56-57
- 致謝57-58
【參考文獻(xiàn)】
中國期刊全文數(shù)據(jù)庫 前1條
1 李景霞,侯紫峰;Web服務(wù)組合綜述[J];計(jì)算機(jī)應(yīng)用研究;2005年12期
,本文編號(hào):1002652
本文鏈接:http://sikaile.net/guanlilunwen/ydhl/1002652.html
最近更新
教材專著