![自動化測試框架_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/13/7d84a4b6-65f5-4063-a68d-0203145139e3/7d84a4b6-65f5-4063-a68d-0203145139e31.gif)
![自動化測試框架_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/13/7d84a4b6-65f5-4063-a68d-0203145139e3/7d84a4b6-65f5-4063-a68d-0203145139e32.gif)
![自動化測試框架_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/13/7d84a4b6-65f5-4063-a68d-0203145139e3/7d84a4b6-65f5-4063-a68d-0203145139e33.gif)
![自動化測試框架_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/13/7d84a4b6-65f5-4063-a68d-0203145139e3/7d84a4b6-65f5-4063-a68d-0203145139e34.gif)
![自動化測試框架_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/13/7d84a4b6-65f5-4063-a68d-0203145139e3/7d84a4b6-65f5-4063-a68d-0203145139e35.gif)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、自動化測試框架思路文章分類:綜合技術(shù)1.1. 自動化測試的優(yōu)點提高測試效率和降低測試成本實現(xiàn)快速的回歸測試,加快測試進度從而加快產(chǎn)品發(fā)布進度更多的測試,提高測試覆蓋率保證一致性提高測試的可靠性,避免人為因素1.2. 為什么要做自動化測試框架通過以往的嘗試,發(fā)現(xiàn)真正實現(xiàn)自動化測試,并不是掌握了某個自動化測試工具,掌握了腳本的編寫技術(shù)就能夠達成,面對復(fù)雜的 ERP系統(tǒng),簡單的錄制/回放并不能達到自動化測試的要求,完全通過編寫 腳本的方式,工作量巨大且可維護性極差、不能復(fù)用。實現(xiàn)自動化就是為了能夠提升測試效率,不具備可 維護性、復(fù)用性差將成為導(dǎo)致自動化測試失敗的最致命因素,付岀巨大代價但起到的效果甚
2、微?;谝陨弦蛩夭⒔Y(jié)合行業(yè)發(fā)展思路,在正式實施自動化之前,必須搭建一套適合的自動化測試框架,將腳本能夠有效的組織、連貫應(yīng)用起來,提高測試腳本的可維護性和可讀性。1.3. 希望達成的目標搭建符合以下要求的自動化測試框架,使得未來自動化測試正式實施時能夠有序、高效的開展:高復(fù)用性高可維護性穩(wěn)定性快速編寫腳本自動執(zhí)行正確輸岀結(jié)果能夠不斷提升自動化測試比例1.4. 實現(xiàn)思路分層設(shè)計:業(yè)務(wù)流程、功能點、操作組件我們在進行測試時,首先會驗證各個頁面、各個字段的正確性,到驗證功能點的正確性,再組合各個 功能點進行業(yè)務(wù)邏輯、業(yè)務(wù)流程的驗證,最終確保系統(tǒng)滿足業(yè)務(wù)需求。*對于自動化腳本,采用分層的思想,先實現(xiàn)最底
3、層的操作組件,通過調(diào)用操作組件、及業(yè)務(wù)邏輯實現(xiàn) 對功能點的驗證,再通過調(diào)用業(yè)務(wù)邏輯組合功能點實現(xiàn)對業(yè)務(wù)流程的驗證。不同的業(yè)務(wù)流程,對于底層的 操作組件、中間層的功能點函數(shù)是完全可以復(fù)用的,只是調(diào)用的業(yè)務(wù)邏輯的差異,或者是測試數(shù)據(jù)的差異 性。*盡可能做到各腳本之間具備獨立性,不相互依賴,便于進行各種基本場景的組合運行。 如銷售系統(tǒng)中的選擇房間操作,在做預(yù)約、小訂、認購等操作時,都需要用到選擇房產(chǎn),因此可以將 選擇房產(chǎn)做為一個公共的操作組件,詳細描述選擇房產(chǎn)的操作步驟,在測試新增預(yù)約、新增小訂、新增認 購等功能點時都需要調(diào)用到選擇房產(chǎn)的操作組件,只是業(yè)務(wù)的校驗邏輯與所選擇的數(shù)據(jù)不一致。再看業(yè)務(wù)流程
4、,新增一個小訂單后可以作廢,也可以由小訂轉(zhuǎn)認購,業(yè)務(wù)流程就有兩個:新增小訂單 作廢訂單,新增小訂單轉(zhuǎn)認購,這兩個業(yè)務(wù)流程中“新增小訂單”這個功能點是一致的,可以通過調(diào) 用不同的用例數(shù)據(jù)組合成不同的業(yè)務(wù)流程。腳本分離設(shè)計:對象、操作、測試數(shù)據(jù)、業(yè)務(wù)邏輯相互剝離、靈活調(diào)用 對某個功能進行自動化測試,實際上就是對這個功能涉及的對象進行操作,輸入測試數(shù)據(jù)來驗證其結(jié) 果的正確性,復(fù)雜的驗證點需要編寫業(yè)務(wù)邏輯。如果全部用腳本的方式編寫,針對每一條測試數(shù)據(jù)就需要 編寫一份腳本,腳本量相當(dāng)巨大,同時任何改動(程序、測試用例、 GUI 對象)都需要調(diào)整大量的腳本。為了達到可維護性、可復(fù)用性,將對象、操作、測試數(shù)
5、據(jù)、業(yè)務(wù)邏輯剝離、分開管理,通過調(diào)用關(guān)系 去組合實現(xiàn)不同的測試用例。*對象資源庫*測試數(shù)據(jù)資源庫*操作組件(描述操作步驟)*腳本:業(yè)務(wù)邏輯 分離后,如果要增加測試用例,只需要維護測試數(shù)據(jù),如果程序修改,增加了對象,那么只需要維護 對象庫、操作組件,增加對這個對象的操作。封裝基礎(chǔ)函數(shù)、基本的業(yè)務(wù)邏輯、驗證點 通過對基本業(yè)務(wù)邏輯、驗證點的封裝、調(diào)用,實現(xiàn)快速的腳本開發(fā) 如一個數(shù)據(jù)保存的功能,每一條數(shù)據(jù)在做了增、刪、改的操作后,都需要驗證保存至后臺數(shù)據(jù)庫的數(shù) 據(jù)正確性,通過預(yù)期結(jié)果與數(shù)據(jù)庫實際產(chǎn)生的數(shù)據(jù)集進行比較驗證,在獲取數(shù)據(jù)庫實際產(chǎn)生的數(shù)據(jù)集的方 式是通用的,只是不同的功能所要驗證的數(shù)據(jù)表、字段
6、及 Where 條件不一致,獲取數(shù)據(jù)集的方式就可以 封裝成一個基礎(chǔ)函數(shù), 傳入不同的 SQL 語句做為參數(shù)即可。 同時預(yù)期結(jié)果與實際結(jié)果集的比較也可以封裝 為基礎(chǔ)函數(shù)。再如,系統(tǒng)頁面中在某些操作或條件下,部分字段是只讀不允許編輯的,或者是隱藏不顯示的,編寫 腳本時需要對每一個對象寫一條語句驗證其只讀和隱藏屬性的正確性,如果將只讀和隱藏屬性的驗證進行 封裝,針對每一個頁面進行驗證,那么只需要傳入這個頁面只讀或隱藏的對象名稱,調(diào)用封裝的函數(shù)執(zhí)行 驗證??梢源蟠鬁p少腳本量,也更易于維護。有效的執(zhí)行體系*批量、定制執(zhí)行、自動運行自動化測試真正達到提升測試效率,需要實現(xiàn)無人值守情況下的批量自動執(zhí)行,并且
7、可以定制執(zhí)行。*異常處理機制腳本執(zhí)行過程中,因程序錯誤或環(huán)境問題、腳本自身問題經(jīng)常會岀現(xiàn)非預(yù)期的錯誤:如意料外的彈岀 窗口、發(fā)現(xiàn)錯誤的數(shù)據(jù)、未找到對象、輸入文件打不開或不能讀等,有些情況下當(dāng)前用例岀錯,并不影響 后續(xù)用例的執(zhí)行,需要支持異常處理機制,終止執(zhí)行或者終止當(dāng)前用例,繼續(xù)后續(xù)用例的執(zhí)行,亦或者跳 過當(dāng)前步驟,繼續(xù)執(zhí)行后續(xù)操作,并輸岀當(dāng)前的錯誤報告。*業(yè)務(wù)數(shù)據(jù)還原初始狀態(tài)自動化測試需要循環(huán)執(zhí)行,執(zhí)行完成后,需要恢復(fù)初始狀態(tài)(主要是業(yè)務(wù)數(shù)據(jù)),以使得程序重新提 交版本后能夠循環(huán)執(zhí)行,不斷的對新版本進行回歸驗證。*版本管理隨著待驗證版本的不一致,自動化測試腳本也會不斷的更新、維護,同樣需要進
8、行版本管理。結(jié)果體系*針以每條用例,輸出用例執(zhí)行結(jié)果*針對每個檢查點,輸岀詳細的檢查點執(zhí)行結(jié)果*輸出執(zhí)行日志結(jié)構(gòu)化管理對象、操作組件、基礎(chǔ)函數(shù)、測試數(shù)據(jù)、功能點腳本、業(yè)務(wù)流程組合,如此多的層級、調(diào)用關(guān)系,必 須進行結(jié)構(gòu)化管理,采用高度組織化的目錄結(jié)構(gòu)、分級管理,方便進行正確及快速的調(diào)用,方便能夠快速 定位、查找問題。軟件自動化測試的引入和應(yīng)用關(guān)鍵字:軟件測試自動化 在了解軟件測試自動化的重要意義之后,就要開始啟動軟件測試自動化進程。在進行自動化測試之前,首 先要建立一個對軟件測試自動化的認識觀。軟件測試工具能提高測試效率、覆蓋率和可靠性等,軟件測試 自動化雖然具有很多優(yōu)點,但它只是測試工作的一
9、部分,是對手工測試的一種補充。軟件測試自動化絕不 能代替手工測試,它們各有各自的特點,其測試對象和測試范圍都不一樣:在系統(tǒng)功能邏輯測試、驗收測試、適用性測試、涉及物理交互性測試時,多采用黑盒測試的手工測 試方法。單元測試、集成測試、系統(tǒng)負載或性能測試、穩(wěn)定性測試、可靠性測試等比較適合采用自動化刪試。那種不穩(wěn)定軟件的測試、開發(fā)周期很短的軟件、一次性的軟件等不適合自動化測試。工具本身并沒有想象力和靈活性,根據(jù)報道,自動測試只能發(fā)現(xiàn)15 的缺陷,而手工測試可以發(fā)現(xiàn)85酐 J 缺陷。自動化測試工具在進行功能測試時,其準確的含義是回歸測試工具,這時工具不能發(fā)現(xiàn)更多的新問 題,但口丁以保證對已經(jīng)測試過部分
10、的準確性和客觀性。多數(shù)情況下,手工測試和自動化測試應(yīng)該相結(jié)合,以攝有效的方法來完成測試任務(wù)。1 找準測試自動化的切入點管是自己開發(fā)測試工具,還是購買第三方現(xiàn)成的工具產(chǎn)品,當(dāng)開始啟動測試自動化時,";要希望一F子就能做很多事情。必須從蛀基本的測試工作切入,如驗證新構(gòu)建的軟件包(Bujld) 是否有嚴重的或致命的問題,即驗證構(gòu)建的軟件包所有基本功能是否正常工作,或者可以從某一個模塊開始,如果這個模塊做成 功了,再向其他模塊推進。2 把測試開發(fā)納入整個軟件開發(fā)體系 測試用例設(shè)計完成之后,就可以進行手工測試,但要用測試工具,還必須將測試用例轉(zhuǎn)化成測試腳本 或編寫特殊的測試程序,測試腳本也是程
11、序,所以應(yīng)該要遵守已有的、規(guī)范的編程標準和規(guī)則。用編程語 言或腳本語言寫出短小的程序來產(chǎn)生大量的測試輸入(包括輸入數(shù)據(jù)與操作指令 ),或同時也按一定的邏輯規(guī)律產(chǎn)牛標準輸出。輸入與輸出的文件名字,同開發(fā)中其他環(huán)節(jié)一樣,進行統(tǒng)一規(guī)劃,按規(guī)定進行配對, 以便進行自動化測試的結(jié)果對比分析。自動化測試應(yīng)該是整個開發(fā)過程中的一個有機組成部分。自動測試要依靠配置管理來提供良好的運行環(huán)境,同時它必須要與開發(fā)中的軟件構(gòu)建緊密配合a只要是程序,就可能存在缺陷,所以測試腳本或測試程序也要進行測試,在實際運杓測試之前,要保證測試工具或測試腳本的正確性。當(dāng)然,并不是說要一層層的測試下去,而進入程序測試遞歸的死胡同。相對
12、來隨,測試腳本或測試工具簡單些,其測試也容易些。一旦測試中發(fā)現(xiàn)問題,要么是被測試的對象有 問題,要么是測試腳本或測試工具有問題,總之,問題容易發(fā)現(xiàn)。為了使測試自動化的腳本能多次重復(fù)進行,測試用例和測試腳本要寫入數(shù)據(jù)庫,進行動態(tài)管理。3測試自動化依賴測試流程和測試用倒不管是手工測試和自動化測試,關(guān)鍵是測試流程的建立和測試用例的設(shè)計,只有在良好的測試用例基 礎(chǔ)上,編寫測試腳本、執(zhí)行測試或運行測試腳本,才能保證測試的執(zhí)行效果。為了適合測試自動化的測試 腳本的編程,可以使測試用例轉(zhuǎn)化為用例矩陣化 (CaseMatcix),使測試腳本容易實現(xiàn)結(jié)構(gòu)化。4軟件測試自動化的投入較大對于軟件測試自動化要有一個正
13、確的理解,才能做到事半功倍e由于軟件測試自動化在前期的投入要比手工測試的投入大得多,除了在購買軟件測試工具或成套工具系統(tǒng)所投八的資金(一般這類工具軟件還比較貴)和大量的人員培訓(xùn)之外,還要花很多時間去寫測試腳本、維護腳本等。5進行赍源的合理調(diào)度在開發(fā)中的產(chǎn)品達到一定程度的時候,就應(yīng)該開始進行每日構(gòu)造新版本并進行自動化的驗證測試。這種做法能使軟件的開投狀態(tài)得到頻繁的更新, 及早發(fā)現(xiàn)設(shè)計和集成的缺陷。為了充分利用時間與設(shè)備資源, 下班之后進行自動的軟件構(gòu)建,緊接著進行自動測試 (這里多數(shù)指的是系統(tǒng)測試或回歸測試 )是一個非常行 之有效的方法。如果安排得好,到第二天上班時,測試結(jié)果就已經(jīng)在各人的電子郵
14、箱里面了。軟件測試框架介紹關(guān)鍵字:軟件測試測試框架在軟件測試領(lǐng)域,我們經(jīng)常會聽到測試框架。什么是軟件測試框架?在軟件測試中它起到怎樣的作用?要認識軟件測試框架,首先要對所謂框架有概念??蚣? Framework )是整個或部分系統(tǒng)的可重用設(shè) 計,表現(xiàn)為一組抽象構(gòu)件及構(gòu)件實例間交互的方法;另一種定義認為,框架是可被應(yīng)用開發(fā)者定制的應(yīng)用 骨架。前者是從應(yīng)用方面、而后者是從目的方面給出的定義。測試框架也是如此,測試框架出現(xiàn)的最終目 的是花少量的資源來完成盡可能多的測試任務(wù),所以軟件測試框架的建立以及框架的重用性方面是最值得 測試人員深入探究的地方。Java測試框架、.Net測試框架、自動化測試框架、
15、單元測試框架、集成測試框 架,你是不是已經(jīng)被這些名稱弄暈了?如何實現(xiàn)測試框架用于特殊場合?本專題將就以上問題對測試框架 進行全面詳解,從測試框架入門和類別,到常用框架應(yīng)用和自己動手實現(xiàn)框架。什么是測試框架:軟件測試框架是一組自動化測試的規(guī)范、測試腳本的基礎(chǔ)代碼,以及測試思想、慣例的集合??捎糜跍p少冗余代碼、提高代碼生產(chǎn)率、提高代碼重用性和可維護性。測試框架的好處在于:提高開發(fā)速度,提 升測試代碼的執(zhí)行效率;提高軟件代碼質(zhì)量,同時引入重構(gòu)概念,讓代碼更干凈和富有彈性;提升系統(tǒng)的 可信賴度,作為回歸測試的一種實現(xiàn)方法支持修復(fù)后”再測試”,確保代碼的正確性。常用的測試框架分類包括自動化測試框架和單元
16、測試框架。根據(jù)所用開發(fā)平臺不同,也可使用不同的測試框架展開測試。軟件自動化測試框架的發(fā)展基于界面的軟件自動化測試框架和工具的發(fā)展大致經(jīng)歷了三個階段(有人也據(jù)此將測試工具分為三代):1) 簡單的錄制/回放:由工具錄制并記錄操作的過程和數(shù)據(jù)形成腳本,通過回放來重復(fù)人工操作的過程。在這種模式下數(shù)據(jù)和腳本混在一起,幾乎一個測試用例對應(yīng)一個腳本,維護成本很高。而且即使界 面的簡單變化也需要重新錄制,腳本可重復(fù)使用的效率低。2) 數(shù)據(jù)驅(qū)動(datadriven )的自動化測試:從數(shù)據(jù)文件讀取輸入數(shù)據(jù),通過變量的參數(shù)化,將測試數(shù)據(jù)傳入測試腳本,不同的數(shù)據(jù)文件對應(yīng)不同的測試用例。在這種模式下數(shù)據(jù)和腳本分離,腳
17、本的利用率、可維護性大大提高,但受界面變化的影響仍然很大。3) 關(guān)鍵字驅(qū)動(keyworddriven )的自動化測試:關(guān)鍵字驅(qū)動測試是數(shù)據(jù)驅(qū)動測試的一種改進類型, 它將測試邏輯按照關(guān)鍵字進行分解,形成數(shù)據(jù)文件,關(guān)鍵字對應(yīng)封裝的業(yè)務(wù)邏輯。主要關(guān)鍵字包括三類:被操作對象(Item 八操作(Operation )和值(value ),用面向?qū)ο笮问娇蓪⑵浔憩F(xiàn)為Item.Operation(Value )。關(guān)鍵字驅(qū)動的主要思想是:腳本與數(shù)據(jù)分離、界面元素名與測試內(nèi)部對象名分離、測試描述 與具體實現(xiàn)細節(jié)分離。相應(yīng)地,軟件測試自動化腳本的類型,從低到高的發(fā)展層次是:1)線性腳本:通過錄制直接產(chǎn)生的線性執(zhí)行的腳本。2)結(jié)構(gòu)化的腳本:具有順序、循環(huán)、分支等結(jié)構(gòu)的腳本。3)共享的腳本:可以被多個測試用例使用,被其它腳本調(diào)用的腳本。4)數(shù)據(jù)驅(qū)動的腳本:數(shù)據(jù)和流程控制分離的腳本,通過讀入數(shù)據(jù)文件來驅(qū)動流程進行的腳本。5)關(guān)鍵字驅(qū)動的腳本:腳
溫馨提示
- 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 湘教版數(shù)學(xué)九年級上冊《小結(jié)練習(xí)》聽評課記錄4
- 部審人教版九年級數(shù)學(xué)下冊聽評課記錄28.2.2 第2課時《利用仰俯角解直角三角形》
- 人教版歷史八年級上冊第16課《毛澤東開辟井岡山道路》聽課評課記錄
- 部編版八年級歷史上冊《第10課中華民國的創(chuàng)建》表格式聽課評課記錄
- 人教版地理七年級上冊第三章第四節(jié)《世界的氣候第2課時》聽課評課記錄
- 北師大版歷史八年級下冊第8課《艱苦創(chuàng)業(yè)年代的英雄模范》聽課評課記錄
- 蘇教版四年級下冊數(shù)學(xué)口算練習(xí)
- 華東師大版數(shù)學(xué)八年級上冊《11.1.1 平方根》聽評課記錄
- 大型商場商鋪租賃合同范本
- 二零二五年度舞臺搭建安全規(guī)范與責(zé)任落實協(xié)議
- 江蘇省2023年對口單招英語試卷及答案
- 易制毒化學(xué)品安全管理制度匯編
- GB/T 35506-2017三氟乙酸乙酯(ETFA)
- GB/T 25784-20102,4,6-三硝基苯酚(苦味酸)
- 特種設(shè)備安全監(jiān)察指令書填寫規(guī)范(特種設(shè)備安全法)參考范本
- 硬筆書法全冊教案共20課時
- 《長方形的面積》-完整版課件
- PDCA降低I類切口感染發(fā)生率
- 工業(yè)企業(yè)現(xiàn)場監(jiān)測工況核查表
- 沉淀池及排水溝清理記錄表
- 急診急救信息化課件
評論
0/150
提交評論