国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于XML的軟件自動化測試*

2013-08-15 02:00:26商林霞
光學儀器 2013年2期
關鍵詞:測試用例軟件測試腳本

商林霞,施 展

(上海理工大學 光電信息與計算機工程學院,上海 200093)

引 言

隨著計算機應用日益普及和深化,用戶對軟件的需求越來越多,對軟件要求也總是在不斷變化[1]。AutoCAD產(chǎn)品在軟件國際化的過程中,每次修改都需要對大量的測試用例進行反復測試,還要在不同語言版本的操作系統(tǒng)平臺上測試,這就使得該項目的測試工作極為繁瑣。軟件自動化測試作為保證軟件質(zhì)量和可靠性的關鍵技術(shù)手段,正日益受到廣泛的重視。但如何進行測試,如何提高測試的質(zhì)量和效率,仍然是許多人深感困擾的問題[2]。根據(jù)對AutoCAD軟件測試項目研究與實踐的體會,介紹軟件自動化測試技術(shù)的概述、基本過程和實現(xiàn)。結(jié)合實用的Silk Test工具以及可擴展標記語言技術(shù)(extensible markup language,XML),給出整個自動化測試框架。

1 自動化測試概述

整個自動化測試平臺包含兩部分:測試平臺和服務器平臺。測試平臺包含不同語言版本或者不同操作系統(tǒng)的平臺;服務器平臺主要含有源代碼版本管理庫和測試結(jié)果的關系數(shù)據(jù)庫[3]。

(1)自動化測試用例選擇

對于Silk Test工具而言,它對Java的支持很好,所以如果是多模塊、多軟件測試,首先要盡量選擇和Java相關的部分來設計用例[4]。

(2)自動化測試環(huán)境準備

開啟windows遠程控制,設置文件的擴展名可見,安裝待測試AutoCAD系列產(chǎn)品,安裝測試過程所需的自動化測試軟件(Silk Test軟件)等等一系列配置。

(3)自動化測試腳本開發(fā)

Silk Test自動化測試工具支持簡單的捕獲同放功能,但是這并不是自動化測試。測試工具直接錄制產(chǎn)生的腳本是不能直接使用的,所以對于利用Silk Test工具編寫的腳本來說,通常是通過捕獲對話框圖形,抓到測試對象。然后利用Silk Test所提供的4Test語言來添加函數(shù)、控制結(jié)構(gòu)等[5]。

(4)自動化測試報告生成

分權(quán)是世界范圍內(nèi)政府改革的重要趨勢,是國家治理重要工具之一。我國自1978年改革開放以來經(jīng)濟領域的分權(quán)改革帶動了高等教育管理體制的改革,分權(quán)也成為我國高等教育管理中的發(fā)展趨勢,但高等教育分權(quán)加劇了省際間的差距和競爭[1]。同時與經(jīng)濟領域的分權(quán)改革一樣,高等教育分權(quán)過程中也面臨著“放亂收死”[2]的局面。在改革開放40年之際,在提升國家治理能力和治理體系現(xiàn)代化的新時代,總結(jié)我國高等教育分權(quán)改革的歷程、經(jīng)驗和趨勢,可以為新時代高等教育發(fā)展提供經(jīng)驗和借鑒,推動我國高等教育治理向更高層次的現(xiàn)代化邁進。

分析腳本運行的結(jié)果是否符合要求,決定每個用例自動化測試是否通過。對測試結(jié)果進行分類整理,生成測試報告。對于不能通過的測試結(jié)果要進行分析、記錄和通報,方便相關的測試人員和開發(fā)人員了解測試結(jié)果。

2 自動化測試系統(tǒng)過程

為了取得自動化測試效率和效益的最大化,現(xiàn)選取當前最適合自動化的測試用例。例如自動化測試腳本編寫異常復雜的用例、運行自動化測試腳本很難發(fā)現(xiàn)軟件缺陷的用例等等,都可以不運用自動化測試,而運用手動測試代替。同時在兩個測試版本的間歇進行新的腳本的開發(fā),當有了一定數(shù)量的腳本之后,就讓腳本運行起來,發(fā)揮作用[6]?,F(xiàn)只要保證自動化運行的環(huán)境足夠充足,那么每個測試版本所需的時間就會足夠短,節(jié)省了大量的人力。

軟件自動化測試是一個極為復雜的過程。在不同的測試環(huán)境下,測試的流程也會有所不同。一般都要根據(jù)實際情況,制定相應的測試流程。從軟件測試對象出發(fā),軟件自動化測試系統(tǒng)實現(xiàn)框圖,如圖1所示。

對于不同語言版本的本地化測試,測試過程大體是相似的。首先根據(jù)AutoCAD軟件的功能特征選擇和設計測試用例,然后就是由測試用例編寫測試腳本,接著就是將這些測試腳本作為輸入運行程序,將通過測試得到的結(jié)果與先得到的英語版本的結(jié)果進行比較,最后就是將兩者的比較結(jié)果寫成測試報告,軟件開發(fā)者根據(jù)測試報告再決定對軟件如何處理[7]。

圖1 自動化測試系統(tǒng)實現(xiàn)框圖Fig.1 Automation testing system realization block diagram

3 系統(tǒng)實現(xiàn)

3.1 腳本生成

根據(jù)測試設計中的每個測試用例,利用Silk Test軟件進行編程,完成自動化測試腳本。腳本編寫完成,進行不斷地調(diào)試,直至完成的腳本符合測試用例驗證的要求。編程語言是4Test語言,整個腳本的思路是基于AutoCAD軟件對話框?qū)ο髞韺崿F(xiàn)的。函數(shù)中執(zhí)行圖像錄像功能的語句,把整個自動化測試的windows平臺界面上的執(zhí)行過程錄制下來,方便判斷軟件是否存在缺陷。針對每個自動化測試的測試用例,編寫測試腳本。每個測試用例都有數(shù)個測試確認點,測試腳本要保證每個測試確認點都能被執(zhí)行自動化測試,生成測試結(jié)果。測試腳本程序示例如下:

3.2 結(jié)果信息讀取

軟件本地化測試的對象是本地化的軟件,需要在本地語言的操作系統(tǒng)上進行。以Windows中文語言操作平臺為例,用Silk Test工具運行該對話框?qū)臏y試腳本,生成XML的結(jié)果信息文件,該XML記錄了該對話框上的所有信息:文字信息、控件位置信息、控件屬性信息。

圖2中所示的AutoCAD軟件對話框的XML部分信息示例如下:

在獲取對話框信息之后,接著就要進行XML結(jié)果的分析。讀取XML文件信息的程序片段為:

圖2 自動計算機輔助設計軟件對話框示例圖Fig.2 AutoCAD dialog demonstration

其中,利用XPath的路徑表達式來選取XML文檔中的節(jié)點或者節(jié)點集[8]。如要讀取出對話框的標題信息“選擇樣板”,則正確的 XPath語句是“/DIALOG/CONTROL[1]/Texts_LIST/@Texts_00000”。類似地,對話框上各控件的位置、大小、屬性等信息都可獲取到。如圖2中的截斷錯誤,都用紅色線框標示出來,提升了后期錯誤分析的效率。

3.3 結(jié)果對比

國際化軟件自動化測試包括軟件國際化測試和軟件本地化測試。軟件的國際化測試一般是英語版本的測試,必須在本地化測試之前進行。首先進行國際化軟件測試有助于判斷軟件國際化的設計程度,確定軟件支持的國家區(qū)域,以及本地化是否容易[9]。本地化測試過程中,以源程序軟件結(jié)果(標準英語版本)作為本地化軟件的主要參考。運行英語版本和本地化版本的結(jié)果比較程序,本地化版本對話框都將與標準英語版本對話框的各項信息進行對比。經(jīng)對比本地化軟件存在缺陷時有三大類情況:

(1)本地化軟件對話框的某項XML信息(控件的位置、大小、屬性等)是空值;

(2)本地化軟件對話框的某項信息值的長度和標準英語版本的不一致;

(3)本地化軟件對話框的某項信息內(nèi)容(控件的位置、大小、屬性等)和標準英語版本的不一致。

結(jié)果比較程序的部分示例:

3.4 結(jié)果分析

在實際的項目測試過程中,每一步都有很具體的內(nèi)容。例如在報告測試結(jié)果的同時,實際上還包含了對測試結(jié)果的統(tǒng)計和分析,測試工程師通過對結(jié)果進行分析來判斷是否存在缺陷,將缺陷上傳至Test Desk網(wǎng)站進行管理。

軟件測試的目的是盡可能早和盡可能多地找出缺陷,然后軟件開發(fā)人員根據(jù)測試報告確定缺陷[10]。在獲取所有的軟件對話框?qū)Ρ刃畔⒅?,總結(jié)出的典型錯誤類型如表1所示。

實踐證明,采用自動化測試大幅度地減少了測試難度,并且能夠確保測試結(jié)果滿足如下標準[11]:

(1)所有的測試腳本都已經(jīng)執(zhí)行;

(2)所有的變化都已經(jīng)及時地作了重新測試;

(3)通過重新運行測試腳本,所有發(fā)現(xiàn)的錯誤和缺陷都已經(jīng)被紀錄而且得到解決。

表1 對話框界面的典型錯誤類型Tab.1 Typical error type of dialog user interface

4 結(jié) 論

軟件測試結(jié)果決定著軟件產(chǎn)品質(zhì)量的好壞。要在最短時間內(nèi)完成軟件測試工作,需要認真分析需求和研究設計說明書,做好自動化測試的每一步工作(測試計劃、測試用例設計、測試開發(fā)、測試執(zhí)行和測試報告)[12]。項目中有效地組織和安排人員,并且使用Silk Test等軟件自動化測試工具,無疑可以幫助軟件開發(fā)和測試人員大大提高測試效率。本文方法的優(yōu)異之處在于應用對象是標準控件,獲取定位非??旖荨T诨貧w測試的時候,控件的位置發(fā)生改變,只需簡單修改測試腳本,腳本維護很簡單。目前圖形用戶界面(graphical user interface,GUI)的軟件產(chǎn)品越來越多,使得自動化測試得到越來越廣泛的應用[13]??傊浖詣踊瘻y試是一項非常復雜的工作,許多問題還需要進一步研究。

[1]張 寧,何克右.基于XML的自動化測試工具的改進[J].電腦知識與技術(shù),2009,36(5):10624-10625.

[2]閆茂德,許化龍,訾向勇.軟件測試技術(shù)及其支持工具介紹[J].集美大學學報,2002,8(2):154-159.

[3]張愛玲.國際化軟件測試技術(shù)的實現(xiàn)[J].微型機與應用,2010,29(15):10-12.

[4]薛沖沖,陳 堅.軟件測試研究[J].計算機系統(tǒng)應用,2010,20(2):240-244.

[5]朱 芳,李 曦,趙振西.一種多平臺自動化測試工具的設計和實現(xiàn)[J].計算機工程,2004,30(4):186-188.

[6]BUDNIK C J,CHAN W K,KAPFHAMMER G M.Bridging the gap between the theory and practice of software test automation[J].IEEE Conference Publications,2010,10(2):445-446.

[7]朱經(jīng)緯.XML技術(shù)在軟件測試自動化中的應用[J].計算機工程,2005,31(2):94-95.

[8]費 娟.基于Silk Test的軟件測試自動化[J].廣東通信技術(shù),2006,20(3):66-69.

[9]張 靖.XML技術(shù)在軟件可靠性測試中的應用[J].電子科技大學學報,2007,36(4):767-770.

[10]劉 騰.軟件測試技術(shù)與自動化測試框架模型的研究與應用[J].電腦知識與技術(shù),2009,26(5):7428-7431.

[11]李亞輝,吳宇紅,陳 琳.基于 XML描述的類測試框架[J].微機發(fā)展,2005,15(8):85-87.

[12]高 靜,蘭雨晴,金茂忠,等.一個基于 XML的自動化類測試框架[J].微型機與應用,2007,6(1):201-205.

[13]馬慶利,王 瀾.自動生成 XML測試腳本的類測試[J].信息技術(shù),2006,11(8):145-148.

猜你喜歡
測試用例軟件測試腳本
酒駕
安奇奇與小cool 龍(第二回)
基于SmartUnit的安全通信系統(tǒng)單元測試用例自動生成
基于OBE的軟件測試課程教學改革探索
計算機教育(2020年5期)2020-07-24 08:53:20
數(shù)據(jù)庫系統(tǒng)shell腳本應用
電子測試(2018年14期)2018-09-26 06:04:24
EXCEL和VBA實現(xiàn)軟件測試記錄管理
電子制作(2018年16期)2018-09-26 03:27:18
基于混合遺傳算法的回歸測試用例集最小化研究
關于軟件測試技術(shù)應用與發(fā)展趨勢研究
電子測試(2017年15期)2017-12-18 07:19:20
快樂假期
中學生(2017年19期)2017-09-03 10:39:07
軟件測試工程化模型及應用研究
正定县| 邢台市| 靖安县| 安仁县| 隆回县| 鄂伦春自治旗| 萝北县| 成都市| 虹口区| 泾阳县| 寻乌县| 合作市| 新蔡县| 长顺县| 苗栗市| 东丰县| 厦门市| 尤溪县| 南康市| 徐闻县| 隆子县| 贞丰县| 吉隆县| 中方县| 胶州市| 历史| 湄潭县| 大埔县| 灌南县| 裕民县| 凉山| 洞口县| 新竹市| 铁岭县| 崇左市| 天台县| 宣威市| 大安市| 海阳市| 嘉善县| 安新县|