#自動化測試技術的探討與研究_第1頁
#自動化測試技術的探討與研究_第2頁
#自動化測試技術的探討與研究_第3頁
#自動化測試技術的探討與研究_第4頁
#自動化測試技術的探討與研究_第5頁
已閱讀5頁,還剩3頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、自動化測試技術的探討與研究研究生姓名:*學號:0912*學科專業:*摘要軟件測試在軟件開發中占有非常突出的重要位置,軟件必須通過測試才能確保其在應用環境中正常工作。在測試過程,運用自動化軟件測試技術可以減少測試周期,節約人力成本,同時也減少了人為出錯的機率1。本文通過對自動化測試技術的介紹,對當前流行的幾種自動化測試技術以及自動化測試工具的比較,系統全面的討論了自動化測試技術。首先從介紹自動化測試的基本概念入手,然后對當前幾種比較流行的自動化測試技術進行了研究和比較,接著介紹了幾款成熟的自動化測試工具,最后對自動化測試進行了總結和展望。關鍵詞自動化測試;手動測試;測試用例;測試工具;一、前言軟

2、件測試是對創造力和智力非常有挑戰性的任務。測試一個大型軟件需要的智能要超過設計這個程序的智能2。軟件在它發行之前應當通過徹底的測試以保證它的可靠性和功能性。測試工程師要覆蓋一個大型應用程序的所有情況是一件非常麻煩和費時的事情,但為了保證軟件質量,我們不得不這樣做。那么有沒有省時省力的技術或者工具去幫我們做這樣的事情呢,由此便有了下面對于自動化測試技術的探討。二、自動化測試的概念自動化測試一般是指軟件測試的自動化,軟件測試就是在預設條件下運行系統或應用程序,評估運行結果,預先條件應包括正常條件和異常條件網。自動化測試一般包括測試過程自動化和測試結果分析自動化。測試過程的自動化指的是不用手工逐個的

3、對用例進行測試。測試結果分析自動化指的是不用人工一點點去分析測試過程中的中間結果或數據流。軟件自動化測試就是模擬手動測試步驟,執行用某種程序設計語言編制的測試程序,控制被測軟件的執行,完成全自動或半自動測試的過程。全自動測試就是指在自動測試過程中,根本不需要人工干預,由程序自動完成測試的全過程。半自動測試就是指在自動測試過程中,需要手動輸入測試用例或選擇測試路徑,再由自動測試程序按照人工指定的要求完成自動測試。三、自動化測試的前提對于開發出來的軟件產品,是不是都可以使用自動化測試技術,這個答案顯然是否定的,對于是否應用自動化測試技術我們需要一定的前提條件。1)軟件需求變動不頻繁。測試腳本的穩定

4、性決定了自動化測試的維護成本。如果軟件需求變動過于頻繁,測試人員需要根據變動的需求來更新測試用例以及相關的測試腳本,而腳本的維護本身就是一個代碼開發的過程,需要修改、調試,必要的時候還要修改自動化測試的框架,如果所花費的成本不低于利用其節省的測試成本,那么自動化測試便是失敗的。項目中的某些模塊相對穩定,而某些模塊需求變動性很大。我們便可對相對穩定的模塊進行自動化測試,而變動較大的仍是用手工測試。2)項目周期足夠長。由于自動化測試需求的確定、自動化測試框架的設計、測試腳本的編寫與調試均需要相當長的時間來完成。這樣的過程本身就是一個測試軟件的開發過程,需要較長的時間來完成。如果項目的周期比較短,沒

5、有足夠的時間去支持這樣一個過程,那么自動化測試便成為笑談。3)自動化測試腳本可重復使用。如果費盡心思開發了一套近乎完美的自動化測試腳本,但是腳本的重復使用率很低,致使其間所耗費的成本大于所創造的經濟價值,自動化測試便成為了測試人員的練手之作,而并非是真正可產生效益的測試手段了4。另外,在手工測試無法完成,需要投入大量時間與人力時也需要考慮引入自動化測試。比如性能測試、配置測試、大數據量輸入測試等。四、自動化測試與手動測試自動化測試相對于手工測試的優點:優化測試速度:可非常快速的運行上萬條記錄提高準確性、穩定性:可以不為外界因素干擾,準確運行測試用例確定性:能真實快速搭建測試環境,測試數據,重現

6、缺陷提高工作效率:一邊運行自動化測試,一邊準備測試報告測試環境搭建:可以結合多種編程語言及技術協助搭建測試環境,防止手工測試重復勞動,如批處理技術提高技能:可提高測試人員技能,同時提高對測試的興趣,防止對手工測試感覺枯燥5但是對于自動化測試也不要進入一個誤區,有自動化測試不再需要手工測試這種觀點是不對的。自動化測試雖然有如此多的優點,但是有些測試比如:本地化測試、用戶體驗測試、測試環境搭建方面并不能完全代替手工測試。自動化測試的基礎也必須是對產品的運行,測試點有一定的手工測試的基礎,自動化測試和手動測試是相輔相成的。自動化測試并不僅指自動化運行測試產品,數據處理也是非常重要的一個環節。并非只是

7、自動化測試工具如QTPLoadrunner,等才可以做自動化測試,很多的編程語言都可以運行自動化測試。比如QTP就是基于VBScript語言的一款自動化測試工具,只是在VBS上的一些封裝。五、自動化測試技術比較基于組件的自動化測試技術該測試是針對軟件設計的最小單位一一組件,進行正確性檢驗的測試工作.其目的在于發現各組件內部可能存在的各種差錯,確保每個組件都能有效實現自己的預期功能。這一步是為了在選擇組件階段把好組件“準人”關,無論是自己開發組件、第三方組件或是其它來源的組件,都要對每一個組件進行測試。組件自身測試是典型的黑盒測試,即在不考慮代碼內部結構的前提下,根據需求對應用程序進行測試。它的

8、任務足驗證組件的功能及其它特征是否與預期的要求一致。組件測試時應充分考慮到該組件可能涉及到的盡可能多的內外環境因素。里停停器剛真:裝配朝武;1成涮猶:金為泗黃基于組件的自動化測試技術的過程模型基于關鍵字驅動的自動化測試技術在我們的測試腳本中可能會用到上千條這樣的語句,測試工具通過按鈕名字和顯示文本來識別這個按鈕。可以想見,當其中任何一個發生改變時,所有相關的腳本都會受到影響,維護這樣的腳本是十分困難的。為解決該問題,我們可以做到以下幾個分離,界面元素名與測試內部對象名的分離,測試描述與具體實現細節的分離,腳本與數據的分離。以上這“三個分離”正是關鍵字驅動自動化測試的核心思想,各司其職、互相獨立

9、,才能最大程度地減少相互之間的影響7。支持庠帔M應用基于數據操作的自動化測試技術所謂數據操作操作自動化測試技術,就是把數據作為測試動作應用的基本對象,并以此為出發點,把對數據驅動的軟件測試活動轉化為一系列數據操作,通過不同的數據操作體現被測軟件的應激狀態,進而達到軟件測試的目的。從上文可知,關鍵字驅動腳本通過導航腳本控制,分別讀取關鍵字支持腳本和數據文件的固有機制帶來了執行效率問題,因此可以合并導航腳本和關鍵字支持腳本,即提高關鍵字腳本所處的層次,也就是說,把腳本執行控制字和數據操作關鍵字合并,形成一種真正的面向數據操作的腳本語言,同時為了解決文件數據固定問題,使用另一種腳本來描述多樣的數據結

10、構,同時把對數據的不同加工方式融入腳本描述中,這樣就解決了數據結構定制和完備產生的困難8C基于模型驅動的自動化測試技術模型驅動測試就是通過對SUT勺功能與系統結構進行分析,然后結合測試策略構建起全面、清晰的測試模型,最后通過測試模型自動生成測試用例驅動測試人員完成SUT勺測試。模型驅動測試的優點主要有兩方面:(1)測試模型為用戶提供了更加清晰、準確和系統的測試設計。無論是基于數據驅動的還是基于關鍵字驅動的自動化測試技術展現給用戶的都是一個個互不相關的測試用例啪,用戶很難從生成的測試用例中理解整個測試系統的結構與測試重點。(2)減少了測試用例維護工作,實現了測試資源的重利用,有效縮短了測試周期。

11、建立起測試模型后,測試系統沒計師可以在測試需求或SUT勺系統設計規格發生改變后通過調整測試模型(而不是個性測試用例)來適應變化9。r-HI-,l/L校曳模型特徽器U2TF幡項赭斌用例綁木自,曲葉成牌瀟遙用倒執行瓶。一SUT基于模型驅動的自動化測試架構圖基于數據驅動的自動化測試技術并且以數據來控制自動數據驅動自動化測試是一種數據被包含在輸入測試數據文件中,化測試腳本執行的流程和動作的測試。輸入測試數據記錄是從外部文件中讀入的,并且是獨立于測試腳本程序開發的。數據驅動測試使用存檔的測試數據來驅動自動化測試過程,這些數據通常以簡單的文本文件或Excel文彳(電子表格)形式存在10。六、被M應用自動化

12、測試工具介紹隨著計算機應用的日益普及和深化,現代軟件的規模越來越大、類型越來越復雜。設計人員和使用人員都希望在將軟件系統投入運行之前,能盡可能地提高軟件的質量。軟件測試對確保軟件質量有著極其重要的作用,但是手工的測試工作是非常繁瑣和低效率的,為了更有效的進行軟件測試,讓一部分工作利用自動化工具進行自動測試是非常有效的方法11。下面為幾款具有代表性的自動化測試工具。RationalRobot是業界最頂尖的功能測試工具,它甚至可以在測試人員學習高級腳本技術之前幫助其進行成功的測試。它集成在測試人員的桌面舊MRationalTestManager±,在這里測試人員可以計劃、組織、執行、管理

13、和報告所有測試活動,包括手動測試報告。這種測試和管理的雙重功能是自動化測試的理想開始。WinRunner是一種企業級的用于檢驗應用程序是否如期運行的功能性測試工具。通過自動捕獲,檢測,和重復用戶交互的操作,WinRunner能夠辨認缺陷并且確保那些跨越多個應用程序和數據庫的業務流程在初次發布就能避免出現故障,并且保持長期可靠運行。QuickTestProfessional是一個功能測試自動化工具,主要應用在回歸測試中。QuickTest針對的是GUI應用程序,包括傳統的Windows應用程序,以及現在越來越流行的Web應用。它可以覆蓋絕大多數的軟件開發技術,簡單高效,并具備測試用例可重用的特點

14、。其中包括:創建測試、插入檢查點、檢驗數據、增強測試、運行測試、分析結果和維護測試等方面。AdventNetQEngineAdventNetQEngine是一個應用廣泛且獨立于平臺的自動化軟件測試工具,可用于Web能測試、web性能測試、Java應用功能測試、JavaAPI測試、SOARS式、回歸測試和Java應用性能測試。支持對于使用HTMLJSRASP.NET、PHPJavaScript/VBScript、XMLSOAPWSDLe-commerce、傳統客戶端/服務器等開發的應用程序進行測試。此工具以Java開發,因此便于移植和提供多平臺支持。SilkTest是業界領先的、用于對企業級應用

15、進行功能測試的產品,可用于測試WebJava或是傳統的C/S結構。SilkTest提供了許多功能,使用戶能夠高效率地進行軟件自動化測試。這些功能包括:測試的計劃和管理;直接的數據庫訪問及校驗;靈活、強大的4Test腳本語言,內置的恢復系統(RecoverySystem);以及具有使用同一套腳本進行跨平臺、跨瀏覽器和技術進行測試的能力。QARunQARun勺測試實現方式是通過鼠標移動、鍵盤點擊操作被測應用,即而得到相應的測試腳本,對該腳本可以進行編輯和調試。在記錄的過程中可針對被測應用中所包含的功能點進行基線值的建立,換句話說就是在插入檢查點的同時建立期望值。在這里檢查點是目標系統的一個特殊方面

16、在一特定點的期望狀態。通常,檢查點在QARunf示目標系統執行一系列事件之后被執行。檢查點用于確定實際結果與期望結果是否相同。TestPartner是一個自動化的功能測試工具,它專為測試基于微軟、Java和Web技術的復雜應用而設計。它使測試人員和開發人員都可以使用可視的腳本編制和自動向導來生成可重復的測試,用戶可以調用VBA的所有功能,并進行任何水平層次和細節的測試。TestPartner的腳本開發采用通用的、分層的方式來進行。沒有編程知識的測試人員也可以通過TestPartner的可視化導航器來快速創建測試并執行。通過可視的導航器錄制并回放測試,每一個測試都將被展示為樹狀結構,以清楚地顯現

17、測試通過應用的路徑。TelelogicTAUTAU第二代包含三個最新的、最強大的技術用來加速大規模軟件開發和測試:統一建模語言(UML)及它的許多最新修訂版本中的特性,UML2.0;功能強大的測試語言TTCN-3和新的構造系統的方法:ModelDrivenArchitecture(模型驅動構架)。這三個新的業界標準結合成TAU的已經過認可的軟件開發平臺,形成了一個系統,一個一流的穩定可靠的工具解決方案。TAU第二代是系統與軟件開發解決方案的一個突破,它把業界從使用了太長時間的手工、易出錯、以代碼為中心的方法中釋放出來,自然而然地邁向下一步,一個更加可視化、自動化及可靠的開發方法。Telelog

18、icTAU/Tester是基吁二通用測試語言TTCN-3,用于自動化的系統和集成測試的強大工具。TAU/Tester以現代化的開發工具為基礎,提供高層測試功能,支持整個測試生命周期,加速自動化測試。TAU/Tester可使用戶特別關注于測試的開發,因為TTCN-3語言是獨立于開發語言或測試設備的,且是抽象和可移植的。七、總結通過研究和比較當前比較流行的幾種自動化測試技術,我們可以對自動化測試技術發展方向做出以下展望。采用標準化架構在企業產品線日益膨脹的情況下,采用一個標準化架構開發通用測試平臺是行之有效的方法,以提高產品從研發到生產測試的整個生命周期里測試硬件和軟件組件的復用性。多通道RF測試

19、無線技術變革已經對測量測試行業產生巨大影響,其中兩個關鍵技術趨勢尤為突出,其一是MIMO技術,其二便是多種無線標準在同一系統中的集成。這兩個技術趨勢都要求射頻測量系統能夠實現并行測試,這就需要可配置的多通道射頻測試系統12。Peer-to-Peer高速傳輸與計算隨著測試需求的日益復雜和數據量的指數態增長,自動化測試系統需要更強的處理能力,分布式處理的架構也隨之被提出。新一代高性能分布式架構應以下具有高吞吐量點對點拓撲結構、低延遲、能夠提供用戶自定義處理節點這三大特性。參考文獻1 .GlenfordJ.MyersBadgettTom.(2004).TheArtofSoftwareTesting.NewJersey:JohnWiley&sonsInc.2 .李孟源.(2006).測試技術基礎.西安:西安電子科技大學出版社.3 .陸璐,王柏勇.(2006).軟件自動化測試技術.北京:北京交通大學出版社.4 .ElfriedeDustin,J.R.(2004).Automatedsoftwaretesting:introduction,management,andperformance.NewYo

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論