《軟件測試之軟件自動化測試ppt課件》由會員分享,可在線閱讀,更多相關(guān)《軟件測試之軟件自動化測試ppt課件(31頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、A Free sample background from ,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Slide,1,第,6,章 軟件自動化測試,由安博測試空間技術(shù)中心http:/ 軟件自動化測試由安博測試空間技術(shù)中心http:/,6.1,自動化測試基礎(chǔ),6.1 自動化測試基礎(chǔ),自動化測試的定義,測試自動化的原因:測試軟件是一項艱苦的工作。,測試的工作量很大(據(jù)統(tǒng)計,測試會占用到約,40%,的軟件開發(fā)時間;一些可靠性要求非常高的軟件,測試時間甚至占到開發(fā)
2、時間約,70%,)。而測試中的許多操作是,重復(fù)性的、非智力性的和非創(chuàng)造性,的,并要求做準(zhǔn)確細(xì)致的工作。,自動化測試的定義:使用一種自動化測試工具來驗證各種軟件測試的需求,它包括測試活動的管理與實施。,自動化測試的定義測試自動化的原因:測試軟件是一項艱苦的工作。,無法覆蓋所有代碼路徑,簡單的功能性測試用例在每一輪測試中機械地重復(fù),工作量往往較大,.,手工測試難以捕捉到許多與時序、死鎖、資源沖突、多線程等有關(guān)的錯誤。,難以模擬大量數(shù)據(jù)或大量并發(fā)用戶,難以在短時間內(nèi)完成大量的測試用例,手工測試的局限性,手工測試的局限性,可能縮短軟件測試周期,測試效率高,節(jié)省人力資源,降低測試成本,增強測試的穩(wěn)定性和
3、可靠性,提高軟件測試的準(zhǔn)確度和精確度,測試工具使測試工作容易,還能產(chǎn)生更高質(zhì)量的測試結(jié)果,測試自動化可以完成手工難以完成的測試,如性能、負(fù)載測試,測試自動化的好處,測試自動化的好處,比較適合,采用自動化測試的:,主要是重復(fù)多次的機械性活動,例如測試案例的執(zhí)行和比較,及一些手工無法或難以執(zhí)行的測試(包括嵌入式系統(tǒng)測試、壓力測試等)。測試自動化在單元測試、集成測試、功能測試、性能測試、穩(wěn)定性測試、負(fù)載測試,/,壓力測試、可靠性測試等方面獲得很好的效果。,不適合,采用自動化測試的:,不穩(wěn)定軟件的測試、,開發(fā)周期很短,的軟件、一次性的軟件等,還有智力性活動,包括測試規(guī)劃、測試計劃、測試報告等。,比較適
4、合采用自動化測試的:,軟件開發(fā)過程,下列情況需要考慮引入自動化測試:,P138,(,1,)非常重要的測試;(,2,)涉及范圍很廣的測試;,(,3,)對主要功能的測試;(,4,)容易自動化的測試;,(,5,)很快有回報的測試;(,6,)運行最頻繁的測試;,(,7,)測試個案的生成,包括測試輸入、測試輸出、測試操作指令等;,(,8,)測試的執(zhí)行與控制,包括單機運行和網(wǎng)絡(luò)多機分布式的運行,在節(jié)假日的運行,;,(,9,)測試結(jié)果與標(biāo)準(zhǔn)輸出進(jìn)行對比;,(,10,)不吻合預(yù)期的測試結(jié)果的分析、記錄、分類和報告,及總體測試狀況的統(tǒng)計及報表的產(chǎn)生。,軟件開發(fā)過程,下列情況需要考慮引入自動化測試:P138,自動
5、化測試的原理和方法,軟件測試自動化實現(xiàn)的基礎(chǔ):,通過設(shè)計的特殊程序,模擬,測試人員對計算機的操作過程、操作行為,或者類似于編譯系統(tǒng)那樣對計算機程序進(jìn)行檢查。,軟件測試自動化實現(xiàn)的,原理和方法,主要有:,直接對代碼進(jìn)行靜態(tài)和動態(tài)分析、測試過程的,捕獲,(,錄制,),和回放,、測試腳本技術(shù)、虛擬用戶技術(shù)和測試管理技術(shù)。,自動化測試的原理和方法軟件測試自動化實現(xiàn)的基礎(chǔ):,(1),代碼分析,一種,白盒測試,的自動化方法,一般針對不同的高級語言去構(gòu)造分析工具,在工具中定義類、對象、函數(shù)、變量等定義規(guī)則、語法規(guī)則;在分析時對代碼進(jìn)行語法掃描,找出不符合編碼規(guī)范的地方;根據(jù)某種質(zhì)量模型評價代碼質(zhì)量,生成系統(tǒng)
6、的調(diào)用關(guān)系圖等。,(1)代碼分析,(2),捕獲和回放(錄制回放),:,一種,黑盒測試,的自動化方法。,捕獲,是將用戶每一步操作都記錄下來。這種記錄的方式有兩種:程序用戶界面的像素坐標(biāo)或程序顯示對象(窗口、按鈕、滾動條等)的位置,以及相對應(yīng)的操作、狀態(tài)變化或是屬性變化。,所有的記錄轉(zhuǎn)換為一種腳本語言所描述的過程,以模擬用戶的操作,。,回放,時,將腳本語言所描述的過程轉(zhuǎn)換為屏幕上的操作,然后將被測系統(tǒng)的輸出記錄下來同預(yù)先給定的標(biāo)準(zhǔn)結(jié)果比較。這可以大大減輕黑盒測試的工作量,在迭代開發(fā)的過程中,能夠很好地進(jìn)行,回歸測試,。,軟件測試之軟件自動化測試ppt課件,“捕獲回放”,步驟:,(1)先由手工完成一
7、遍需要測試的流程,(2)計算機記錄下這個流程期間客戶端和服務(wù)器端之間的通信信息,這些信息通常是一些協(xié)議和數(shù)據(jù),(3)形成特定的腳本程序,(Script),(4)然后在系統(tǒng)的統(tǒng)一管理下,,修改腳本,,同時生成多個虛擬用戶,并,運行該腳本,,監(jiān)控硬件和軟件平臺的性能,提供分析報告或相關(guān)資料。,通過幾臺機器就可以模擬出成百上千的用戶對應(yīng)用系統(tǒng)進(jìn)行負(fù)載能力的測試。,“捕獲回放”步驟:,(,3,)腳本技術(shù),腳本是一組測試工具執(zhí)行的,指令集合,,也是計算機程序的一種形式。腳本可以通過錄制測試的操作產(chǎn)生,然后再做修改,這樣可以減少腳本編程的工作量。當(dāng)然,也可以直接用腳本語言編寫腳本。腳本中可包含數(shù)據(jù)和指令,
8、并包括以下一些信息:,同步,(,何時進(jìn)行下一步輸入,),比較信息,(,比較什么、如何比較以及和誰比較,),捕獲何種屏幕數(shù)據(jù)以及存儲在何處,控制信息等,(3)腳本技術(shù),測試腳本的開發(fā)流程,捕獲,/,回放工具,測試設(shè)計,修改腳本,生成的腳本,回放腳本,分析比較評價結(jié)果,可復(fù)用的腳本,運行結(jié)果,缺陷報告,進(jìn)行回歸測試及其他測試,1),根據(jù)測試設(shè)計文檔,確定自動測試范圍。使用捕獲,/,回放工具,生成初始的測試腳本,;,2),對生成的腳本進(jìn)行修改,,得到正確的、可復(fù)用的、可維護性好的腳本。,3),執(zhí)行修改后的腳本,,獲得實際的運行效果。,4),對,觀察到的運行結(jié)果,進(jìn)行分析和比較,報告發(fā)現(xiàn)的缺陷;評價本
9、次運行結(jié)果,分析存在的問題和不足,提出下一步的改進(jìn)方案。,5),重復(fù)前面的步驟,,進(jìn)行回歸測試和其他測試,。根據(jù)需要,可能從第一步開始重復(fù)執(zhí)行,也可能從后面各步開始重復(fù)執(zhí)行。,測試腳本的開發(fā)流程捕獲/回放工具測試設(shè)計修改腳本生成的腳本回,(,4,)自動比較,自動測試時,預(yù)期輸出是事先定義的,或插入腳本中的,(checkpoint),,然后在測試過程中運行腳本,將捕獲的結(jié)果和預(yù)先準(zhǔn)備的輸出進(jìn)行比較,從而確定測試用例是否通過。自動比較可以對比屏幕或屏幕區(qū)域圖象、比較窗口或窗口上空間的數(shù)據(jù)或?qū)傩?、比較網(wǎng)頁、比較文件等。,(4)自動比較,(,5,)測試管理,指對測試輸入、執(zhí)行過程、測試結(jié)果進(jìn)行管理。除
10、了對和手工測試共性的測試計劃、測試用例、缺陷、產(chǎn)品功能、需求變化等實施管理外,還要對自動化測試中的測試數(shù)據(jù)文件、測試腳本代碼、預(yù)期輸出結(jié)果、測試日志、測試自動比較結(jié)果等進(jìn)行跟蹤、控制和管理。,(5)測試管理,6.2,軟件自動化測試生存周期方法學(xué),P145,自動化測試生存周期方法學(xué),1.自動化測試決定,2.測試工具獲取,3.自動化測試引入過程,4.測試計劃、設(shè)計與開發(fā),5.測試執(zhí)行與管理,6.測試評審與評估,圖 自動化測試生存周期方法學(xué)結(jié)構(gòu),6.2 軟件自動化測試生存周期方法學(xué) P145自動化測試生,軟件自動化測試生存周期方法學(xué),(續(xù)),采用自動化測試方法的確認(rèn),自動化測試工具的獲?。?自動化工
11、具可以購買,也可以自己開發(fā),自動化測試的引入階段,包括測試過程分析和測試工具的考查。,測試計劃與測試設(shè)計,包括制訂測試計劃、建立測試環(huán)境、測試設(shè)計和設(shè)計開發(fā)。,測試執(zhí)行與管理,測試活動評審與評估,軟件自動化測試生存周期方法學(xué)(續(xù))采用自動化測試方法的確認(rèn),6.3,自動化測試生存周期方法的應(yīng)用,自動化測試生存周期方法學(xué),1.自動化測試決定,2.測試工具獲取,3.自動化測試引入過程,4.測試計劃、設(shè)計與開發(fā),5.測試執(zhí)行與管理,6.測試評審與評估,A.,系統(tǒng)生存周期過程評估與改進(jìn),F.,生成維護階段,C.,小型工具先導(dǎo)/原型,D.,系統(tǒng)設(shè)計與開發(fā)階段,B.,業(yè)務(wù)分析與需求階段,E.,組裝與測試階段
12、,6.3 自動化測試生存周期方法的應(yīng)用自動化測試生存周期方法,軟件自動化測試不是靈丹妙藥,測試計劃產(chǎn)生:主要靠測試工程師與軟件生產(chǎn)質(zhì)量保證 專家的合作,自動化工具只能起到一定的輔助作用。,一種測試工具不完全適用于所有測試,自動測試不一定減輕工作量,測試進(jìn)度可能不一定縮短,測試工具不一定易于使用,自動化測試的普遍應(yīng)用存在局限,測試覆蓋率不會達(dá)到百分之百,軟件自動化測試不是靈丹妙藥,測試自動化限制,測試自動化可以帶來非常明顯的收益,但也有以下限制:,不能取代手工測試,可作為手工測試的補充,手工測試比自動測試發(fā)現(xiàn)的缺陷更多,對測試質(zhì)量的依賴性極大,自動測試一般可能使測試得更快,而不能保證測試得更好,
13、自動測試腳本可能包含錯誤;,需要被測試的程序相對穩(wěn)定;,測試自動化可能會制約軟件開發(fā)。,測試工具本身不能代替人的想象力和創(chuàng)造力。,人工測試比測試工具更優(yōu)越的另一個方面是可以處理意外事件,。,測試自動化限制,軟件測試工具分類,根據(jù)測試方法分類:,黑盒測試工具、白盒測試工具。,根據(jù)測試的對象和目的:,單元測試工具、功能測試工具、負(fù)載測試工具、性能測試工具和測試管理工具等。,自動化測試工具在設(shè)計時往往針對被測試的對象不同而不同,軟件測試工具分類根據(jù)測試方法分類:自動化測試,黑盒測試,工具,:是指測試軟件功能或性能的工具,主要用于系統(tǒng)測試和驗收測試;其又可分為功能測試工具和性能測試工具。,一般原理是利
14、用腳本的錄制,/,回放,模擬用戶的操作,然后將被測系統(tǒng)的輸出記錄下來同預(yù)期結(jié)果比較。,白盒測試工具,:是指測試軟件的源代碼的工具,可以實現(xiàn)代碼的靜態(tài)分析,動態(tài)測試,評審等功能,主要用于單元測試。又分為靜態(tài)測試工具和動態(tài)測試工具。,測試管理工具,:是指管理整個測試流程的工具,主要功能有測試計劃的管理,測試用例的管理,缺陷跟蹤,測試報告管理等,一般貫穿于整個的軟件測試生命周期。,所有的測試工具都可以歸到上面的,3,個大類里面,比如一些數(shù)據(jù)庫測試工具、鏈接測試工具可以歸到黑盒測試工具里面,一些,缺陷管理工具如,Bugzilla,可以歸到測試管理工具里面,但有時缺陷管理工具也可以自成一類。,軟件測試工
15、具分類,軟件測試工具分類,MI,公司,全稱,Mercury Interactive,,軟件測試工具領(lǐng)域的,NO.1,。其開發(fā)的,LoadRunner,屬于性能測試工具,主要用于,C/S,和,B/S,結(jié)構(gòu)的軟件系統(tǒng)的測試,,其通過模擬虛擬的并發(fā)用戶數(shù)來對被測系統(tǒng)進(jìn)行壓力測試。,通過以模擬上千萬用戶實施并發(fā)負(fù)載及實時性能監(jiān)測的方式來確認(rèn)和查找問題,能夠,對整個企業(yè)架構(gòu)進(jìn)行測試,使企,業(yè)能最大限度地縮短測試時間,,優(yōu)化性能和加速應(yīng)用系統(tǒng)的發(fā),布周期。,測試工具主流產(chǎn)品,測試工具主流產(chǎn)品,TD,TestDirector,是,MI,公司開發(fā)的一款知名的,測試管理工具,,可以實現(xiàn)需求管理,測試計劃管理,用
16、例管理,缺陷管理。,TestDirector,能夠很好的和,MI,公司的其他測試工具(如,QTP,LoadRunner,等)很好的集成,并且具有強大的圖表統(tǒng)計功能,會自動生成豐富的統(tǒng)計圖表。,TestDirector,是,B/S,結(jié)構(gòu)的軟件,只需要在服務(wù)器端安裝軟件,所有的客戶端就可以通過瀏覽器來訪問,TestDirector,方便測試人員的團隊合作和溝通交流。,QC(Quality Center),可以說是,TD,的升級版。,Bugzilla,是缺陷管理工具。,黑盒測試工具,TD,TestDirector,是MI公司開發(fā)的一款知名的測,WinRunner,是,MI,公司開發(fā)的一款,功能測試工具,,是基于,Windows,操作系統(tǒng)的,通過腳本的錄制和回放來進(jìn)行自動化的功能測試。腳本語言是類,C,的。,QTP,的全稱是,Quick Test Professional,是,MI,公司開發(fā)的一款,功能測試工具,,也是,MI,公司主推的一款測試工具,其功能與,WinRunner,類似。,腳本語言是類,VBScript,。,黑盒測試工具,WinRunner是MI公司開發(fā)的一款功能測試工具,是基于