999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于XML的自動化測試工具的改進

2009-04-29 00:00:00張寧,何克右
電腦知識與技術 2009年36期

摘要:隨著計算機技術的迅速發展,軟件的應用范圍越來越廣泛,軟件結構也就越來越復雜,隨之對軟件的質量要求也就越來越高,為了保證軟件產品的質量,軟件測試特別是自動化測試越來越受到人們的重視。該文將對自動化測試作相關的介紹以及自動化工具的簡單分析。

關鍵詞:回歸測試;壓力測試;自動化測試;自動化測試工具;捕捉;腳本

中圖分類號:TP311 文獻標識碼:A文章編號:1009-3044(2009)36-10624-02

The Improvement of Automated Testing Tools Based on XML

ZHANG Ning, HE Ke-you

(Wuhan University of Technology, Wuhan 430063, China)

Abstract: As the rapid development of computer technology, the applications of software become wider and wider, and comes complexly of software structure, so it is inevitably to improve the software quality to meet the requirements. To ensure the quality of software products, software testing especially automated testing becomes more and more necessary. This paper will give a related introduction and analysis to the automated testing and automated tools.

Key words: regression testing; stress testing; automated testing; automated testing tools; capture; script

軟件測試是保證軟件質量、提高軟件可用性的有效和最主要的途徑。軟件測試也隨之受到了越來越高的期望,但是由于軟件測試人為因素占很大的比重,所以,軟件測試有一個致命的缺陷,即測試的不完全、不徹底性。我們需要對軟件進行諸如回歸測試、壓力測試、性能測試等,這時,如果僅僅是人操作,很難達到要測試的目的,于是我們只有寄期望于工具或者腳本,本文就此問題進行詳細闡述。

1 測試的基本知識

1.1 軟件測試的定義

軟件測試就是在軟件交付用戶使用或者是投入實際使用之前,對軟件需求規格說明、設計規格說明和編碼的最終復審,是軟件質量保證的關鍵步驟[1]。它是為了發現軟件中存在的錯誤而執行的一系列動作,也就是說,軟件測試是根據軟件開發各個階段的規格說明和程序的內部結構而精心設計的一批測試用例(即輸入數據及其預期的輸出結果),由于我們對軟件只能進行少量(相對于龐大的數量而言)的有限的測試,在未發現錯誤時,是不能說明系統中沒有錯誤的。

1.2 軟件測試的分類[2]

軟件測試的分類有很多種,但是一般都是按照以下兩種分類:按照測試的方法可以分為白盒測試、黑盒測試和灰盒測試,按照軟件開發的階段分為單元測試、集成測試、功能測試和系統測試,這幾種測試里又包括了很多種測試,如回歸測試、冒煙測試、性能測試、壓力測試、α測試、β測試等等。還有其他的分類如按照運行方式分可以分為動態測試和靜態測試。

白盒測試:已知程序的內部工作流程,通過測試證明每種內部操作是否符合設計規格要求,所有路徑、語句、判斷等是否以經過檢查。

黑盒測試:已知軟件產品的功能規格,進行測試用以證明每個實現了的功能是否符合要求。

灰盒測試:包含了白盒測試和黑盒測試兩種方法的測試。

單元測試:是在軟件開發過程中要進行的最低級別的測試活動,或者說是針對軟件設計的最小單位——程序模塊,進行正確性檢驗的測試工作,主要的測試方法是白盒測試。

集成測試:把程序模塊集成組裝起來,對系統的接口以及集成后的功能進行正確性檢驗的測試工作,主要的測試方法是灰盒測試。

功能測試:按照需求分析及開發文檔,測試所要求的功能是都已經實現,實現是否正確,此階段測試方法是黑盒測試。

系統測試:就是將已經集成好的軟件系統,作為整個計算機系統的一個元素,與計算機硬件、外設、某些支持軟件、數據和人員等其它系統元素結合在一起,在實際運行(使用)環境下,對計算機系統進行一系列的組裝測試和確認測試。

1.3 測試的目的

Glen Myers在他的軟件測試著作中就軟件測試的目的提出了下列觀點[3]

測試是一個為了尋找錯誤而運行程序的過程。

1)一個好的測試用例是指很可能找到迄今為止尚未發現的錯誤的用例。

2)一個成功的測試是指揭示了迄今為止尚未發現的錯誤的測試。

測試的目的是能夠以耗費最少的時間與最小工作量找出軟件系統中潛在的各種錯誤與缺陷。測試只能證明程序中錯誤的存在,但不能證明程序中沒有錯誤。

1.4 自動化測試

軟件自動化測試就是用某種程序設計語言編寫的自動測試軟件的一段代碼,記錄軟件操作序列,然后可以自動控制被測軟件的執行,模擬手動測試步驟,完成全自動或半自動測試。自動化測試的主要目的在于減輕手工測試的工作量,縮短測試周期,節約資源(包括人力、物力等),提高軟件的性能、壓力等方面的測試能力,它通常是使用腳本或其他代碼驅動應用程序。

自動化測試可以使軟件的回歸測試開銷達到最小,可以在更短的時間內完成更多的測試,可以完成一些手工測試不能或難以完成的測試,具有一致性和可重復性,增加軟件信任度。但是它不能完全取代手工測試,因為手工測試比自動化測試發現的缺陷更多。

自動化測試還有很多缺陷,如發生錯誤它不能繼續往下執行,除非我們可以寫出很多種錯誤的可能,但是有時候錯誤是不能預測的,還要人工干預,所以給測試帶來了一定的困擾,這是我們以后研究的方向,真正實現自動化測試全自動化。

2 自動化測試工具的工作原理

2.1 捕捉與回放

捕捉和回放用來進行黑盒測試的自動化方法。捕捉是將用戶每一步操作都錄制下來。這種錄制的方式有兩種:用戶界面的象素坐標或頁面顯示對象(窗口、按鈕、下拉框等)的位置,以及相對應的操作、狀態變化或是屬性變化。所有的操作記錄下來后轉換成一種腳本語言描述的動作,用來指揮模擬用戶的操作?;胤艜r,將腳本語言所描述的動作轉換為模擬人的操作,在屏幕上顯示和一個人在操作一樣。然后將被測試軟件的輸出結果記錄下來同預先給定的標準結果比較,看是否輸出正確。這大大減輕黑盒測試的工作量,在迭代開發的過程中,能夠很好地進行回歸測試。如Mercury公司開發的WinRunner工具。

2.2 腳本技術

腳本是使用一種特定的描述性語言,依據一定的格式編寫的可執行文件,又稱作宏或批處理文件。腳本通??梢杂蓱贸绦蚺R時調用并執行,也是計算機程序的一種形式。利用腳本的一些特性,在自動化測試工具中可以利用腳本通過錄制測試的操作產生,然后我們還可以再對錄制的腳本做修改,這樣可以減少腳本編程的工作量。當然,也可以直接用腳本語言編寫腳本。自動化功能測試腳本地開發方法主要有以下幾種:1) 線性腳本;2) 結構化腳本;3) 共享腳本;4) 數據驅動腳本;5) 關鍵字驅動腳本。

3 自動化測試工具缺陷及改進

目前的自動化測試工具缺乏徹底測試被測軟件的能力,也缺乏自動產生測試腳本的功能,特別是在GUI越來越多的出現在產品中的今天,給自動化測試帶來了很大的挑戰。上面我們介紹過自動化測試的工作原理,其中有一個就是捕捉與回放,這種方法存在一定的缺陷性,我們下面主要介紹。

定位控件不方便。標準控件還好,非標準控件就只能靠很多非正常方法去獲取。而且,目前控件的識別往往靠用戶界面的象素坐標或頁面顯示對象的位置,使得如果控件的位置發生改變,特別是在回歸測試的時候,就必須迫使我們去修改測試腳本,給腳本維護帶來了很大的麻煩,付出一些不必要的代價。我們可是設計成根據控件的功能,使用此控件所發生的事件,利用事件來捕獲控件,設置唯一的標示ID來識別控件,這樣就可以不用經常的進行腳本代碼維護。

為了實現自動化測試工具的跨平臺使用問題,我們可以把捕獲的事件,存放到xml文檔中,因為xml適合各種平臺上的數據交換,可以成功的解決這一問題。我們可以按照圖1的技術路線圖來實現這一構想。

4 小結

由以上分析我們可以看出,自動化測試已經有了很大的發展,自動化測試工具也越來越多,功能也更齊全,更加能提高工作效率,但是自動化測試自身的缺陷并沒有消除,它還有很大的局限性,并不能完全代替手工測試。軟件測試還有很長的路要走,自動化測試還有更長的路要走。

參考文獻:

[1] 飛思科技產品研發中心.實用軟件測試方法與應用[M].北京:電子工業出版社,2003.

[2] Ron Patton.軟件測試[M].北京:機械工業出版社,2006.

[3] Glen Myers.軟件測試的藝術[M].北京:機械工業出版社,2006.

[4] 測試工具的選擇和使用[EB/OL].[2005-04-12].http://www.cnblogs.com/jackei/archive/2005/04/12/136006.html.

[5] Jmeter[EB/OL].[2008-09-24].http://baike.baidu.com/view/171821.htm?fr=ala0.

主站蜘蛛池模板: 精品無碼一區在線觀看 | 再看日本中文字幕在线观看| 在线欧美日韩国产| 99re在线免费视频| 欧美精品成人一区二区视频一| 国产精品网址你懂的| 精品无码国产自产野外拍在线| 国产精品v欧美| 91精品视频播放| 制服丝袜一区| 99re热精品视频国产免费| 国产精品美女网站| 欧美有码在线| 九九九精品视频| 麻豆精品久久久久久久99蜜桃| 国产青榴视频在线观看网站| 精品三级在线| 国产偷倩视频| 亚洲日韩AV无码精品| 国产精品女熟高潮视频| 日韩东京热无码人妻| 国产精品私拍99pans大尺度| 国产超薄肉色丝袜网站| 一本大道香蕉高清久久| 国产日韩AV高潮在线| 91久久天天躁狠狠躁夜夜| 亚洲天堂免费观看| 在线免费看片a| 污网站免费在线观看| 久久免费精品琪琪| 国产精品永久在线| 国产在线观看成人91 | 婷婷开心中文字幕| 99久久99这里只有免费的精品| 欧美日韩va| 欧美午夜在线播放| 欧美成人一区午夜福利在线| 免费无码AV片在线观看国产 | 国产精品jizz在线观看软件| 亚洲天堂.com| 精品视频第一页| 亚洲成人精品| 中国国产一级毛片| 国产在线第二页| 国产精品粉嫩| 国产精品无码作爱| 久久综合亚洲鲁鲁九月天| 97免费在线观看视频| 毛片网站免费在线观看| 午夜在线不卡| 亚洲av无码久久无遮挡| 一区二区欧美日韩高清免费| 熟妇丰满人妻av无码区| 国产精品专区第1页| 在线欧美日韩| 免费毛片全部不收费的| 天天色天天操综合网| 四虎影视8848永久精品| 美女毛片在线| 中文字幕中文字字幕码一二区| 成人va亚洲va欧美天堂| 国产一级小视频| 人妻精品久久无码区| 中文字幕人成人乱码亚洲电影| 日韩av在线直播| 97国产在线视频| 2022国产91精品久久久久久| 国产午夜精品鲁丝片| 一级毛片高清| 一级片一区| 成人久久精品一区二区三区| 91国内视频在线观看| 国产亚洲成AⅤ人片在线观看| 亚洲色欲色欲www在线观看| 亚洲无线国产观看| 91精品在线视频观看| 青草视频网站在线观看| 免费一级成人毛片| 国产人成在线视频| 日本人真淫视频一区二区三区| 亚洲久悠悠色悠在线播放| 国产成年女人特黄特色大片免费|