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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

16、在一特定點的期望狀態(tài)。通常,檢查點在QARunf示目標系統(tǒng)執(zhí)行一系列事件之后被執(zhí)行。檢查點用于確定實際結(jié)果與期望結(jié)果是否相同。TestPartner是一個自動化的功能測試工具,它專為測試基于微軟、Java和Web技術(shù)的復(fù)雜應(yīng)用而設(shè)計。它使測試人員和開發(fā)人員都可以使用可視的腳本編制和自動向?qū)砩煽芍貜?fù)的測試,用戶可以調(diào)用VBA的所有功能,并進行任何水平層次和細節(jié)的測試。TestPartner的腳本開發(fā)采用通用的、分層的方式來進行。沒有編程知識的測試人員也可以通過TestPartner的可視化導(dǎo)航器來快速創(chuàng)建測試并執(zhí)行。通過可視的導(dǎo)航器錄制并回放測試,每一個測試都將被展示為樹狀結(jié)構(gòu),以清楚地顯現(xiàn)

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

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

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

溫馨提示

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

評論

0/150

提交評論