郭 盈,周潤松
(工業(yè)和信息化部計算機與微電子發(fā)展研究中心(中國軟件評測中心)北京 100048)
目前,辦公軟件體系中存在3大文檔格式陣營,開源openoffice 的文檔格式 ODF (Open Doucment Format)[1], 微軟office 軟件支持的 OOXML(Microsoft Office OpenXML)[2-5]和國產(chǎn)辦公軟件文檔格式 UOF(Uniform Office-document Format)[3],這些文檔格式主要是為了解決不同辦公軟件間互操作性和兼容性,文檔格式采用XML結果的形式對文檔的結構、文檔的內(nèi)容、文檔的風格以及文檔的表現(xiàn)形式進行存儲。
開放文檔格式聯(lián)盟(ODF)和OASIS標準組織制定了基于 XML的開放文檔格式 ODF(Open Document Format),它主要用來對那些可編輯的辦公文檔進行格式排版和存儲。ODF標準于2007年5月被接納為國際標準ISO/IEC26300。
微軟在Vista和Office 2007引進了被稱為OOXML(Office Open XML)的文件格式。OOXML,是基于 XML的一種Microsoft Office格式下的內(nèi)部數(shù)據(jù)存儲結構,其中存在著大量的私有標準和技術[1]。OOXML在2006年12月 7日被Ecma(“行業(yè)標準”的非盈利企業(yè)聯(lián)合會)批準,成為“Ecma標準”。2007年1月5日,微軟的OOXML文檔格式由Ecma提交國際標準組織ISO審查。9月,微軟OOXML文檔標準申請國際標準的預備投票結果沒有通過。2008年3月31日,在ISO和IEC的第2次投票表決中通過,成為第2個文檔格式國際標準。
我國國家標準UOF(GB/T 20916-2007《中文辦公軟件文檔格式規(guī)范》)于 2002年開始制定,并于2007年9月1日正式推廣[6]。目前,UOF也正在與成為國際標準的開放文檔格式ODF進行融合。
UOF標準的制定,使得國產(chǎn)辦公軟件廠商能夠有效掌握國內(nèi)市場競爭的主動權,擺脫了過去高成本兼容微軟Office文檔格式的被動事實,使得更大的利益和生存空間。在2009年,國家重大專項組提議建立了核高基(核心電子器件、高端通用芯片及基礎軟件產(chǎn)品),其中明確了國產(chǎn)基礎軟件為重大專項中一個重點方向,其中辦公軟件被列入基礎軟件專項。為了有效推廣UOF標準在國內(nèi)的示范應用,從而彌補標準的不足,使得UOF標準更加的完善。在辦公軟件領域,由于文檔是信息的重要載體,文檔格式的國際標準之爭也就是信息資源控制權之爭,影響著世界軟件的前途。
本文主要研究UOF文檔的結構,提出UOF文檔標準符合測試方法,其中包括UOF文檔驗證測試、UOF文檔標準符合性測試、UOF文檔標準兼容性測試和對ODF和OOXML標準支持性測試方法。在此基礎之上給出自動化測試的技術,提高了軟件測試人員對其標準符合測試的效率,排除了人為因素的干擾,保證了辦公軟件的質量。
UOF是基于XML置標語言、擁有自主知識產(chǎn)權的中文辦公軟件文檔格式國家標準,全稱為 “統(tǒng)一辦公文檔格式標準”,支持文字處理、電子表格和演示文稿等應用。
UOF標準制定了一整套XSD規(guī)約來對文檔進行標準化,其中主要包括 uof.xsd,字.xsd(文字處理格式),演.xsd(幻燈片處理格式),表.xsd(表格處理格式),圖.xsd(嵌圖格式)。同時還包括W3C組織制定的數(shù)字,svg,content和presentation等相關的xsd約束。
在標準驗證的重點是uof.xsd,字.xsd(文字處理格式),演.xsd(幻燈片處理格式),表.xsd(表格處理格式),圖.xsd(嵌圖格式),這些是由國家標準化研究所制定被國家采納制定的國家標準。
標文通采用7個命名空間來描述文檔格式如下表格:
技術特點如下:UOF的總體結構獨立、完整、開放和可擴展。采用W3C的XML Schema為元語言描述文檔格式結構,采用了以元素為主體的描述體系,使結構層次更加清晰,增強了schema的靈活性和可擴展性。
UOF的數(shù)據(jù)以文件形式存儲,采用了特殊的文件結構。采用這種設計基于兩個出發(fā)點:一是便于信息檢索,二是節(jié)省存儲空間。例如,因為XML數(shù)據(jù)是純文本的 樹形結構,十分便于檢索,人們希望存儲格式就是一個標準的XML文件。 然而,有些辦公文檔含有大量的圖片等多媒體數(shù)據(jù),采用純文本形式描述文件體積會很龐大,因此希望盡可能有效地加以壓縮。 這種文件存儲格式的設計兼顧了這兩種需求。 UOF2.0及將來的格式將會在這方面有很大的優(yōu)勢。
表1 標文通的命名空間結構Tab.1 UOF Namespace structure
驗證UOF文檔指標項在數(shù)據(jù)項名稱、數(shù)據(jù)項標識、數(shù)據(jù)類型、數(shù)據(jù)長度等方面的標準符合性。核心元數(shù)據(jù)格式標準符合性測試主要實現(xiàn)核心元數(shù)據(jù)的格式規(guī)范性測試,包括元數(shù)據(jù)定義、英文名稱、數(shù)據(jù)類型、值域等方面的測試工作。
這包括兩方面的內(nèi)容:1)UOF文檔的合法性驗證;2)UOF文檔的元數(shù)據(jù)格式標準驗證。即依據(jù)標準校驗文檔的元素有效性,給出相關報告;依據(jù)標準校驗文檔的屬性有效性,給出相關報告;依據(jù)標準校驗文檔的內(nèi)容的類型有效性,給出相關報告;依據(jù)標準校驗文檔的枚舉數(shù)據(jù)的有效性,給出相關報告;依據(jù)標準校驗文檔的元素嵌套關系,給出相關報告;依據(jù)標準驗證文檔元素的順序關系,給出相關報告。
1)用產(chǎn)品A打開案例uof文件,截屏為A.bmp位圖文件。將此A.bmp位圖與案例bmp位圖比較,找出bug(不同的地方即為bug)記錄到結果登記表格中。
2)將A產(chǎn)品打開的案例uof文件另存為A.uof文件,然后用設計的驗證器打開進行schema校驗,找出bug(不同的地方即為bug)記錄到結果登記表格中。
3)將另存為的A.uof文件與案例uof文件進行比較,找出bug(不同的地方即為bug)記錄到結果登記表格中。
圖1 UOF文檔符合性測試Fig.1 Diagram of UOF compliance testing
其中案例的設計主要是按照字處理、電子表格和演示文稿3類來設計。主要考慮文檔結構基本元素,逸字處理類為例,設計為元數(shù)據(jù)、頁面設置、段落設置、字體設置、樣式設置、域管理、腳注尾注設置、書簽測試、標注設置、題注、項目符號和標號、修訂、超鏈接等。
圖2 UOF文檔兼容性測試Fig.2 Diagram of UOF compatibility testing
1)如果A對此案例的符合性測試已經(jīng)做過,可以直接把做符合性測試時的截圖和另存的uof文件拷貝過來使用。
2)用產(chǎn)品B打開A另存為的 A.uof文件,截屏為 B2A.bpm位圖。將A.bpm與B2A.bpm進行比較,將bug(不同的地方即為bug)記錄到結果登記表格中。
3)B打開的A.uof文件再另存為B2A.uof文件,將B2A.uof與A.uof與進行比較,將 bug(不同的地方即為 bug)記入結果登記表格中。
案例的設計同2.2描述。
圖3 ODF和OOXML文檔支持性測試Fig.3 Diagram of supporting testing for ODF and OOXML
1)ODF支持性測試方法:
使用OpenOffice編輯指定規(guī)范的odf文檔保存為odf.odf文件,同時顯示展示效果并截圖為odf.bmp使用產(chǎn)品A打開odf.odf文件,截圖為A.bmp,將其與odf.bmp進行對比,找出bug,記錄到測試結果中使用產(chǎn)品A打開odf.odf文件,保存為UOF文件格式,對其進行有效性驗證。
2)OOXML支持性質測試方法:
使用MicrosoftOffice編輯指定規(guī)范的ooxml文檔保存為MO.ooxml文件,同時顯示展示效果并截圖為MO.bmp使用產(chǎn)品 A打開 MO.ooxml文件,截圖為 A.bmp,將其與ooxml.bmp進行對比,找出bug,記錄到測試結果中使用產(chǎn)品A打開MO.ooxml文件,保存為ooxml文件格式,對其進行有效性驗證。
通過UOF文檔格式結構分析,UOF是基于XML文件形式,由多個XSD限定其結構。類似XML是一個數(shù)據(jù)庫,而XSD可被認為是數(shù)據(jù)庫的數(shù)據(jù)結構。因此在驗證UOF標準的有效合法性時,主要通過XSD去驗證UOF文檔的正確合法性。
驗證中主要可檢測的錯誤如下:
1)使用無效(未定義)的元素名
2)元素缺少必須的屬性
3)元素使用的先后順序錯誤
4)屬性值數(shù)據(jù)類型錯誤
5)屬性值不在定義的枚舉值中
6)locID屬性值不等于它的固定值
7)引用未聲明過的ID值
核心算法的偽代碼如下:
UOF文檔格式的制定對國產(chǎn)辦公軟件的推廣與普及奠定了基礎,國產(chǎn)辦公軟件對UOF文檔支持程度反映了國產(chǎn)軟件研發(fā)的質量,支持的程度越高,越能增加國民對其的信任度。本文針對UOF文檔標準進行研究,提出的國產(chǎn)辦公軟件對其標準的符合測試方法、對其國外標準的支持測試和驗證技術,快速的發(fā)現(xiàn)軟件缺陷,有效的保證國產(chǎn)辦公軟件的質量。
[1]Open Document Format for Office Applications[S].OASIS,version1.1,2007.
[2]Information technology-Document description and processing languages-Office Open XML File Formats-Part 1:Fundamentals and Markup Language Reference[S].ISO/IEC,F(xiàn)irst edition,2008.
[3]Information technology-Document description and processing languages-Office Open XML File Formats-Part 2:Open Packing Conventions[S].ISO/IEC, First edition,2008.
[4]Information technology-Document description and processing languages-Office Open XML File Formats-Part 3:Markup CompatibilityandExtensibility[S].ISO/IEC,F(xiàn)irstedition,2008.
[5]Information technology-Document description and processing languages-Office Open XML File Formats-Part 4:Transitional Migration Features[S].ISO/IEC, First edition,2008.
[6]GBT20916-2007中文辦公軟件文檔格式規(guī)范[S].國家質量監(jiān)督檢驗檢疫總局,2007.