• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于詞法分析的超鏈接自動測試技術(shù)與實現(xiàn)

      2010-06-22 03:41:08黃茂生楊春暉
      現(xiàn)代電子技術(shù) 2009年22期
      關(guān)鍵詞:實現(xiàn)設(shè)計

      黃茂生 楊春暉

      摘 要:為應(yīng)對B/S構(gòu)架應(yīng)用系統(tǒng)和三層構(gòu)架應(yīng)用系統(tǒng)的鏈接測試需求,基于詞法分析設(shè)計實現(xiàn)超文本鏈接自動測試,解決手工測試的不足和引進國外自動化測試工具對中文支持的局限性。通過分析超文本詞法的特點,探討超文本鏈接測試自動化的可行性,介紹利用該技術(shù)實現(xiàn)自動測試工具的總體設(shè)計、功能設(shè)計、流程設(shè)計與實現(xiàn)。通過在實際項目的使用和驗證表明,該技術(shù)不僅可以有效提高超鏈接測試的覆蓋率,而且有效提高了測試驗證的效率和準(zhǔn)確性,降低超文本鏈接的測試驗證工作量。

      關(guān)鍵詞:超鏈接;詞法分析;自動測試工具;設(shè)計;實現(xiàn)

      中圖分類號:TP393

      0 引 言

      隨著互聯(lián)網(wǎng)的高速發(fā)展,B/S構(gòu)架特別是三層構(gòu)架以其易于部署和維護性,成為絕大部分軟件應(yīng)用系統(tǒng)的首選,B/S構(gòu)架應(yīng)用系統(tǒng)和三層構(gòu)架應(yīng)用系統(tǒng)有一個共同的特點就是客戶端的瀏覽器負責(zé)解釋超文本文件,最終生成訪問者看到的頁面形式。頁面使用的表現(xiàn)語言都是超文本標(biāo)記語言(Hyper Text Markup Language,HTML)語言,或稱為“多媒體文件語言”,超文本頁面內(nèi)嵌的圖片、頁面內(nèi)的相互引用以及超文本之間的跳轉(zhuǎn)等都是通過超鏈接來實現(xiàn),這使得超文本鏈接數(shù)量非常龐大,也是出現(xiàn)Bug最多的地方,比如鏈接目標(biāo)對象不存在、引用絕對路徑鏈接、內(nèi)嵌文件過多導(dǎo)致HTML文件過大下載性能下降等,因此驗證鏈接的正確性是B/S構(gòu)架應(yīng)用系統(tǒng)開發(fā)測試的重要工作之一。

      目前,常用的超鏈接測試技術(shù)包括手工點擊測試和引進國外測試工具進行自動測試等,這些手段和技術(shù)在實際工作中都存在著不足:采用人工點擊測試驗證鏈接的正確性,其工作量巨大,且難于保證100%的覆蓋,對一些因漏點擊而遺留的Bug,利用人工再測試也很難100%發(fā)現(xiàn)。而引進和使用國外的軟件測試工具實施自動測試,則存在漢字兼容等問題,這些測試工具因是國外公司開發(fā),對中文文件名、中文標(biāo)簽等的支持不十分完善,容易出現(xiàn)漏報和誤報等現(xiàn)象,未能很好解決超文本頁面開發(fā)設(shè)計面臨的測試驗證問題。

      1 超文本詞法特點及自動化測試技術(shù)

      1.1 超文本詞法特點分析

      B/S構(gòu)架應(yīng)用系統(tǒng)和三層構(gòu)架應(yīng)用系統(tǒng)都是由客戶端的瀏覽器負責(zé)解釋超文本文件,最終生成頁面形式,如圖1所示。它的表現(xiàn)語言HTML 是一種描述文檔結(jié)構(gòu)而不描述實際的語言,用HTML語言書寫的頁面是普通的文本文檔(ASCII),不含任何與平臺和程序相關(guān)的信息,可以被任何文本編輯器讀取,文字和圖形可以同時在同一頁面中顯示,在Internet/ Intranet上,客戶端的瀏覽器負責(zé)解釋這些超文本,最終生成訪問者看到的頁面形式。HTML文檔包含兩種信息:一是頁面本身的文本;二是表示頁面元素、結(jié)構(gòu)、格式和其他超文本鏈接的HTML標(biāo)記,是基于標(biāo)準(zhǔn)通用標(biāo)記語言(SGML)而開發(fā)的,它通過各種各樣的“標(biāo)記”向瀏覽器說明頁面外觀、文字格式、超級鏈接目標(biāo)、圖片屬性等內(nèi)容。在HTML詞法中,其標(biāo)記按照實現(xiàn)的功能大致上可以分為:框架標(biāo)記、分隔標(biāo)記、排版標(biāo)記、鏈接標(biāo)記等,如表1所示。

      通過對HTML語言標(biāo)記進行分析和分類,與鏈接相關(guān)的標(biāo)記主要包括兩大類:

      (1) 鏈接類。主要實現(xiàn)網(wǎng)站鏈接、FTP鏈接、News鏈接、BBS鏈接、電子郵件鏈接、標(biāo)簽鏈接等功能,其使用的標(biāo)記主要是href;

      (2) 應(yīng)用類。主要實現(xiàn)圖像引用與嵌套、頁面嵌套引用、文字應(yīng)用等,包括插入圖像、背景圖像、文字引用等,其使用的標(biāo)記主要包括src,background和cite。

      標(biāo)記類別標(biāo)記功能

      架構(gòu)標(biāo)記設(shè)定同一個窗口頁面由多個網(wǎng)頁一起組成

      分隔標(biāo)記設(shè)定水平分隔線

      排版標(biāo)記網(wǎng)頁版面編排,文字置左、置中、置右等

      字體標(biāo)記設(shè)定標(biāo)題標(biāo)簽、設(shè)定字體大小標(biāo)簽、字型變化標(biāo)簽、文字顏色設(shè)定。

      [BHDWG4.5mm]文字標(biāo)記設(shè)定文字字型設(shè)定、特殊字元、設(shè)定文字內(nèi)定值大小等

      [BH]影像標(biāo)記設(shè)定在網(wǎng)頁中插入圖像,設(shè)定圖像顯示屬性等

      [BH]背景標(biāo)記設(shè)定網(wǎng)頁背景顏色或是背景圖像

      [BHDWG8mm]鏈接標(biāo)記設(shè)定超鏈接,如網(wǎng)站鏈接、電子郵件鏈接、ftp鏈接、news鏈接、gopher鏈接、bbs鏈接等

      [BHDWG4.5mm]表格標(biāo)記在網(wǎng)頁中如何運用和設(shè)定表格格式

      [BH]序列標(biāo)記設(shè)定文字序列或圖形序列

      [BH]表單標(biāo)記制作可填寫用的表單

      [BH]其他技巧實現(xiàn)其他的功能[HJ][HT5SS]

      與鏈接相關(guān)的HTML標(biāo)記分類及其典型用法見表2所示。

      1.2 鏈接自動化測試的實現(xiàn)原理

      HTML文檔是純文本文檔,超文本文檔的組成源碼具有開放性,對用戶是透明的,可以由網(wǎng)頁編輯器以及其他文本編輯軟件創(chuàng)建。通過對超文本詞法特點分析可知,超文本語言與鏈接相關(guān)標(biāo)記的標(biāo)識關(guān)鍵詞主要為href,src,background和cite,可以通過分析HTML文件源碼,查找與鏈接(src,href等)相關(guān)的標(biāo)記,再分析提取鏈接標(biāo)記對應(yīng)的鏈接對象信息,然后對鏈接對象進行定位和分析,可以直接驗證頁面鏈接的有效性,并可以利用鏈接分析的信息,對頁面的大小進行統(tǒng)計并與設(shè)定值比較,確定在特定帶寬下瀏覽該頁面所需的時間等性能指標(biāo)。此外,還可以通過頁面的鏈接關(guān)系,確定Web應(yīng)用目錄路徑下未使用的冗余文件。因而,具備利用超文本源代碼靜態(tài)分析進行鏈接自動測試,分析其性能指標(biāo),查找冗余文件,優(yōu)化Web應(yīng)用服務(wù)器文件結(jié)構(gòu)的可行性。

      框架頁面ひ用

      在頁面げ迦臚枷

      2 鏈接自動測試工具的設(shè)計與實現(xiàn)

      2.1 總體設(shè)計

      基于詞法分析的超文本自動測試工具由四部分組成:預(yù)處理器、鏈接分析器、數(shù)據(jù)庫和報告生成器,如┩2所示。

      (1) 預(yù)處理器。主要進行Web所在目錄的目錄分析、調(diào)用關(guān)系分析、詞法分析和絕對[CD*2]相對路徑轉(zhuǎn)換。目錄分析主要分析Web所在目錄的目錄結(jié)構(gòu)和文件分析。通過目錄分析得到Web所在目錄的目錄結(jié)構(gòu)信息、各個目錄的文件清單以及超文本文件清單;調(diào)用關(guān)系分析和詞法主要根據(jù)超文本的詞法和關(guān)鍵詞,分析查找超文本文件的鏈接類和應(yīng)用類鏈接關(guān)鍵詞,確定超文本的調(diào)用關(guān)系;絕對[CD*2]相對路徑轉(zhuǎn)換主要將調(diào)用關(guān)系分析得到的調(diào)用關(guān)系路徑進行“相對路徑[CD*2]絕對路徑”的相互轉(zhuǎn)換,最后,將該階段的預(yù)處理信息和分析結(jié)果寫入數(shù)據(jù)庫,作為鏈接分析器的輸入。

      (2) 鏈接分析器。首先,對上一階段分析出來并經(jīng)“相對路徑[CD*2]絕對路徑”轉(zhuǎn)換的調(diào)用關(guān)系進行進一步分析,根據(jù)表2所示的HTML語言鏈接標(biāo)記分類法,對超文本調(diào)用關(guān)系進行分類‐[11]。其次,對每個類別鏈接內(nèi)的鏈接逐一進行分析,確認其鏈接對象是否存在,并將默認網(wǎng)頁首頁、被鏈接和調(diào)用文件以外的文件標(biāo)記為冗余文件;最后,將分析結(jié)果寫入數(shù)據(jù)庫。

      (3) 數(shù)據(jù)庫。主要存儲預(yù)處理器、鏈接分析器的分析和處理結(jié)果,包括Web所在目錄的目錄結(jié)構(gòu)信息、文件清單、超文本調(diào)用關(guān)系、鏈接分析信息、鏈接缺陷標(biāo)識、網(wǎng)頁大小統(tǒng)計信息和冗余文件信息等。

      (4) 報告生成器。分析報告生成模塊從數(shù)據(jù)提取鏈接分析結(jié)果,按照選定的報告類型和設(shè)定的報告格式生成分析報告和打印。

      2.2 功能設(shè)計

      基于詞法分析的超文本自動測試工具包括三個主要的功能模塊:分析參數(shù)設(shè)置、超文本詞法分析和分析報告生成。如圖3所示。分析參數(shù)設(shè)置模塊主要完成自動分析測試前的參數(shù)設(shè)置,如Web應(yīng)用默認首頁指定、Web應(yīng)用所在的默認目錄設(shè)置、設(shè)定分析所需的參數(shù)(如頁面大小告警上限值、鏈接調(diào)用關(guān)系上限值等);超文本詞法分析模塊主要完成href鏈接、src鏈接、cite鏈接和background鏈接分析,并將分析結(jié)果存儲到數(shù)據(jù)庫中;分析報告生成模塊則從數(shù)據(jù)提取鏈接分析結(jié)果,按照選定的報告類型和設(shè)定的報告格式生成分析報告和打印、輸出。

      2.3 流程設(shè)計與實現(xiàn)

      WebSiteTest工作流程設(shè)計框圖如圖4所示,首先實現(xiàn)對用戶設(shè)定參數(shù)、Web首頁和根目錄等進行輸入和存儲;然后對對設(shè)定的目錄進行分析處理,列出根目錄下的文件和目錄結(jié)構(gòu),并對目錄下的HTML文件進行詞法分析;接著對分析后的鏈接標(biāo)記進行分類,對分類后的鏈接標(biāo)記進行字符解析、轉(zhuǎn)換等預(yù)處理,然后進行鏈接的分析預(yù)驗證,最后進行頁面文件大小統(tǒng)計和生成不同的分析報告。

      3 使用與驗證

      《電子行業(yè)標(biāo)準(zhǔn)全文數(shù)據(jù)庫軟件V1.0》(著作產(chǎn)權(quán)登記號:2002SR2155)是典型三層構(gòu)架的B/S數(shù)據(jù)庫應(yīng)用系統(tǒng),包含超過一千多個電子行業(yè)常用標(biāo)準(zhǔn)全文,數(shù)據(jù)層用SQL Server存儲標(biāo)準(zhǔn)全文文本內(nèi)容和目錄信息。中間層(業(yè)務(wù)層)利用IIS+ASP提供標(biāo)準(zhǔn)目錄信息、標(biāo)準(zhǔn)全文內(nèi)容查詢和標(biāo)準(zhǔn)內(nèi)容的讀取,利用ASP讀取數(shù)據(jù)庫內(nèi)的標(biāo)準(zhǔn)頁面內(nèi)容并轉(zhuǎn)換成瀏覽器可以顯示的HTML文件。應(yīng)用客戶端通用瀏覽器通過Internet或Intranet訪問Web服務(wù)器,完成查詢信息的提交、查詢結(jié)果以及標(biāo)準(zhǔn)文本內(nèi)容的顯示等。

      《電子行業(yè)標(biāo)準(zhǔn)全文數(shù)據(jù)庫軟件V1.0》內(nèi)包含了海量的超文鏈接。在數(shù)據(jù)庫軟件的設(shè)計與實現(xiàn)過程中,采用了多種技術(shù)手段進行超文本鏈接驗證,包括人工測試和引進國外先進的軟件測試工具等,但存在測試覆蓋率不全、測試工具漏報、誤報等問題,如表3所示。測試實施方法存在的問題[HJ0]

      手工測試工作量大,測試工作量占項目工作量約45%;

      測試效率低;

      測試覆蓋不全,存在漏測現(xiàn)象

      引進國外的測試すぞ呤凳┎饈怨ぞ叻延冒汗;

      對中文文件名、標(biāo)簽名支持不完善,導(dǎo)致測試漏報、誤報現(xiàn)象。

      為解決上述面臨的問題,通過基于超文本詞法分析,設(shè)計與實現(xiàn)了超文本自動測試工具WebsiteTest V1.0(著作產(chǎn)權(quán)登記號:2009SR06358),不僅保證了測試驗證的準(zhǔn)確性和100%的測試覆蓋率,而且大大提高了測試的效率,使超文本鏈接的測試驗證工作量占項目工作量的比例從原來人工測試的40%~45%降低為3%~5%,此外,利用該工具提供的性能分析報告和冗余文件報告(見圖6),對數(shù)據(jù)庫系統(tǒng)和Web服務(wù)器文件系統(tǒng)進行的性能優(yōu)化,取得了良好的效果,也為標(biāo)準(zhǔn)數(shù)據(jù)庫的升級和擴充提供了極大的便利。

      4 結(jié) 語

      經(jīng)過實際項目應(yīng)用表明,基于超文本詞法分析,設(shè)計與實現(xiàn)專用超鏈接測試驗證工具是可行和有效的。不僅提高了鏈接測試的覆蓋率,而且有效提高了測試驗證的效率和準(zhǔn)確性,降低超文本鏈接的測試驗證工作量。此外,超鏈接測試驗證工具的功能進一步拓展后,對基于ASP的網(wǎng)站的測試驗證,也可以通過對ASP產(chǎn)[LL]生的瀏覽器可以瀏覽的HTML源碼文件進行分析驗證,具有良好的應(yīng)用前景。

      參 考 文 獻

      [1][美]羅賓斯.Web設(shè)計技術(shù)手冊(影印版)[M].3版.南京:東南大學(xué)出版社,2006.

      [2]W3C Recommendation.HTML 4.0 Specification[S].1998.

      [3]陳紹英,夏海濤,金成姬.Web性能測試實戰(zhàn)/測試實踐叢書(測試實踐叢書)[M].北京:電子工業(yè)出版社,2006.

      [4][美]紐恩.Web應(yīng)用測試/軟件工程叢書[M].2版.周志榮,譯.北京:電子工業(yè)出版社,2006.

      [5]葉青.完全手冊HTML+CSS+JavaScript實用詳解[M].北京:電子工業(yè)出版社,2008.

      [6][美]肯尼迪.HTML&XHTML;權(quán)威指南[M].6版.張洪濤,邢璐,譯.北京:清華大學(xué)出版社,2007.

      [7]張金霞.HTML網(wǎng)頁設(shè)計參考手冊[M].北京:清華大學(xué)出版社,2006.

      [8]劉智勇.HTML+CSS開發(fā)指南[M].北京:人民郵電出版社,2007.

      [9]郭敏華,張紅,甘志強,等.一種支持多腳本語言的測試數(shù)據(jù)分離方法[A].國防科技工業(yè)軟件評測技術(shù)交流會論文集[C].2007.

      [JP2][10]黃萍,郝建材.用代碼靜態(tài)分析技術(shù)提高軟件代碼質(zhì)量[A].國防科技工業(yè)軟件評測技術(shù)交流會論文集[C].2007.[JP]

      [11]石倩,陳榮,魯名羽.基于規(guī)則歸納的信息抽取技術(shù)系統(tǒng)實現(xiàn)[J].計算機工程與應(yīng)用,2008,44(2):166[CD*2]170.[HJ0][HJ]

      作者簡介 黃茂生 男,1973年出生,廣東肇慶人,高級工程師。主要研究方向為軟件測試、軟件可靠性。

      楊春暉 女,1965年出生,湖南洞口縣人,碩士研究生,高級工程師。主要研究方向為軟件質(zhì)量工程、項目管理。

      猜你喜歡
      實現(xiàn)設(shè)計
      何為設(shè)計的守護之道?
      《豐收的喜悅展示設(shè)計》
      流行色(2020年1期)2020-04-28 11:16:38
      瞞天過?!律O(shè)計萌到家
      設(shè)計秀
      海峽姐妹(2017年7期)2017-07-31 19:08:17
      有種設(shè)計叫而專
      Coco薇(2017年5期)2017-06-05 08:53:16
      信息系統(tǒng)安全評價系統(tǒng)設(shè)計及實現(xiàn)
      高校聲像檔案數(shù)字化管理的實現(xiàn)路徑
      辦公室人員尚需制定個人發(fā)展規(guī)劃
      蘇州信息學(xué)院教務(wù)管理系統(tǒng)的設(shè)計與實現(xiàn)
      如何實現(xiàn)人企合一
      成武县| 沈丘县| 闸北区| 垦利县| 仁布县| 循化| 延寿县| 农安县| 曲阜市| 福贡县| 尚义县| 池州市| 滨州市| 惠水县| 焦作市| 安龙县| 梁平县| 纳雍县| 会理县| 龙陵县| 景泰县| 南漳县| 汽车| 镇赉县| 大石桥市| 江源县| 汾西县| 黄山市| 上蔡县| 堆龙德庆县| 芜湖县| 古蔺县| 乌审旗| 莫力| 溧水县| 邵阳县| 广南县| 东阳市| 涞水县| 上思县| 平阴县|