• 
    

    
    

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

      基于XML技術(shù)的軟件測試自動化

      2013-11-04 07:09:52張鵬飛
      中國科技信息 2013年14期
      關(guān)鍵詞:測試程序測試用例軟件測試

      張鵬飛

      廣東農(nóng)工商職業(yè)技術(shù)學(xué)院510507

      引言

      在整個軟件開發(fā)過程中,優(yōu)秀的測試軟件是實現(xiàn)保證軟件開發(fā)質(zhì)量、程序運行兼容性的重要途徑,通過軟件進行程序的自動化測試可以減少軟件測試的開銷、降低軟件開發(fā)的難度。但目前不少軟件測試工具由于并沒有統(tǒng)一的測試腳本標(biāo)準(zhǔn),導(dǎo)致了其在測試自動化環(huán)節(jié)中很容易形成不兼容、甚至相互排斥的現(xiàn)象,從而導(dǎo)致進行軟件測試時需要反復(fù)解決軟件測試兼容的問題,而非軟件本身的測試。加上由于當(dāng)前的自動化測試執(zhí)行工具大都提供了自己的腳本語言和執(zhí)行方法,這些腳本語言所含的信息非常豐富,操作性也很強,并且這些腳本信息所產(chǎn)生的維護性也非常高,導(dǎo)致執(zhí)行腳本的語言解析能力開發(fā)難度也隨之增大,例如:Mercury Interactive公司的WinRunner,其軟件在整個執(zhí)行過程中,需要人們提前設(shè)置大量的解釋器才能完成測試過程,這就導(dǎo)致了整個軟件測試的過程花費的時間很長,測試的難度增大。

      1 基于XML腳本的自動化測試框架

      所謂自動化測試框架,即是應(yīng)用于自動化測試所使用的框架。按照框架的定義,自動化測試框架要么是提供可重用的基礎(chǔ)自動化測試模塊,如:selenium、watir等,它們主要提供最基礎(chǔ)的自動化測試功能,比如打開一個程序,模擬鼠標(biāo)和鍵盤來點擊或操作被測試對象,最后再驗證被測對象的屬性以判斷程序的正確性;要么是可以提供自動化測試執(zhí)行和管理功能的架構(gòu)模塊,如:robot,STAF等,它們本身不提供基礎(chǔ)的自動化測試支持,只是用于組織、管理和執(zhí)行那些獨立的自動化測試用例,測試完成后再統(tǒng)計測試結(jié)果,通常這類框架一般都會集成一個基礎(chǔ)自動化測試模塊,如:robot框架就可以集成selenium框架。

      2 用例生成的設(shè)計與實現(xiàn)

      為了能夠更好的闡述測試工具中XML測試腳本和其他測試驅(qū)動程序間的相互轉(zhuǎn)化功能的實現(xiàn),本文將設(shè)計一個基于XML的測試轉(zhuǎn)化工具,使其能夠通過將XML格式的腳本進行轉(zhuǎn)化的方式,將整個XML文檔內(nèi)的數(shù)據(jù)進行分析和轉(zhuǎn)化,轉(zhuǎn)化之后的文件能夠在JAVA和C++當(dāng)中運行。

      從該軟件的功能實現(xiàn)上看,我們所需要設(shè)計的軟件應(yīng)當(dāng)具備以下功能:

      (1)XML的腳本描述方式;

      (2)自定義標(biāo)簽的設(shè)置方式;

      (3)JAVA和C++的程序轉(zhuǎn)換方式;

      (4)JAVA類的測試方式;

      (5)C++類的測試方式。

      由于本軟件的開發(fā)目的是為了能夠?qū)y試文檔進行轉(zhuǎn)化,因此在軟件開發(fā)的過程中,應(yīng)當(dāng)注意到整個測試腳本和測試語言之間的差異,例如:C++和C語言的差異,Java和C++之間的語言差異等,以便減少在軟件開發(fā)過程中由于語言差異而導(dǎo)致測試腳本出現(xiàn)錯誤的幾率。

      2.1 生成業(yè)務(wù)流程

      本文所闡述的XML自動化轉(zhuǎn)化過程具體業(yè)務(wù)流程如圖1所示:

      圖1 類自動測試業(yè)務(wù)流程

      如圖1,待測代碼和測試數(shù)據(jù)需要編程人員編寫XML的測試腳本,此腳本能夠?qū)霚y試程序當(dāng)中,而且還可以轉(zhuǎn)換成為HTML的測試用例報告,還能夠直接轉(zhuǎn)換成為測試驅(qū)動程序的代碼,整個測試驅(qū)動程序經(jīng)過編譯執(zhí)行之后,對于測試代碼的執(zhí)行結(jié)果,測試系統(tǒng)會將其保存到測試日志當(dāng)中,將測試日志和測試腳本相互結(jié)合,就轉(zhuǎn)換成了最終的測試報告。

      2.2 復(fù)用模塊劃分

      根據(jù)模塊的可復(fù)用性,我們可以將整個測試用例劃分成以下的模塊進行。

      (1)模塊功能

      輸入測試用例和待測試的類,識別待測類的語法成分,生成XML測試腳本并輸出。

      (2)模塊構(gòu)成

      腳本生成模塊是由程序運行的子模塊相互組合而成,主要有:

      讀入程序模塊:此模塊將測試文件和測試程序讀入程序當(dāng)中。

      代碼格式化:將程序匯總中的程序通過轉(zhuǎn)化的形式進行讀取,并刪除注釋、成員函數(shù)等。

      識別程序:對程序中的關(guān)鍵字符和關(guān)鍵代碼進行識別,提取出程序中的類名、函數(shù)名、參數(shù)名等,進行保存。

      XML生成模塊:將讀入的代碼和程序通過標(biāo)準(zhǔn)化XML以及設(shè)計好的程序標(biāo)簽進行轉(zhuǎn)化,設(shè)計出其運行的代碼和程序。

      (3)模塊業(yè)務(wù)流程

      腳本自動生成模塊讀入待測試的類源代碼,經(jīng)代碼格式化,結(jié)合關(guān)鍵字符表進行關(guān)鍵字識別后,由DOM生成符合CTSS(Class Test Script Schema,類測試腳本模型)的XML腳本大綱;然后讀入測試數(shù)據(jù),填入XML腳本大綱中,生成XML測試腳本并輸出。

      3 測試實例

      根據(jù)上述基于XML的設(shè)計過程,實現(xiàn)了測試用例生成代碼和工具,通過反復(fù)測試,我們可以實現(xiàn)如下的設(shè)計目標(biāo)和成果:

      (1)在不同測試程序之間,程序運行無誤。

      (2)在XML文檔轉(zhuǎn)換過程中,XML文檔能夠自動生成對應(yīng)的檢查措施,并能夠?qū)氲叫碌臋z測自動化軟件當(dāng)中。

      (3)只要嚴(yán)格按照設(shè)計的XML文檔編寫要求書寫標(biāo)簽,就能獲得可執(zhí)行的正確測試代碼。

      4 結(jié)束語

      從整個程序的測試結(jié)果和測試技術(shù)的開發(fā)過程來看,使用XML技術(shù)建立起來的腳本數(shù)據(jù)模型,能夠很輕松的解決各個測試程序相互之間不兼容的問題,另外由于XML文檔結(jié)構(gòu)清晰,更易于進行維護。使用此方法,配合輔助軟件和工具,不但能夠從總體上減輕程序員編寫代碼的負(fù)擔(dān),而且能夠降低測試腳本的編寫難度和復(fù)雜度,通過富有自定義標(biāo)簽?zāi)芰Φ哪_本內(nèi)容,提升了自動化測試程序的靈活性和可擴展性,也減輕了程序的復(fù)雜性和冗余度。我們通過實例所開發(fā)出的自動化程序測試工具,也完全證明了這種方式是一種實際可行,并可再生的設(shè)計方案。

      [l]陸璐,王柏勇編著.軟件自動化測試技術(shù)[M].北京交通大學(xué)出版社,2006.

      [2]Ron Patton;張曉松,王鈺,曹躍等(譯).軟件測試(原書第二版)[M].北京:機械工業(yè)出版社,2006:23-28.

      [3]ClarkeEM,GrambergO,PeledD.Model Checking.England:The MIT Press,1999.

      猜你喜歡
      測試程序測試用例軟件測試
      基于SmartUnit的安全通信系統(tǒng)單元測試用例自動生成
      基于OBE的軟件測試課程教學(xué)改革探索
      計算機教育(2020年5期)2020-07-24 08:53:20
      EXCEL和VBA實現(xiàn)軟件測試記錄管理
      電子制作(2018年16期)2018-09-26 03:27:18
      基于混合遺傳算法的回歸測試用例集最小化研究
      基于Castle型機械手的三溫量產(chǎn)測試平臺實現(xiàn)
      關(guān)于軟件測試技術(shù)應(yīng)用與發(fā)展趨勢研究
      電子測試(2017年15期)2017-12-18 07:19:20
      手機APP交互界面人因適合性測試程序的設(shè)計與實現(xiàn)
      中心主導(dǎo)制訂的《VHF/UHF頻率范圍內(nèi)測向系統(tǒng)測向靈敏度的測試程序》等兩項國際標(biāo)準(zhǔn)在ITU官網(wǎng)正式發(fā)布
      軟件測試工程化模型及應(yīng)用研究
      電氣自動化控制設(shè)備可靠性測試探討
      高州市| 郑州市| 香格里拉县| 灵武市| 金昌市| 建德市| 佛冈县| 昭通市| 贡觉县| 井陉县| 鹿泉市| 南澳县| 临沧市| 阿拉善左旗| 余江县| 始兴县| 常德市| 南充市| 龙门县| 广平县| 卫辉市| 惠水县| 福泉市| 景东| 邢台市| 台东市| 郎溪县| 新化县| 沙田区| 克东县| 密山市| 承德县| 荔浦县| 天峻县| 都匀市| 湖南省| 山西省| 新乡县| 旬阳县| 呼图壁县| 大厂|