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