偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

幾種XML基準(zhǔn)測試的比較與分析

開發(fā)
摘 要 XML基準(zhǔn)測試已經(jīng)成為流行的XML文檔管理技術(shù)的測試方法。文章從測試場景、測試數(shù)據(jù)和對XQuery支持三方面,對主流的五種XML基準(zhǔn)測試:Xmach-1、Xmark、Xbench、XOO7和TpoX進行了比較與分析。并闡明了這五種測試方法當(dāng)前所存在的問題。

 引 言

隨著XML技術(shù)在各種應(yīng)用領(lǐng)域中廣泛的使用,越來越多的數(shù)據(jù)以XML文檔形式呈現(xiàn)。如何對海量的XML文檔進行有效管理,已成為人們所研究的熱點。目前,主要有兩類技術(shù)來管理大批量XML文檔,分別是XML原生數(shù)據(jù)庫技術(shù)和關(guān)系數(shù)據(jù)庫擴展技術(shù)。前者主要以開源軟件居多,且內(nèi)部多依靠Xpath、XQuery技術(shù)實現(xiàn),現(xiàn)已有eXist、MonetDB/XQuery和BaseX等十余款產(chǎn)品;后者基本上是成熟的商業(yè)關(guān)系數(shù)據(jù)庫,通過附加插件的方式,以增加對XML文檔管理的能力,代表產(chǎn)品有IBM的PureXML、Oracle的XDK等。

伴隨著XML文檔管理技術(shù)的發(fā)展,衡量各種技術(shù)的處理效率的要求也日益增長。XML基準(zhǔn)測試是一種衡量XML文檔管理技術(shù)的測試方法。對開發(fā)者而言,通過XML基準(zhǔn)測試,可以衡量已有技術(shù)的處理效率,對未來的開發(fā)有指導(dǎo)意義;對用戶來說,它的結(jié)果是選擇XML文檔管理產(chǎn)品時的可靠依據(jù)。
 
XML基準(zhǔn)測試簡介
從1999年FK提出XML 數(shù)據(jù)向關(guān)系數(shù)據(jù)庫映射效率問題起,到2001年首個開源產(chǎn)品Xmach-1面世,再到2007年首個有工業(yè)支持背景的TpoX,其間出現(xiàn)了多種XML基準(zhǔn)測試。截止2010年,共有Xmach-1、Xmark、MBench等十余款產(chǎn)品面世。其設(shè)計出發(fā)點、測試重點、實現(xiàn)機制各不相同。本文挑選了在實際應(yīng)用中獲得廣泛使用的五種主流基準(zhǔn)測試作為研究對象進行闡述。
Xmach-1是萊比錫大學(xué)E. Rahm與T. Böhme在2000年研發(fā)的一款多用戶基準(zhǔn)測試。其系統(tǒng)框架包括XML數(shù)據(jù)庫、應(yīng)用服務(wù)器、數(shù)據(jù)負(fù)載器和用戶端瀏覽器。其不僅是第一款開源產(chǎn)品,也是第一款面向多用戶的基準(zhǔn)測試。
Xmark是CWI小組的R. Busse、M. Carey等人在2003年提出的。它是單用戶級別的基準(zhǔn)測試。它模擬了一個網(wǎng)絡(luò)拍賣的應(yīng)用環(huán)境。與其他測試不同的是,它只采用了一個容量可伸縮,最大可達10GB的XML文件,作為測試基礎(chǔ)數(shù)據(jù)。
Xbench是滑鐵盧大學(xué)B.Yao與M. Tamer Özsu等人與2002年提出。其將實際中的XML文檔應(yīng)用,按單、多文檔和數(shù)據(jù)集中、文本集中等特征進行交叉劃分,分為四類應(yīng)用類型?;诟鞣N類型,有不同的測試策略。
XOO7是在完善的OO7基準(zhǔn)測試的基礎(chǔ)上,U. Nambiar等人在2001年擴充完成的。其出發(fā)點是測試基于面向?qū)ο蠹夹g(shù)的數(shù)據(jù)庫管理系統(tǒng),對XML文檔的處理能力。
TpoX是M. Nicola和A. Gonzalez等人在2007年提出的。與前述基準(zhǔn)測試不同,TpoX項目的參與人員均來自商業(yè)公司,是第一款有工業(yè)背景的基準(zhǔn)測試。它模擬了一個多用戶的金融應(yīng)用環(huán)境。
 
比較與分析
 
盡管各種測試的研發(fā)出發(fā)點和實現(xiàn)技術(shù)各不相同,但其執(zhí)行流程都遵循如下順序:先生成測試場景,再基于場景生成測試基礎(chǔ)數(shù)據(jù),最后再使用XQuery對數(shù)據(jù)進行操作,即輸出最終的測試用例。以下也從該三方面進行比較與分析。
 
測試場景
 
測試場景是與待測試軟件的執(zhí)行相對應(yīng)的一個活動場景,由一系列活動按照一定的順序組成,它描述了系統(tǒng)的典型活動過程,是系統(tǒng)業(yè)務(wù)特性的一種體現(xiàn)。一個設(shè)計優(yōu)秀的測試場景,將使測試更符合實際使用情況,揭示出產(chǎn)品在現(xiàn)實應(yīng)用中的真實表現(xiàn)。
 
Xmach-1的測試場景是構(gòu)建了一個多用戶的圖書論文管理系統(tǒng),共有目錄文檔和受管文檔兩類文檔,其各自又包含結(jié)構(gòu)化數(shù)據(jù)和文本數(shù)據(jù)兩種數(shù)據(jù)類型。測試場景映射為數(shù)據(jù)庫的ER圖后,包含文檔、題目、章節(jié)、作者名等共8個實體,及這些實體之間的18個相互關(guān)系。
 
Xmark的測試場景是構(gòu)建了一個單用戶的網(wǎng)絡(luò)拍賣站點,模擬一個注冊用戶從挑選拍賣品開始,到出價定拍結(jié)束的整個流程。其主要實體有注冊用戶、拍賣品、出價等共6個,其之間交互關(guān)系有9個。
 
Xbench將測試場景依據(jù)應(yīng)用特性和數(shù)據(jù)特性分為四類:DC/SD、DC/MD、TC/SC和TC/MD。其分別模擬不同的在線應(yīng)用,如DC/SD模擬一個在線購物網(wǎng)站,DC/MD為B2B系統(tǒng)。但總體來說,其性質(zhì)還是偏向電子商務(wù)類的應(yīng)用系統(tǒng)。四類中最為復(fù)雜的DC/SD,其實體包括日期、發(fā)布者等十余個,關(guān)系也達到了數(shù)十個。從數(shù)量上來說,是五種基準(zhǔn)測試中最多的。
XOO7可以說是OO7基準(zhǔn)測試的XML版,其測試場景也是依據(jù)OO7而設(shè)定。構(gòu)建了一個用戶交互頻繁的電子商務(wù)系統(tǒng)。實體包括用戶信息、基本匯集信息等共11個,關(guān)系也達到了42條。是本次比較中,實體數(shù)僅次于Xbench的。
 
TpoX是五種基準(zhǔn)測試中面世最晚的,其在場景設(shè)計中,也借鑒了先前各種方法的經(jīng)驗。它仍然是構(gòu)建一個基于Web的電子商務(wù)系統(tǒng),但其實體數(shù)只有用戶、賬戶等共5個,其關(guān)系沒有事先指定,而是封裝在了41個外部的XSD文件中。這樣,在測試過程中,可以從XSD文件中靈活地選擇搭配,來組合出符合測試者關(guān)注點的測試場景。
 
測試數(shù)據(jù)
 
測試數(shù)據(jù)是指依據(jù)已有的測試場景,遵循實體--關(guān)系的定義,自動生成的大批量基礎(chǔ)數(shù)據(jù)。是在實際測試前,生成并輸入到數(shù)據(jù)庫中,做為測試用例的數(shù)據(jù)輸入。衡量測試數(shù)據(jù)是否有效,一般從數(shù)據(jù)量和數(shù)據(jù)生成方式兩方面進行。過小規(guī)模的數(shù)據(jù)量,無法模擬真實的使用環(huán)境;通過簡單的隨機方式生成的數(shù)據(jù),也無法有效地反映XML文檔管理系統(tǒng)的處理效率。
表1從默認(rèn)數(shù)據(jù)集容量、生成方式及種子來源三個方面對五種基準(zhǔn)測試進行了比較。
 

表1 測試數(shù)據(jù)比較

 

XQuery支持

W3C于2001年12月提出了XML查詢語言規(guī)范—XQuery語言。XQuery是一種對XML結(jié)構(gòu)的文檔和數(shù)據(jù)進行查詢的語言,它汲取了其它多種查詢語言的優(yōu)點,適用于各種類型的XML數(shù)據(jù)源的查詢,而且簡潔靈活易于實現(xiàn)。

當(dāng)前幾乎絕大多數(shù)的XML文檔管理系統(tǒng),都是基于XQuery來實現(xiàn)對XML文檔的CRUD操作。相應(yīng)的,五種基準(zhǔn)測試均不同程度上使用了XQuery技術(shù),來生成測試用例,以檢驗XML文檔管理的處理效率。

W3C制定的XML Query Use Case中舉出了XQuery操作實例,五種基準(zhǔn)測試均借鑒了其操作方式。為便于比較,將操作實例映射為數(shù)據(jù)庫的增加、查詢、更新與刪除操作(CRUD)。表2給出了各基準(zhǔn)測試對XQuery支持的情況。

需要指出的是,所生成的XQuery,依賴于被測的XML文檔管理系統(tǒng)。如TpoX所生成的XQuery查詢語句針對DB2進行了許多優(yōu)化,使得其七個語句充分?jǐn)U展后,可以支持CRUD四種操作。

 

測試數(shù)據(jù)比較
3 現(xiàn)有問題
 
XML基準(zhǔn)測試目前已經(jīng)在眾多實際XML數(shù)據(jù)集中的項目中,得到廣泛應(yīng)用:Amsterdam大學(xué)在ILPS項目中使用了xmach-1;Berkeley大學(xué)的B. Yanbin等人的XSet搜索引擎中使用了XBench;TPox在10T數(shù)據(jù)規(guī)模的實驗室環(huán)境中,成功地進行了測試。
 
盡管XML基準(zhǔn)測試在實際應(yīng)用有不錯的表現(xiàn),但其仍存在一些問題:
 
1)生成的部分XQuery語句已經(jīng)過時,與W3C標(biāo)準(zhǔn)不兼容
 
L. Afanasiev以Galax、SaxonB等以Native XML數(shù)據(jù)庫存儲XML文檔,進行了XMach-1、XOO7共5款基準(zhǔn)測試,發(fā)現(xiàn)在總共生成的163個XQuery語句中,有62個不符合W3C標(biāo)準(zhǔn)。XOO7由于開發(fā)版本較早,其22個語句竟然無一符合。
 
由于XML具有高度的自由性,盡管不符合W3C標(biāo)準(zhǔn),仍能被處理。但W3C標(biāo)準(zhǔn)代表了業(yè)界開發(fā)標(biāo)準(zhǔn),越來越多的產(chǎn)品以W3C標(biāo)準(zhǔn)作為開發(fā)規(guī)范。XML基準(zhǔn)測試如不能與W3C標(biāo)準(zhǔn)較好兼容的話,其測試結(jié)果將不能真實體現(xiàn)這些產(chǎn)品的實際性能。
 
2)測試場景單一,與實際使用的系統(tǒng)相差較大
 
按測試場景的應(yīng)用領(lǐng)域來分,Xmach-1模擬了圖書論文管理系統(tǒng),其余四款均是模擬了在線的電子商務(wù)系統(tǒng)。但對近年來大規(guī)模應(yīng)用XML的社交網(wǎng)絡(luò)、e-learning系統(tǒng),以上五種測試均未涉及。此外,在已模擬的電子商務(wù)場景中,各種測試生成的模擬操作均是成功的流程用例。但實際環(huán)境中,存在大量的交易取消和交易失敗的情況。Xbench對場景進行了細(xì)分,是五種測試中場景定義最好的,但也存在生成的用例,難以達到復(fù)雜應(yīng)用對系統(tǒng)輸入的要求。
 
3)測試數(shù)據(jù)類型只基于ASCII碼;內(nèi)容缺乏針對性;生成方式單一
 
五種基準(zhǔn)測試生成的測試數(shù)據(jù),絕大多數(shù)都是基于ASCII字符集的英文語系內(nèi)容,沒有設(shè)計其他語種的文字內(nèi)容。在軟件開發(fā)國際化要求越來越突出的背景下,不支持多語種大字符集(如Unicode)的基準(zhǔn)測試,很難得到廣泛應(yīng)用。
 
此外,測試數(shù)據(jù)的內(nèi)容過于寬泛,缺乏針對性。在使用非隨機數(shù)的基準(zhǔn)測試中,Xmach-1使用的是純詞頻優(yōu)先方式,對出現(xiàn)在主流報刊的詞匯進行挑選;Xbench選擇了牛津詞典作為數(shù)據(jù)來源;Xmark與Xmach-1類似,將常見的詞匯作為數(shù)據(jù)來源。這樣所選取的數(shù)據(jù),內(nèi)容覆蓋過廣,缺乏代表性,不能較好體現(xiàn)被測系統(tǒng)所面向特定領(lǐng)域的特點。如藥品的拉丁文英文譯名在實際情況下,極少出現(xiàn)在一家出售家用電器的B2B系統(tǒng)中。
 
生成方式單一也有可能會導(dǎo)致數(shù)據(jù)質(zhì)量不高。除Xbench使用了概率模型,其他幾種主要使用了隨機生成方法。由于隨機種子的限制,很難保證數(shù)據(jù)不出現(xiàn)重復(fù)。而數(shù)據(jù)重復(fù)現(xiàn)象,在TB級別的數(shù)據(jù)生成時,將較大影響測試效果。
 
結(jié) 論
 
XML基準(zhǔn)測試是一種衡量XML文檔管理技術(shù)的測試方法。本文從測試場景、測試數(shù)據(jù)和對XQuery支持三方面對五種主流的XML基準(zhǔn)測試進行了比較與分析。此后,指出了其現(xiàn)存的問題。
XML基準(zhǔn)測試在實際應(yīng)用中使用頻率逐漸增加,日益得到人們認(rèn)可。如能在未來的研發(fā)過程中,不斷完善功能,彌補自身現(xiàn)有缺陷,將成為評測XML文檔管理技術(shù)的有力工具。
 

 

責(zé)任編輯:桑丘 來源: 中國軟件評測中心
相關(guān)推薦

2010-05-07 11:03:01

RHEL 6.0Linux

2023-10-08 16:28:36

數(shù)據(jù)庫DuckDB

2013-05-07 09:47:30

測試MySQLMySQL測試

2009-09-03 11:47:43

Groovy與Java

2012-07-19 11:03:45

架構(gòu)服務(wù)器架構(gòu)架構(gòu)模型

2016-09-23 16:36:25

LinuxPCPhoronix

2012-10-11 10:51:39

開源IaaS云

2013-12-10 23:06:58

開源云平臺云計算

2017-04-27 10:38:28

排序算法比較分析

2012-07-02 14:47:38

HTML5

2021-07-17 15:25:05

PHP 8.1基準(zhǔn)測試開發(fā)

2009-02-09 11:06:19

WindowsUbuntuWindows7

2023-01-06 08:31:53

數(shù)據(jù)庫基準(zhǔn)測試

2023-07-31 09:13:13

ValidatorGolang

2009-10-10 11:11:40

服務(wù)器測試

2011-05-16 14:24:02

軟件測試

2010-01-08 13:42:21

JSON VS XML

2024-03-06 18:09:06

Linux性能工具

2011-04-08 15:19:04

開發(fā)工具開發(fā)

2018-05-23 09:15:54

存儲接口協(xié)議
點贊
收藏

51CTO技術(shù)棧公眾號