專利名稱:文檔格式轉(zhuǎn)換自動(dòng)測(cè)試方法及其裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及文檔處理技術(shù),尤其涉及一種基于XML代碼對(duì)文檔格式轉(zhuǎn)換的結(jié)果進(jìn)行自動(dòng)測(cè)試的方法及裝置。
背景技術(shù):
文檔是使用普遍的信息資源,但是目前世界上有1萬多種文檔,常用的文檔格式有300多種,彼此的兼容性很差。為了使得各種文檔格式之間具有較好的兼容性,現(xiàn)有技術(shù)中提供了很多文檔格式標(biāo)準(zhǔn)??蓴U(kuò)展置標(biāo)語言XML(extensible Markup Language)由于具有可驗(yàn)證性、可擴(kuò)展性和互操作性等特性,成為描述各類文檔格式標(biāo)準(zhǔn)的基礎(chǔ)。目前已存在多種基于XML的文檔格式標(biāo)準(zhǔn), 如OASIS組織的開放文檔格式0DF(0pen Document Format),微軟公司(Microsoft)的 OOXML(Office Open XML Format),和我國(guó)的“標(biāo)文通”UOF(Uniform Office Format)等。雖然文檔格式逐漸走向開放,但是由于多種標(biāo)準(zhǔn)的存在,文檔信息的共享和互操作問題仍然存在。為了實(shí)現(xiàn)辦公文檔在不同標(biāo)準(zhǔn)間的共享和互操作,目前已開發(fā)出多種能在各種標(biāo)準(zhǔn)之間進(jìn)行文檔格式轉(zhuǎn)換的軟硬件方案,即文檔格式轉(zhuǎn)換器。然而,文檔格式轉(zhuǎn)換的結(jié)果是否正確、轉(zhuǎn)換后的文檔內(nèi)容和格式是否能接受還需要進(jìn)行一定的測(cè)試和評(píng)估。目前,主要采用的是人工測(cè)試的方法,具體過程為將設(shè)計(jì)好的測(cè)試用例(源文檔)通過文檔格式轉(zhuǎn)換器得到另一標(biāo)準(zhǔn)格式的目標(biāo)文檔后,測(cè)試人員首先分別利用其支持的辦公軟件來打開源文檔和目標(biāo)文檔,比如用Microsoft Office打開00XML標(biāo)準(zhǔn)的源文檔、用WPS或永中軟件打開UOF標(biāo)準(zhǔn)的目標(biāo)文檔,然后逐一對(duì)比源文檔與目標(biāo)文檔的指定功能點(diǎn)(比如字體、字號(hào)、縮進(jìn)等屬性)是否一致來驗(yàn)證轉(zhuǎn)換結(jié)果是否正確。然而,該種人工測(cè)試方法存在著兩方面的問題第一,測(cè)試工作量巨大,人工測(cè)試效率和質(zhì)量低。據(jù)分析統(tǒng)計(jì),僅文字處理的常用功能就已達(dá)到200余個(gè),所有功能點(diǎn)約有848個(gè),對(duì)每個(gè)功能點(diǎn)而言需要根據(jù)其屬性范圍或標(biāo)準(zhǔn)規(guī)定的枚舉值設(shè)計(jì)不同的測(cè)試用例,因此用來測(cè)試全部功能點(diǎn)的測(cè)試用例數(shù)目將呈指數(shù)增加,這對(duì)于測(cè)試工作,尤其是對(duì)比源文檔和目標(biāo)文檔帶來了極大的壓力,降低了測(cè)試工作的效率。并且由于眾多的測(cè)試用例,很容易造成文檔對(duì)比過程的出現(xiàn)誤差,降低測(cè)試工作的質(zhì)量。第二,某些功能點(diǎn)可能無法進(jìn)行人工測(cè)試,比如現(xiàn)有的辦公軟件并不能完全地支持UOF標(biāo)準(zhǔn)。以字處理部分的陰影功能點(diǎn)為例,U0F1. 1標(biāo)準(zhǔn)中支持陰影的“X偏移量” 和“Y偏移量”,但是在永中軟件中并不能定量地給出陰影的偏移量。因此,僅僅使用辦公軟件來驗(yàn)證源文檔與目標(biāo)文檔相關(guān)功能點(diǎn)的屬性,會(huì)使測(cè)試工作受到辦公軟件的約束,給測(cè)試工作帶來困難和偏差。
發(fā)明內(nèi)容
本發(fā)明的目的是針對(duì)現(xiàn)有技術(shù)中存在的問題,提供一種文檔格式轉(zhuǎn)換的自動(dòng)測(cè)試方法及裝置,通過分析測(cè)試源文檔與目標(biāo)文檔的底層代碼,提取各個(gè)屬性信息,并對(duì)該些屬性信息進(jìn)行逐一對(duì)比,根據(jù)該對(duì)比結(jié)果來評(píng)估文檔格式轉(zhuǎn)換的結(jié)果是否正確,從而實(shí)現(xiàn)文檔格式轉(zhuǎn)換的自動(dòng)化測(cè)試。本發(fā)明基于文檔的XML底層代碼對(duì)文檔格式轉(zhuǎn)換進(jìn)行測(cè)試,有效地避免了前臺(tái)辦公軟件的約束,提高了測(cè)試的效率、準(zhǔn)確度和靈活性,可以使測(cè)試人員將更多的精力投入到設(shè)計(jì)高效的測(cè)試用例中。為了實(shí)現(xiàn)上述目的,本發(fā)明提供了一種文檔格式轉(zhuǎn)換的自動(dòng)測(cè)試方法,所述文檔格式轉(zhuǎn)換將具有第一文檔格式的源文檔轉(zhuǎn)換為具有第二文檔格式的目標(biāo)文檔,包括代碼讀取步驟,其分別讀取源文檔和目標(biāo)文檔的相關(guān)XML代碼;屬性提取步驟,其分別從源文檔和目標(biāo)文檔的相關(guān)XML代碼中提取源文檔和目標(biāo)文檔的各個(gè)原始屬性;比較評(píng)估步驟,其逐一比較源文檔的各個(gè)原始屬性和目標(biāo)文檔的各個(gè)對(duì)應(yīng)原始屬性,并根據(jù)比較結(jié)果來評(píng)估所述文檔格式轉(zhuǎn)換結(jié)果是否正確。為了實(shí)現(xiàn)上述目的,本發(fā)明還提供了一種文檔格式轉(zhuǎn)換的自動(dòng)測(cè)試裝置,所述文檔格式轉(zhuǎn)換將具有第一文檔格式的源文檔轉(zhuǎn)換為具有第二文檔格式的目標(biāo)文檔,包括代碼讀取模塊,其分別讀取源文檔和目標(biāo)文檔的相關(guān)XML代碼;屬性提取模塊,其與代碼讀取模塊相連接,分別從源文檔和目標(biāo)文檔的相關(guān)XML 代碼中提取源文檔和目標(biāo)文檔的各個(gè)原始屬性;比較評(píng)估模塊,其與屬性提取模塊相連接,逐一比較源文檔的各個(gè)原始屬性和目標(biāo)文檔的各個(gè)對(duì)應(yīng)原始屬性,并根據(jù)比較結(jié)果來評(píng)估所述文檔格式轉(zhuǎn)換結(jié)果是否正確。本發(fā)明提供的文檔格式轉(zhuǎn)換方法和裝置中,文檔為文字處理文檔或電子表格文檔或演示文稿文檔。本發(fā)明提供的文檔格式轉(zhuǎn)換方法和裝置中,第一文檔格式為OOXML標(biāo)準(zhǔn)、第二文檔格式為UOF標(biāo)準(zhǔn),或者第一文檔格式為UOF標(biāo)準(zhǔn)、第二文檔格式為OOXML標(biāo)準(zhǔn)。本發(fā)明提供的文檔格式轉(zhuǎn)換方法中,比較評(píng)估步驟包括原始屬性轉(zhuǎn)換步驟,其將源文檔和目標(biāo)文檔的各個(gè)原始屬性均轉(zhuǎn)換為統(tǒng)一定義的中間屬性;中間屬性比對(duì)步驟,其一一比對(duì)源文檔和目標(biāo)文檔的各個(gè)中間屬性;評(píng)估步驟,其根據(jù)中間屬性比對(duì)結(jié)果來評(píng)估所述文檔格式轉(zhuǎn)換結(jié)果是否正確。[本發(fā)明提供的技術(shù)方案具有的有益效果包括第一,避免了使用文檔前臺(tái)的文檔編輯軟件及其顯示界面,而直接對(duì)文檔后臺(tái)的底層代碼進(jìn)行處理,可以有效地實(shí)現(xiàn)對(duì)文檔格式轉(zhuǎn)換結(jié)果的自動(dòng)化測(cè)試,與目前采用的人工測(cè)試方法相比具有更高的效率和準(zhǔn)確度。第二,本發(fā)明可以實(shí)現(xiàn)基于功能點(diǎn)的自動(dòng)測(cè)試,其將對(duì)整個(gè)文檔的測(cè)試進(jìn)一步細(xì)化為不同重要級(jí)或不同功能級(jí)的各個(gè)功能點(diǎn)及屬性的測(cè)試,可以更加靈活和合理地評(píng)估文檔格式轉(zhuǎn)換結(jié)果。
圖1所示為本發(fā)明文檔格式轉(zhuǎn)換的自動(dòng)測(cè)試方法示意圖;圖2所示為本發(fā)明文檔格式轉(zhuǎn)換的自動(dòng)測(cè)試裝置結(jié)構(gòu)示意圖;圖3所示為OOXML底層代碼結(jié)構(gòu)示例;圖4所示為UOF底層代碼結(jié)構(gòu)示例;圖5所示為測(cè)試用例在用戶終端顯示的示例;
具體實(shí)施例方式下面通過附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。本發(fā)明提供的文檔格式轉(zhuǎn)換方法和裝置根據(jù)文檔的底層代碼來比較轉(zhuǎn)換前后文檔是否內(nèi)容和格式一致,而不需借助對(duì)文檔進(jìn)行編輯和查看的軟件前臺(tái)界面。底層代碼中包含的各個(gè)屬性一致則表明文檔格式轉(zhuǎn)換的過程沒有出現(xiàn)錯(cuò)誤,相反,如果底層代碼中包含的某個(gè)屬性不一致,則表明文檔格式轉(zhuǎn)換過程出現(xiàn)了內(nèi)容或格式方面的失真。由于目前存在的大多數(shù)標(biāo)準(zhǔn)均基于XML來描述文檔,所以可直接讀取文檔底層的XML代碼并提取相應(yīng)的屬性信息數(shù)據(jù)來進(jìn)行對(duì)比。以下參照附圖1,并按照各個(gè)具體步驟來進(jìn)一步闡述本發(fā)明提供的文檔格式轉(zhuǎn)換方法。步驟1,分別讀取源文檔和目標(biāo)文檔的相關(guān)XML代碼??蓴U(kuò)展標(biāo)記語言XML是一種簡(jiǎn)單的數(shù)據(jù)存儲(chǔ)語言,使用一系列簡(jiǎn)單的標(biāo)記描述數(shù)據(jù),而這些標(biāo)記可以用方便的方式建立。XML由于具有可驗(yàn)證性、可擴(kuò)展性和互操作性等特性,已成為描述各類文檔格式標(biāo)準(zhǔn)的基礎(chǔ)。如結(jié)構(gòu)化信息標(biāo)準(zhǔn)促進(jìn)組織OASIS的開放式文檔格式 ODF (Open Document Format)標(biāo)準(zhǔn),微軟(Microsoft)公司的 00XML (Office Open XML)標(biāo)準(zhǔn)以及我國(guó)自主制定的國(guó)家標(biāo)準(zhǔn)“標(biāo)文通"U0F(Unified Office Document Format) 都是以XML為基礎(chǔ)制定的。00XML將文檔看做一個(gè)容器,規(guī)定了其中的各個(gè)組成部件,除了少數(shù)代表圖形的二進(jìn)制數(shù)據(jù)或內(nèi)嵌OLE對(duì)象,大多數(shù)部件都采用XML文件形式。00XML標(biāo)準(zhǔn)格式的文檔底層對(duì)應(yīng)一組后臺(tái)的XML代碼文件壓縮包。UOF采用了 W3C XML Schema作為描述語言,定義了基于XML置標(biāo)語言的中文辦公文檔格式規(guī)范。UOF格式的文檔同樣對(duì)應(yīng)有一個(gè)后臺(tái)的XML代碼文件。后臺(tái)的XML代碼描述了文檔中數(shù)據(jù)信息在前臺(tái)的存儲(chǔ)和顯示方式,因而讀取文檔的后臺(tái)XML代碼即可獲知文檔中數(shù)據(jù)在前臺(tái)的存儲(chǔ)和顯示方式。步驟2,分別從源文檔和目標(biāo)文檔的相關(guān)XML代碼中提取源文檔和目標(biāo)文檔的各個(gè)原始屬性信息。 在諸如XML和SGML之類的標(biāo)記語言中,一組標(biāo)記、標(biāo)記之間的內(nèi)容以及標(biāo)記所含的所有屬性的組合稱為元素(element),屬性(attribute)則為文檔類型定義的基本構(gòu)成部分,用于給一個(gè)具體元素實(shí)例添加信息或修改其信息的一個(gè)名稱-值對(duì)。文檔的XML代碼中包含了段落縮進(jìn)、行間距、對(duì)齊方式、字體、字號(hào)等等定義文檔中數(shù)據(jù)的內(nèi)容和格式的屬性。原始屬性是從文檔XML代碼中提取的未進(jìn)行數(shù)值或格式轉(zhuǎn)換等處理的屬性信息。提取該些屬性信息即可獲知文檔的標(biāo)題、段落等各個(gè)組成部分的具體內(nèi)容和格式細(xì)節(jié),比如某段落的對(duì)齊方式、大綱級(jí)別、左縮進(jìn)值、右縮進(jìn)值和懸掛縮進(jìn)值等。文檔對(duì)象模型(Document Object Model,D0M)提供了一種通過分層對(duì)象模型來訪問XML文檔信息的方式,這些分層對(duì)象模型依據(jù)XML的文檔結(jié)構(gòu)形成了一棵節(jié)點(diǎn)樹,允許開發(fā)人員從文檔中讀取、搜索、修改、增加和刪除數(shù)據(jù)。XPath是一門在XML文檔中查找信息的語言,其使用路徑表達(dá)式來選取XML文檔中的節(jié)點(diǎn)或者節(jié)點(diǎn)集,可用來在XML文檔中對(duì)元素和屬性進(jìn)行遍歷。步驟3,逐一比較源文檔的各個(gè)原始屬性和目標(biāo)文檔的各個(gè)對(duì)應(yīng)原始屬性,并根據(jù)比較結(jié)果來評(píng)估文檔格式轉(zhuǎn)換是否正確。
5
如果文檔格式轉(zhuǎn)換前后的源文檔和目標(biāo)文檔的所有屬性均一致,則該兩個(gè)文檔中所有數(shù)據(jù)信息的內(nèi)容和格式必然相同,即文檔的存儲(chǔ)和顯示方式均相同,因而可以判斷該文檔格式轉(zhuǎn)換結(jié)果完全正確。如果其中某個(gè)屬性不一致,則表明文檔格式轉(zhuǎn)換過程出現(xiàn)了相應(yīng)的內(nèi)容或格式方面的失真,格式轉(zhuǎn)換結(jié)果不完全正確。此時(shí),可以標(biāo)記該屬性并給出相應(yīng)提示,并根據(jù)該屬性的重要程度、偏差程度等因素,來評(píng)估該文檔格式轉(zhuǎn)換結(jié)果的正確度以及該目標(biāo)文檔是否可以被接受。為了更加靈活和合理地進(jìn)行測(cè)試評(píng)估,本發(fā)明可以對(duì)文檔的功能點(diǎn)進(jìn)行一定的劃分,從而將整個(gè)文檔屬性的比對(duì)進(jìn)一步細(xì)化為各個(gè)功能點(diǎn)的比對(duì),即基于文檔的功能點(diǎn)來進(jìn)行自動(dòng)測(cè)試。所謂功能點(diǎn),是指文檔系統(tǒng)的一系列標(biāo)志性特征。把一個(gè)文檔格式或文檔處理系統(tǒng)看作是一個(gè)功能整體,而這個(gè)功能整體又是由若干具體功能點(diǎn)組合而成。對(duì)于流式文檔,常見的大的功能點(diǎn)包括元數(shù)據(jù)、式樣、書簽、超級(jí)鏈接、對(duì)象、節(jié)、段落、句、修訂、批注、列表、表格、文本框和圖形等等。這些大的功能點(diǎn)還可以細(xì)化為上千個(gè)小的功能點(diǎn),比如段落可以細(xì)化為左縮進(jìn)、行間距和孤行控制等等。功能點(diǎn)可以劃分為多個(gè)層次或級(jí)別,其劃分可以有兩種方式,即按重要級(jí)劃分和按功能級(jí)劃分。按重要級(jí)劃分是將所有功能點(diǎn)劃分為內(nèi)容和格式兩個(gè)等級(jí),內(nèi)容包含著文檔記載的主要信息,信息量更大,重要性更高,而格式為內(nèi)容顯示和存儲(chǔ)的方式,重要性相對(duì)更低。如果在比對(duì)時(shí)屬于內(nèi)容的某些屬性不一致,則可以直接判定該格式轉(zhuǎn)換出現(xiàn)了較大的誤差。相反,如果在比對(duì)時(shí)僅僅屬于格式的某些屬性不一致,雖然判定格式轉(zhuǎn)換結(jié)果出現(xiàn)失真,但在不影響對(duì)整個(gè)文檔信息理解的情況下仍然可以選擇接受該轉(zhuǎn)換結(jié)果。按功能級(jí)劃分是將文檔涉及到的所有屬性分成多個(gè)一級(jí)功能點(diǎn)和二級(jí)功能點(diǎn)。辦公文檔的一級(jí)功能點(diǎn)主要有段落、句式樣、元數(shù)據(jù)、表格屬性、預(yù)定義圖形等等,約20到30 個(gè)。一級(jí)功能點(diǎn)可以看做一個(gè)容器,將其下屬的二級(jí)功能點(diǎn)包含進(jìn)來,比如段落該一級(jí)功能點(diǎn)下屬的二級(jí)功能點(diǎn)包括對(duì)齊方式、縮進(jìn)等屬性,句式樣該一級(jí)功能點(diǎn)下屬的二級(jí)功能點(diǎn)包括句子內(nèi)容、字體、字號(hào)、顏色等屬性。因此,整個(gè)文檔所有屬性的比對(duì)過程可以細(xì)化為各個(gè)一級(jí)功能點(diǎn)的比對(duì),而每個(gè)一級(jí)功能點(diǎn)的比對(duì)過程可以進(jìn)一步細(xì)化為其下屬的各個(gè)二級(jí)功能點(diǎn)屬性的比對(duì)。雖然OOXML和UOF等文檔標(biāo)準(zhǔn)都是基于XML語言,但是各個(gè)標(biāo)準(zhǔn)在計(jì)量單位、描述方式以及內(nèi)容結(jié)構(gòu)可能存在較大差異。例如設(shè)置段落的樣式屬性為對(duì)齊方式為“右對(duì)齊”, 大綱級(jí)別為“2級(jí)”,左側(cè)縮進(jìn)為“2字符”,右側(cè)縮進(jìn)為“ 1字符”,懸掛縮進(jìn)為“ 1. 5字符”,則其中OOXML對(duì)應(yīng)的底層代碼結(jié)構(gòu)如圖3所示,而UOF對(duì)應(yīng)的底層代碼結(jié)構(gòu)則如圖4所示,可見兩者在計(jì)量單位和描述結(jié)構(gòu)等方面均存在差異。正因?yàn)镺OXML和UOF標(biāo)準(zhǔn)之間的該些差異,從格式為OOXML和UOF標(biāo)準(zhǔn)的文檔中提取的原始屬性可能無法一一對(duì)應(yīng),因而無法直接對(duì)該些原始屬性進(jìn)行相應(yīng)的比對(duì)。此時(shí),可以將兩種標(biāo)準(zhǔn)的該些原始屬性均轉(zhuǎn)換為計(jì)量單位、描述方式和內(nèi)容結(jié)構(gòu)等各方面均定義統(tǒng)一的中間屬性,并對(duì)該些中間屬性進(jìn)行一一比對(duì),然后根據(jù)中間屬性的比對(duì)結(jié)果來評(píng)估該格式轉(zhuǎn)換結(jié)果是否正確。為了方便對(duì)原始屬性進(jìn)行轉(zhuǎn)換,可以先建立一個(gè)統(tǒng)一的中間模型,該中間模型定義了實(shí)際需要比對(duì)的中間屬性的描述方式及其數(shù)值的計(jì)量方式,然后按照該中間模型的形式來分別將源文檔和目標(biāo)文檔的原始屬性轉(zhuǎn)換為中間屬性,再對(duì)各個(gè)對(duì)應(yīng)的中間屬性進(jìn)行一一比對(duì)。如果源文檔和目標(biāo)文檔的中間屬性均一致,則表明該文檔格式轉(zhuǎn)換結(jié)果正確。
本發(fā)明提供的文檔格式轉(zhuǎn)換自動(dòng)測(cè)試方法避免了使用文檔前臺(tái)的文檔編輯軟件及其顯示界面,而直接對(duì)文檔后臺(tái)的底層代碼進(jìn)行處理,可以有效地實(shí)現(xiàn)對(duì)文檔格式轉(zhuǎn)換結(jié)果的自動(dòng)化測(cè)試,與人工測(cè)試相比具有更高的效率和準(zhǔn)確度。并且,本發(fā)明提供的方法可以實(shí)現(xiàn)基于功能級(jí)的自動(dòng)測(cè)試,將對(duì)整個(gè)文檔的測(cè)試進(jìn)一步細(xì)化為不同重要級(jí)或不同功能級(jí)的各個(gè)功能點(diǎn)的測(cè)試,可以更加靈活和合理地評(píng)估文檔格式轉(zhuǎn)換結(jié)果。本發(fā)明提供的文檔格式轉(zhuǎn)換自動(dòng)測(cè)試裝置的結(jié)構(gòu)如附圖2所示,其主要由代碼讀取模塊、屬性提取模塊和比較評(píng)估模塊組成,其中的代碼讀取模塊分別讀取源文檔和目標(biāo)文檔的相關(guān)XML代碼,并將該些XML代碼輸入屬性提取模塊。屬性提取模塊分別從該些相關(guān)XML代碼中提取源文檔和目標(biāo)文檔的各個(gè)原始屬性,并將該些原始屬性輸入比較評(píng)估模塊。比較評(píng)估模塊一一比較源文檔的各個(gè)原始屬性和目標(biāo)文檔的各個(gè)對(duì)應(yīng)原始屬性,并根據(jù)比較結(jié)果來評(píng)估所述文檔格式轉(zhuǎn)換結(jié)果是否正確。本發(fā)明中的文檔可以是電子表格文檔、演示文稿文檔或者文字處理文檔,也可以是復(fù)合文檔或文檔的片段。本發(fā)明各實(shí)施例中主要以文字處理文檔為例來進(jìn)行介紹。下面以對(duì)文字處理文檔從OOXML格式轉(zhuǎn)換為UOF格式進(jìn)行自動(dòng)測(cè)試為例,說明本發(fā)明的具體實(shí)施過程。假設(shè)OOXML格式的測(cè)試用例(源文檔)和其轉(zhuǎn)換得到的UOF格式目標(biāo)文檔在用戶終端均顯示為圖5所示。由于文檔的XML代碼篇幅較大,下面僅以測(cè)試文檔的第三段落(即第三行)的段落縮進(jìn)格式為例來說明本發(fā)明文檔格式轉(zhuǎn)換的自動(dòng)測(cè)試過程。步驟1,讀取OOXML格式源文檔的相應(yīng)XML文檔組,第三段落格式涉及的主要XML
代碼為
<w:p w:rsidP="00A439EC" w:rsidRDefault="00647A41" w:rsidR="00A75149"> <w:pPr>
<w:ind w :right="399" w:rightChars="190" w:left="273"
w:leftChars="-50" w:hanging="378" w:hangingChars="180"/>
</w:pPr> <w:r> <w:r> </w:p>同樣地,讀取UOF格式目標(biāo)文檔的相應(yīng)XML文檔,該段落涉及的主要XML代碼為<字:段落 uof:loclD="t0051" uof:attrList="標(biāo)識(shí)符"字:標(biāo)識(shí)符="p2"> <字:段落屬性u(píng)of:loclD="t0052" uof:attrList="式樣引用"字:式樣引用 ="idO">
<字:對(duì)齊uof:loclD="t0055" uof:attrList="水平對(duì)齊文字對(duì)齊"字:水平 對(duì)齊="right"/>
ぐ字縮進(jìn) uof:loclD="t0056"> <字:左 uof:loclD="t0182">
<字:相対 uof:loclD="t0186" uof:attrList="值"字:值="-0.5"/> </字:左>
く字:右 uof:loclD="t0183">
<字:相対 uof:loclD="t0188" uof:attrList="值"字:值="1.9"/> </字:右>
く字:首行 uof:loclD="t0184">
<字:相対 uof:loclD="t0190" uof:attrList="值"字:值="-1.8"/>
</字:首行> </字:縮進(jìn)> </字:段落屬性> ぐ字:句 uof:loclD="t0085"> ぐ字:句 uof:loclD="t0085"> く字:句 uof:loclD="t0085"> </字:段落>步驟2,分別從上述兩段XML代碼中提取有關(guān)段落的各個(gè)原始屬性。從OOXML格式源文檔的XML代碼中提取的段落屬性包括左縮進(jìn)left、IeftChars、 右縮;t4 right、rightChars、Il オ丁縮; firstLine、firstLineChars> ;S:掛縮;( hanging、 hangingChars等,具體數(shù)值為left 273IeftChars :_50right 399rightChars :190firstLine 0
firstLineChars 0hanging :378hangingChars 180從UOF格式目標(biāo)文檔的XML代碼中提取所述段落的原始屬性包括左縮進(jìn)相對(duì)值、 左縮進(jìn)絕對(duì)值、右縮進(jìn)相對(duì)值、右縮進(jìn)絕對(duì)值、首行縮進(jìn)絕對(duì)值和首行縮進(jìn)相對(duì)值等,具體數(shù)值為左縮進(jìn)-相對(duì)-0. 5左縮進(jìn)-絕對(duì)0右縮進(jìn)-相對(duì)1. 9右縮進(jìn)-絕對(duì)0首行縮進(jìn)-相對(duì)-1· 8首行縮進(jìn)-絕對(duì)0步驟3,從上述提取的原始屬性可以看出,OOXML格式源文檔和UOF格式目標(biāo)文檔對(duì)于段落屬性在計(jì)量單位、描述方式等方面存在著一定的差異。此時(shí),可以將提取的原始屬性均轉(zhuǎn)換為統(tǒng)一定義的中間屬性,使得源文檔和目標(biāo)文檔提取的相關(guān)屬性數(shù)據(jù)結(jié)構(gòu)一致, 其屬性值按照統(tǒng)一的方式計(jì)算。為了方便對(duì)原始屬性進(jìn)行轉(zhuǎn)換和比對(duì),可以先建立一個(gè)統(tǒng)一的中間模型,該中間模型定義了實(shí)際需要比對(duì)的中間屬性的描述方式及其數(shù)值的計(jì)量方式,然后按照該中間模型的形式來分別將源文檔和目標(biāo)文檔的原始屬性轉(zhuǎn)換為中間屬性。 在本實(shí)施例中可以將段落縮進(jìn)屬性按{左縮進(jìn),右縮進(jìn),特殊形式}的中間模型來統(tǒng)一定義中間屬性,其中的“左縮進(jìn)”和“右縮進(jìn)”均采用相對(duì)值,而“特殊形式”可以選擇首行縮進(jìn)或懸掛縮進(jìn)的相對(duì)值。因此,分別根據(jù)OOXML和UOF標(biāo)準(zhǔn)對(duì)左縮進(jìn)、右縮進(jìn)和首行縮進(jìn)等屬性的計(jì)算規(guī)定,將提取的上述原始屬性轉(zhuǎn)換為中間屬性。由于本實(shí)施例采用的該中間屬性的定義與UOF標(biāo)準(zhǔn)一致,因此UOF格式目標(biāo)文檔的段落中間屬性值即為左縮進(jìn)-0.5右縮進(jìn)1·9特殊形式-1· 8按照OOXML標(biāo)準(zhǔn)的相關(guān)規(guī)定計(jì)算得到的OOXML格式源文檔的段落中間屬性值分別為左縮進(jìn)-0.5右縮進(jìn)1.9特殊形式-1· 8然后,對(duì)上述得到的各個(gè)中間屬性進(jìn)行一一比對(duì),并根據(jù)對(duì)比結(jié)果評(píng)估格式轉(zhuǎn)換的結(jié)果是否正確。如果各個(gè)中間屬性比對(duì)結(jié)果均相同,則判斷格式轉(zhuǎn)換結(jié)果完全正確。反之,則判斷該文檔格式轉(zhuǎn)換出現(xiàn)了一定的內(nèi)容或格式方面的失真,并可給出相應(yīng)提示信息, 以提示失真的具體情況。在本實(shí)施中,所述段落的中間屬性均一致,因而判斷出該文檔格式轉(zhuǎn)換沒有出現(xiàn)段落縮進(jìn)格式方面的失真。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件和軟件來完成,前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中, 該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括R0M、RAM、磁
9碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。 最后應(yīng)說明的是以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案而非對(duì)其進(jìn)行限制, 盡管參照較佳實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然可以對(duì)本發(fā)明的技術(shù)方案進(jìn)行修改或者等同替換,而這些修改或者等同替換亦不能使修改后的技術(shù)方案脫離本發(fā)明技術(shù)方案的精神和范圍。
權(quán)利要求
1.一種文檔格式轉(zhuǎn)換的自動(dòng)測(cè)試方法,所述文檔格式轉(zhuǎn)換將具有第一文檔格式的源文檔轉(zhuǎn)換為具有第二文檔格式的目標(biāo)文檔,其特征在于,包括代碼讀取步驟,其分別讀取源文檔和目標(biāo)文檔的相關(guān)XML代碼; 屬性提取步驟,其分別從源文檔和目標(biāo)文檔的相關(guān)XML代碼中提取源文檔和目標(biāo)文檔的各個(gè)原始屬性;比較評(píng)估步驟,其逐一比較源文檔和目標(biāo)文檔的各個(gè)對(duì)應(yīng)原始屬性,并根據(jù)比較結(jié)果來評(píng)估所述文檔格式轉(zhuǎn)換結(jié)果是否正確。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述文檔為文字處理文檔或電子表格文檔或演示文稿文檔。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述第一文檔格式為OOXML標(biāo)準(zhǔn),所述第二文檔格式為UOF標(biāo)準(zhǔn)。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述第一文檔格式為UOF標(biāo)準(zhǔn),所述第二文檔格式為OOXML標(biāo)準(zhǔn)。
5.根據(jù)權(quán)利要求3或4所述的方法,其特征在于,所述比較評(píng)估步驟包括原始屬性轉(zhuǎn)換步驟,其將源文檔和目標(biāo)文檔的各個(gè)原始屬性轉(zhuǎn)換為統(tǒng)一定義的中間屬性;中間屬性比對(duì)步驟,其一一比對(duì)源文檔和目標(biāo)文檔的各個(gè)中間屬性;評(píng)估步驟,其根據(jù)中間屬性比對(duì)結(jié)果來評(píng)估所述文檔格式轉(zhuǎn)換結(jié)果是否正確。
6.根據(jù)權(quán)利要求4或5所述的方法,其特征在于,所述原始屬性轉(zhuǎn)換步驟包括 建立中間模型,所述中間模型定義了實(shí)際需要比對(duì)的屬性的描述方式及其數(shù)值的計(jì)量方式,然后按照該中間模型的形式來分別將源文檔和目標(biāo)文檔的原始屬性轉(zhuǎn)換為中間屬性。
7.一種文檔格式轉(zhuǎn)換的自動(dòng)測(cè)試裝置,所述文檔格式轉(zhuǎn)換將具有第一文檔格式的源文檔轉(zhuǎn)換為具有第二文檔格式的目標(biāo)文檔,其特征在于,包括代碼讀取模塊,其分別讀取源文檔和目標(biāo)文檔的相關(guān)XML代碼; 屬性提取模塊,其與代碼讀取模塊相連接,分別從源文檔和目標(biāo)文檔的相關(guān)XML代碼中提取源文檔和目標(biāo)文檔的各個(gè)原始屬性;比較評(píng)估模塊,其與屬性提取模塊相連接,逐一比較源文檔的各個(gè)原始屬性和目標(biāo)文檔的各個(gè)對(duì)應(yīng)原始屬性,并根據(jù)比較結(jié)果來評(píng)估所述文檔格式轉(zhuǎn)換結(jié)果是否正確。
8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述文檔為文字處理文檔或電子表格文檔或演示文稿文檔。
9.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述第一文檔格式為OOXML標(biāo)準(zhǔn),所述第二文檔格式為UOF標(biāo)準(zhǔn)。
10.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述第一文檔格式為UOF標(biāo)準(zhǔn),所述第二文檔格式為OOXML標(biāo)準(zhǔn)。
全文摘要
本發(fā)明涉及文檔處理技術(shù),本發(fā)明提供的文檔格式轉(zhuǎn)換方法中,比較評(píng)估步驟包括原始屬性轉(zhuǎn)換步驟,其將源文檔和目標(biāo)文檔的各個(gè)原始屬性均轉(zhuǎn)換為統(tǒng)一定義的中間屬性;中間屬性比對(duì)步驟,其一一比對(duì)源文檔和目標(biāo)文檔的各個(gè)中間屬性;評(píng)估步驟,其根據(jù)中間屬性比對(duì)結(jié)果來評(píng)估所述文檔格式轉(zhuǎn)換結(jié)果是否正確。本發(fā)明避免了使用文檔前臺(tái)的文檔編輯軟件及其顯示界面,而直接對(duì)文檔后臺(tái)的底層代碼進(jìn)行處理,可以有效地實(shí)現(xiàn)對(duì)文檔格式轉(zhuǎn)換結(jié)果的自動(dòng)化測(cè)試,與目前采用的人工測(cè)試方法相比具有更高的效率和準(zhǔn)確度,其將對(duì)整個(gè)文檔的測(cè)試進(jìn)一步細(xì)化為不同重要級(jí)或不同功能級(jí)的各個(gè)功能點(diǎn)及屬性的測(cè)試,可以更加靈活和合理地評(píng)估文檔格式轉(zhuǎn)換結(jié)果。
文檔編號(hào)G06F17/21GK102289407SQ20111026248
公開日2011年12月21日 申請(qǐng)日期2011年9月6日 優(yōu)先權(quán)日2011年9月6日
發(fā)明者牟永敏 申請(qǐng)人:北京信息科技大學(xué), 牟永敏