![分布式服務框架自動化測試方案分享 - 副本_第1頁](http://file4.renrendoc.com/view3/M02/12/09/wKhkFmabiKqAVtd_AAH0PxAEACQ119.jpg)
![分布式服務框架自動化測試方案分享 - 副本_第2頁](http://file4.renrendoc.com/view3/M02/12/09/wKhkFmabiKqAVtd_AAH0PxAEACQ1192.jpg)
![分布式服務框架自動化測試方案分享 - 副本_第3頁](http://file4.renrendoc.com/view3/M02/12/09/wKhkFmabiKqAVtd_AAH0PxAEACQ1193.jpg)
![分布式服務框架自動化測試方案分享 - 副本_第4頁](http://file4.renrendoc.com/view3/M02/12/09/wKhkFmabiKqAVtd_AAH0PxAEACQ1194.jpg)
![分布式服務框架自動化測試方案分享 - 副本_第5頁](http://file4.renrendoc.com/view3/M02/12/09/wKhkFmabiKqAVtd_AAH0PxAEACQ1195.jpg)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
一、分布式自動化測試的挑戰(zhàn)和困難如何解決分布式節(jié)點的測試任務編排?因分布式涉及的機器節(jié)點較多,產(chǎn)品組件間依賴關系復雜,單一業(yè)務功能需要多組件集成協(xié)同完成,同時測試時需要將分布式的測試結果進行匯總判斷。因此需要測試框架支持分布式的測試執(zhí)行和自動化執(zhí)行。如何保證測試結果的可讀性?不同種類的測試方式測試的側重點不同,需要的指標也不盡相同,且編寫語言各異,因此生成的測試報告也會有所差異,需要統(tǒng)籌輸出可讀性綜合性測試報告。敏捷開發(fā)模式下如何開展快速的回歸測試?敏捷開發(fā)過程中,迭代周期較短,階段性的輸出成果帶來是頻繁的回歸測試,同時各組件間獨立開發(fā),單組件模塊替換要求對相關依賴的組件進行完整的回歸測試。二、自動化測試范圍分析方向是指引走向成功的關鍵,在自動化測試領域,由敏捷大師MikeCohn大師提出的測試金字塔模型被視作經(jīng)典模型。在分布式系統(tǒng)的自動化測試中縱向可按照“分層”概念劃分,橫向可按照“組件”進行開展。通過增加了“分層”的概念用于區(qū)別傳統(tǒng)的自動化測試。分層自動化測試倡導的是從UI單層到多層次多粒度的測試組合。按照從底向上的層次順序,測試數(shù)量應當是依次減少。測試組合實踐的建議是測試組合應具有許多小而快的單元測試,適當?shù)母至6鹊臏y試,較少高層次的端到端測試。單元自動化測試單元自動化測試是軟件中最小可執(zhí)行的測試單元,是最接近代碼底層實現(xiàn)的驗證手段,利用自動化進行完整的回歸測試,在生命周期中可以盡早地對軟件產(chǎn)品進行測試將使效率和質量得到最好的保證。集成測試可依據(jù)測試場景進行完整測試,在單元測試的基礎上,將所有模塊組裝進行測試。聯(lián)調測試側重點在于模塊間接口的正確性、各模塊間的數(shù)據(jù)流和控制流是否按照設計實現(xiàn)其功能、以及集成后整體功能的正確性。UI功能測試通過用戶界面對可見外觀及其底層與用戶交互的部分的功能測試,降低系統(tǒng)功能回歸測試的成本。三、自動化測試相關技術與工具自動化測試涉及持續(xù)集成工具、UI自動化測試框架、單元測試框架和負載測試工具等一系列工具和技術。為保證技術的先進性和可擴展性,分布式自動化測試選用業(yè)界主流工具進行集成,滿足各類測試場景要求。持續(xù)集成工具Jenkins是開源CI&CD軟件領導者,提供超過1000個插件來支持構建、部署、自動化。通常與版本管理工具(SCM)、構建工具或者Docker結合使用。通過Jenkins的pipeline流水線插件進行單元測試、集成測試和非功能測試的執(zhí)行。其中,pipeline流水線將獨立運行的多個任務連接起來,可以實現(xiàn)更復雜的CI/CD流程。pipeline流水線實際上是一套GroovyDSL,Jenkinsfile用Groovy腳本描述CI/CD的流程。由測試人員編寫Jenkinsfile的文本文件并提交到項目的代碼版本控制倉庫,通過Jenkins流水線構建將從代碼庫中獲取腳本進行任務的執(zhí)行。UI自動化測試框架Selenium是一個web開源自動化測試框架,支持主流的瀏覽器,可實現(xiàn)模擬用戶真實操作,支持Java,Python等多種語言編寫用例腳本。同時提供SeleniumIDE、SeleniumWebDriver和SeleniumStandaloneServer等工具組件。SeleniumIDE為嵌入到瀏覽器中插件,可在瀏覽器界面中錄制和回放腳本,支持多種語言到腳本導出。SeleniumWebDriver是支持多種編程語言的用于瀏覽器自動化模擬操作的API庫,方式上更為靈活同時便于維護。SeleniumStandaloneServer包含SeleniumGrid、遠程控制、分布式部署等功能,提供分布式擴展、跨平臺、異構環(huán)境運行的功能。Appium是一個移動端自動化測試開源工具,支持iOS和Android平臺,支持Python、Java等語言。Appium是跨平臺的,即可以針對不同的平臺用一套API來編寫測試用例。Appium采用C/S架構,核心為Web服務器,提供了一套REST的接口。當收到客戶端的連接后,就會監(jiān)聽到命令進行執(zhí)行,然后通過HTTP響應收集命令執(zhí)行的結果。因目前項目未涉及移動端開發(fā),故暫時未使用此工具。單元測試框架TestNG是一款基于Java的測試框架,被設計用于解決大部分的測試需求,涵蓋單元測試(測試一個單獨的類)和集成測試(測試由幾個類、幾個包甚至有幾個框架組成的系統(tǒng))兩種測試方式。負載測試工具Fortio是一個快速、小型、可重用、可嵌入的go庫以及命令行工具的服務器進程,服務器包括一個簡單的webUI和結果的圖形表示。通過參數(shù)化的設置可以運行一個設置的持續(xù)時間,固定的調用次數(shù)的負載任務。四、分布式自動化測試集成方案依據(jù)測試范圍的分析,針對分布式平臺測試的手段包括單元自動化測試、集成測試、聯(lián)調測試和UI自動化測試。針對分布式平臺測試場景下的分布式自動測試及執(zhí)行結果的收集問題,將采用Jenkins的pipeline實現(xiàn)流水線的任務編排,通過“master+agent”架構的形式進行分布式構建,通過串行或者并行的方式借助自動化前端測試框架和組件測試組合、負載測試工具和多組件間實現(xiàn)測試的組合集成,可分步驟對執(zhí)行結果進行采集,并可靈活輸出測試報告。通過Jenkins與git源碼倉庫的提交觸發(fā)關聯(lián)或者設定定時可實現(xiàn)動態(tài)的自動化測試執(zhí)行。測試架構圖:多環(huán)境分布式執(zhí)行:解決多節(jié)點測試協(xié)同Jenkins提供了MasterSlave機制,Master負責調度任務和發(fā)送請求,多個Slave可以并發(fā)的執(zhí)行構建任務,同時可將各步驟結果進行匯總。多測試環(huán)境情況下,Master節(jié)點提供web接口讓用戶來管理job和SlaveAgent,并通過標簽進行管理。自動化執(zhí)行:滿足敏捷開發(fā)快速迭代測試采用Jenkins提供時間觸發(fā)和事件觸發(fā)等方式實現(xiàn)自動化執(zhí)行,時間觸發(fā)方式包括定時cron設置和輪詢代碼倉庫,事件觸發(fā)包括上游任務觸發(fā)、版本管理工具通知觸發(fā)等方式。通過設定cron定時任務和代碼倉庫自動觸發(fā)的方式,完成實時構建和每日構建,提供持續(xù)集成的能力,同時通過郵件通知的方式及時反饋給干系人。可視化測試報告:輸出可視化的自定義測試報告通過對測試案例的編排,可根據(jù)各環(huán)節(jié)點的輸出內(nèi)容,統(tǒng)一的進行斷言判斷,各測試模式可借助于相關Jenkins插件輸出定制化、可視化的測試報告,其中報告信息包括成功和失敗率、測試覆蓋率等信息,最后可使用郵件發(fā)出。測試庫管理和流水線設計:任務編排和測試手段的實現(xiàn)pipeline編排方式支持條件分支執(zhí)行、循環(huán)執(zhí)行方式、重試機制,同時對于多執(zhí)行任務可采用串行和并行的方式進行編排,從而實現(xiàn)各類測試手段。測試庫管理包括測試組件、測試案例和測試流水線。測試組件:考慮到在實際的測試過程中,測試的步驟中包含一部分無關乎業(yè)務的執(zhí)行方式,比如接口調用、腳本執(zhí)行等,從復用性的角度考慮,故考慮將這些重復的事件使用方式抽取為無關業(yè)務的執(zhí)行組件,使用Jenkins的pipeline實現(xiàn)。組件在執(zhí)行前會接收環(huán)境信息參數(shù)和執(zhí)行參數(shù),環(huán)境信息參數(shù)包括需要執(zhí)行的測試環(huán)境服務器信息,執(zhí)行參數(shù)按照執(zhí)行場景需要為具體的測試數(shù)據(jù)和期望結果。測試案例:測試案例通過根據(jù)對功能測試的原子性劃分,專注于測試單一業(yè)務功能。測試案例按照組件進行獨立的功能進行編寫。針對測試案例的設計包括案例名稱、分類目錄、描述、流水線名稱、測試步驟、測試流程編排、案例級別、檢查關鍵點等等。流水線:流水線的設計通過對測試案例的復用和多場景編排,使得測試針對特殊場景按照概要設計規(guī)格說明的要求組裝成模塊從而檢查工作是否達到或實現(xiàn)相應技術指標及要求。流水線中可實現(xiàn)對于單元自動化測試、集成測試、聯(lián)調測試和UI自動化測試的調用,借助與流水線的復用和組合,實現(xiàn)組合流水線的前置處理、后置處置和檢查點的比較。五、總結與展望通過Jenkins持續(xù)集成平臺與前端自
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 未來就業(yè)市場的變化及職業(yè)定位分析
- 現(xiàn)代建筑設計與智能化技術的融合實踐
- 生態(tài)文明產(chǎn)業(yè)園的教育培訓與人才培養(yǎng)策略
- 團委國慶節(jié)觀影活動方案
- 術后康復神經(jīng)外科手術患者的居家照護
- Unit 2 Wildlife Protection Reading and Thinking 第二課時說課稿-2024-2025學年高一英語人教版(2019)必修第二冊
- 2024秋八年級歷史上冊 第一單元 中國開始淪為半殖民地半封建社會 第3課 太平天國運動說課稿 新人教版001
- 2024年五年級英語上冊 Unit 6 My e-friend第1課時說課稿 牛津譯林版
- 《100 以內(nèi)的加法和減法(二)-進位加》(說課稿)-2024-2025學年二年級上冊數(shù)學人教版001
- 2024年一年級品生下冊《春天在哪里》說課稿 山東版
- 2025年中國南方航空股份有限公司招聘筆試參考題庫含答案解析
- 商務部發(fā)布《中國再生資源回收行業(yè)發(fā)展報告(2024)》
- 山東省濟南市2024-2024學年高三上學期1月期末考試 地理 含答案
- 2025年福建新華發(fā)行(集團)限責任公司校園招聘高頻重點提升(共500題)附帶答案詳解
- 實施彈性退休制度暫行辦法解讀課件
- 江蘇省駕校考試科目一考試題庫
- 四川省成都市青羊區(qū)成都市石室聯(lián)合中學2023-2024學年七上期末數(shù)學試題(解析版)
- 2024-2030年中國自動光學檢測儀(AOI)市場競爭格局與前景發(fā)展策略分析報告
- 咨詢公司績效工資分配實施方案
- 2025新人教版英語七年級下單詞表
- 中華護理學會團體標準-氣管切開非機械通氣患者氣道護理
評論
0/150
提交評論