![禪道持續(xù)集成實踐PPT課件_第1頁](http://file3.renrendoc.com/fileroot3/2021-11/11/67ab97c1-1fcc-4b66-84bf-eef613b653c3/67ab97c1-1fcc-4b66-84bf-eef613b653c31.gif)
![禪道持續(xù)集成實踐PPT課件_第2頁](http://file3.renrendoc.com/fileroot3/2021-11/11/67ab97c1-1fcc-4b66-84bf-eef613b653c3/67ab97c1-1fcc-4b66-84bf-eef613b653c32.gif)
![禪道持續(xù)集成實踐PPT課件_第3頁](http://file3.renrendoc.com/fileroot3/2021-11/11/67ab97c1-1fcc-4b66-84bf-eef613b653c3/67ab97c1-1fcc-4b66-84bf-eef613b653c33.gif)
![禪道持續(xù)集成實踐PPT課件_第4頁](http://file3.renrendoc.com/fileroot3/2021-11/11/67ab97c1-1fcc-4b66-84bf-eef613b653c3/67ab97c1-1fcc-4b66-84bf-eef613b653c34.gif)
![禪道持續(xù)集成實踐PPT課件_第5頁](http://file3.renrendoc.com/fileroot3/2021-11/11/67ab97c1-1fcc-4b66-84bf-eef613b653c3/67ab97c1-1fcc-4b66-84bf-eef613b653c35.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、禪道持續(xù)集成實踐陳琦2020年9月議程議程011.持續(xù)集成概述2.禪道代碼庫管理3.禪道Jenkins集成4.ZTF自動化測試工具5.ZenData數(shù)據(jù)生成器持續(xù)集成一般理解持續(xù)集成一般理解02持續(xù)集成是一種軟件開發(fā)實踐,通過頻繁的自動化編譯、整合、發(fā)布和測試等過程,以提高生產(chǎn)效率,盡快地發(fā)現(xiàn)可能存在的問題。持續(xù)集成總體目標持續(xù)集成總體目標03p頻繁的集成和驗證,盡早發(fā)現(xiàn)問題p自動化相關活動,提高生產(chǎn)效率p接近成品的交付,增進質量可見性持續(xù)集成要素持續(xù)集成要素04p行之有效的項目管理過程p成熟的代碼管理機制p頻繁的代碼和構件整合p高效的自動化構建過程p快速、有效的自動化測試p接近生產(chǎn)的環(huán)境自動
2、化部署p全員即知的可視化質量報告p唾手可得的構件管理發(fā)布p高效的問題修復驗證過程盡早開始盡可能多的集成和測試集成度量變更持續(xù)集成工具鏈持續(xù)集成工具鏈05分類分類工具工具項目管理禪道、Jira、GitHub源碼管理GitLab、Git、SVN代碼分析SonarQube,CheckStyle、FindBugs、PMD編譯構建CMake、Maven、Gradle構件管理Nexus、ArtifactoryCI引擎Jenkins、GitLab-CI單元測試JUnit、CppUnit、Jest,Allure自動化測試AutoIT、QTP、Selenium、Appium、SoapUI性能測試JMeter、L
3、ocust云平臺Docker、K8S,KVM、OpenStack持續(xù)集成方案總覽持續(xù)集成方案總覽06禪道需求、任務、缺陷計劃、版本、發(fā)布迭代Git分支策略代碼提交打標簽、發(fā)布Jenkins構建Sonar代碼規(guī)范掃描靜/動態(tài)分析Nexus成品構件倉庫容器鏡像倉庫K8S編排DockerZTF工具JUnit等SeleniumAppiumAutoITJMeterSoapUI單元測試功能測試接口測試KVM掃描拉取觸發(fā)部署測試調(diào)度觸發(fā)測試測試/生產(chǎn) 環(huán)境執(zhí)行OpenStack管理結果分析提交測試報告展示標簽、注釋、時間計劃觸發(fā)構建議程議程071.持續(xù)集成概述2.禪道代碼庫管理3.禪道Jenkins集成4.
4、ZTF自動化測試工具5.ZenData數(shù)據(jù)生成器禪道支持版本系統(tǒng)禪道支持版本系統(tǒng)08禪道版本庫管理禪道版本庫管理09禪道代碼瀏覽禪道代碼瀏覽10p代碼內(nèi)容p提交歷史p版本比較禪道代碼審查禪道代碼審查11p 代碼同行評審p 代碼問題提交議程議程121.持續(xù)集成概述2.禪道代碼庫管理3.禪道Jenkins集成4.ZTF自動化測試工具5.ZenData數(shù)據(jù)生成器禪道禪道JenkinsJenkins集成集成13配置代碼注釋指令配置Jenkins配置代碼庫配置構建輪詢代碼庫輪詢時間計劃標簽觸發(fā)任務代碼注釋觸發(fā)定時任務觸發(fā)輪詢構建狀態(tài)獲取構建結果Jenkins執(zhí)行構建配置調(diào)度執(zhí)行生成測試報告和缺陷代碼注釋
5、指令配置代碼注釋指令配置14禪道構建觸發(fā)禪道構建觸發(fā)15p打標簽觸發(fā)p代碼注釋觸發(fā)p時間計劃觸發(fā)16p 指定代碼Tagp 指定代碼Revisionp 其他ZEN_DATA參數(shù)Jenkins請求參數(shù)配置請求參數(shù)配置JenkinsJenkins接口調(diào)用接口調(diào)用17發(fā)送發(fā)送構建請求:構建請求:http:/admin:user_token jenkins_server/job/job_name/buildWithParameters/api/jsonJenkinsJenkins接口調(diào)用接口調(diào)用18檢查隊列狀態(tài):檢查隊列狀態(tài):http:/Jenkins_server/queue/item/queue_i
6、d/api/jsonJenkinsJenkins接口調(diào)用接口調(diào)用19通過隊列獲取通過隊列獲取Build信息:信息:http:/Jenkins_server/job/job_name/api/xml?tree=builds &xpath=/buildqueueId=123JenkinsJenkins接口調(diào)用接口調(diào)用20根據(jù)根據(jù)Build編號獲取編號獲取Build日志:日志:http:/Jenkins_server/job/ job_name/build_id/consoleText議程議程211.持續(xù)集成概述2.禪道代碼庫管理3.禪道Jenkins集成 .4.ZTF自動化測試工具5.Ze
7、nData數(shù)據(jù)生成器ZTFZTF自動化工具設計初衷自動化工具設計初衷22p力求對現(xiàn)有框架測試代碼沒有侵入p直接使用禪道完成測試執(zhí)行調(diào)度p通過Jenkins驅動不同類型測試的執(zhí)行p方便在禪道和Jenkins間透明地傳遞參數(shù)p解析不同框架的測試輸出為統(tǒng)一格式p自動提交測試結果到禪道系統(tǒng)通過禪道頁面配置構建任務,選擇設備、系統(tǒng)、瀏覽器、數(shù)據(jù)等測試資產(chǎn),向Jenkins或ZTF發(fā)起測試請求http:/ztf.imZTFZTF功能測試支持語言功能測試支持語言23pBATpJavaScriptpLuapPerlpPHPpPythonpRubypShellpTCLpWindowspLinuxpMacpC /
8、 C+pJavapGoZTFZTF腳本描述語法腳本描述語法24#!/usr/bin/env pythoncasetitle=check string matches patterncid=2pid=1steps1. exactly match hello2. regular expression match 1d103. format string match %s%desac/ do somethingprint( hello)print(print( abc123)用例信息步驟&驗證點業(yè)務腳本及輸出ZTFZTF測試工具配置測試工具配置25ztf.exe s
9、et1.工具語言2.禪道地址、賬號3.執(zhí)行解析器(Windows)ZTF禪道用例同步禪道用例同步26 ztf.exe co -p 1 -l php 將禪道用例導出為測試腳本 ztf.exe ci product1 更新測試腳本描述到禪道用例https:/ ztf.exe run product1 執(zhí)行測試腳本 ztf.exe cr log/001提交測試結果 ztf.exe cb log/001提交失敗用例為禪道缺陷ztf.exe cr log/001ztf.exe cb log/001ZTFZTF支持的測試類型支持的測試類型28p 功能測試p 單元測試p 接口測試ZTFZTF支持的功能自動化
10、測試工具支持的功能自動化測試工具29p AutoIT - WinUI測試p Selenium - Web測試p Appium - App測試ZTFZTF AutoITAutoIT自動化測試自動化測試30#comments-startcasetitle=autoit testcid=0pid=0steps 1. check nodepad content somethingesac#comments-endRun(notepad.exe)$rt1 = WinWaitActive(無標題 - 記事本)Sleep(1000)Send(something)$handle = WinGetHandle(
11、Active)$text = ControlGetText($handle, , Edit1)ConsoleWrite( & $text & CRLF)WinClose(*無標題 - 記事本)WinWaitActive(記事本, 取消)WinActive(記事本, 取消)ZTFZTF SeleniumSelenium WebWeb自動化測試自動化測試31$command = start . dirname(_FILE_, 3) . runtimeseleniumchrome80.exe log.txt 2&1;pclose(popen($command, r);$hos
12、t = :9515;$options = new ChromeOptions();$options-addArguments(-no-sandbox); $desiredCapabilities = DesiredCapabilities:chrome();$desiredCapabilities-setCapability(ChromeOptions:CAPABILITY, $options);$driver = RemoteWebDriver:create($host, $desiredCapabilities);$driver-get(https:/);$k
13、eywordsInput = $driver-findElement(WebDriverBy:id(kw);$keywordsInput-clear();$keywordsInput-sendKeys(禪道);$driver-findElement(WebDriverBy:id(su)-click();$driver- wait(10, 500)- until(WebDriverExpectedCondition:titleContains(禪道);$title = $driver-getTitle();print( $titlen);$driver-close();ZTFZTF Appium
14、Appium手機手機AppApp自動化測試自動化測試32$url = :4723/wd/hub;$capabilities = new DesiredCapabilities();$capabilities-setCapability(deviceName, redmi);$capabilities-setCapability(platformName, Android);$capabilities-setCapability(app, https:/ = RemoteWebDriver:create($url, $capabilities);$driver-
15、findElement(WebDriverBy:id(random_number_check_box)-click();$driver-findElement(WebDriverBy:id(click_me_btn)-click();$image = $driver-findElement(WebDriverBy:id(image);print( . $image-getAttribute(displayed) . n);$driver-quit();ZTFZTF單元測試框架支持單元測試框架支持331. JUnit2. TestNG3. PHPUnit4. PyTest5. Jest6. Cp
16、pUnit7. GTest8. Qtest34p 禪道發(fā)起Jenkins構建請求p Jenkins調(diào)用ZTF執(zhí)行測試p ZTF解析單元測試輸出p ZTF上報單元測試結果到禪道禪道單元測試過程禪道單元測試過程ztf.exe junit -p 1 -verbose mvn clean package test單元測試執(zhí)行和結果報告單元測試執(zhí)行和結果報告35ZTFZTF接口測試示例接口測試示例36#!/usr/bin/env php a-z0-926esac*/$resp = file_get_contents(http:/ = json_decode($resp);echo . $json-ses
17、sionID . n;。議程議程371.持續(xù)集成概述2.禪道代碼庫管理3.禪道Jenkins集成4.ZTF自動化測試工具5.ZenData數(shù)據(jù)生成器ZenDataZenData測試數(shù)據(jù)工具特征測試數(shù)據(jù)工具特征38p 采用yaml文件來定義數(shù)據(jù),語法靈活、強大;p 支持從文本文件讀取,和對Excel表格的SQL查詢。p 使用預制的序列、實例、配置對定義進行復用;p 支持繼承和擴展,為定義文件間的引用提供方便;p 支持數(shù)據(jù)反向解析,方便自動化測試結果的對比驗證;p 發(fā)行包內(nèi)置了基礎的業(yè)務數(shù)據(jù)及其定義文件;p 提供HTTP接口的數(shù)據(jù)生成服務,各種語言都可方便調(diào)用。http:/zd.imZenData
18、ZenData數(shù)據(jù)定義基本語法數(shù)據(jù)定義基本語法 1 139 區(qū)間 步長 隨機 前后綴title: 數(shù)據(jù)配置語法說明author: zentaoversion: 1.0fields: - field: field_common # 默認列表類型,通過逗號隔成若干區(qū)段。 range: 1-10, 20-25, 27, 29, 30 # 1,2,3.,10,20,21,22.,25,27,29.30 prefix: int_ # 前綴,特殊字符加引號 postfix: “t” # 后綴,特殊字符加引號。 - field: field_step # 區(qū)間可以指定步長。 range: 1-10:2, 1
19、-2:0.1 # 1,3,5,7,9,1, 1.1,1.2.,2 - field: field_random # 通過R屬性指定隨機。 range: 1-10:R # 1,8,5,3. - field: field_file # 從一個文件中讀取列表。 range: users.txt:R # 指定文件,并隨機。 ZenDataZenData數(shù)據(jù)定義基本語法數(shù)據(jù)定義基本語法 2 240 循環(huán) 重復 格式化 - field: field_loop # 自循環(huán)的字段。 range: a-z # a_b_c | d_e_f | g_h_i loop: 3 # 循環(huán)三次。 loopfix: _ # 每
20、次循環(huán)的連接符。 postfix: ”|” # 后綴 - field: field_repeat # 通過定義重復的元素。 range: user13,user2,user32 # user1,user1,user1,user2,user2,user3,user3 - field: field_format # 格式化輸出。 range: 1-10 # passwd 1,passwd 2,passwd 3 . passwd10 format: “passwd%02d” # 用%2d補零,使密碼整體保持8位。ZenDataZenData定義間的引用定義間的引用41ranges 序列instanc
21、es 實例config 配置yaml 文件# 引用ranges或instances預制數(shù)據(jù) - field: field_use_ranges from: jenkins.number.v1.yaml use: medium # 引用相同目錄下config文件 - field: field_use_config config: number.yaml # 引用指定yaml文件的5行數(shù)據(jù) - field: field_use_yaml range: test/nested1.yaml5內(nèi)置內(nèi)置ExcelExcel數(shù)據(jù)查詢數(shù)據(jù)查詢42 - field: field_use_excel from:
22、.v1.china select: city where: state like %山東%ZenDataZenData定義文件間擴展定義文件間擴展43$ zd.exe -d default.yaml -c test.yamlZenDataZenData常用命令常用命令44生成100行數(shù)據(jù)到文本文件,僅包含field1:$zd.exe -c test.yaml -n 100 F field1 -o test. txt根據(jù)sql生成各表數(shù)據(jù)的yaml配置文件,輸出到db目錄:$zd.exe -i zentao.sql -o db將-i指定的文件根據(jù)-c參數(shù)的配置對文件進行解析:$zd.exe -c default.yaml -i test.txt decode列出所有內(nèi)置數(shù)據(jù):$zd.exe l# 查看內(nèi)置Excel文件data/add
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度環(huán)保產(chǎn)業(yè)園區(qū)規(guī)劃設計咨詢合同
- 貴州2024年貴州省重點產(chǎn)業(yè)人才蓄水池崗位專項簡化程序招聘17人筆試歷年參考題庫附帶答案詳解
- 衡陽2025年湖南衡陽市市直衛(wèi)健系統(tǒng)人才引進177人筆試歷年參考題庫附帶答案詳解
- 鹽城江蘇鹽城市教育局招錄政府購買服務用工人員筆試歷年參考題庫附帶答案詳解
- 梧州2025年廣西梧州市公安局招聘輔警274人筆試歷年參考題庫附帶答案詳解
- 2025年中國天然生漆市場調(diào)查研究報告
- 2025年中國內(nèi)飾件市場調(diào)查研究報告
- 2025至2031年中國高光澤丙烯酸外墻涂料行業(yè)投資前景及策略咨詢研究報告
- 2025年舞廳效果燈項目可行性研究報告
- 2025至2031年中國羽絨衫行業(yè)投資前景及策略咨詢研究報告
- 低壓電工考試題庫(含答案)
- 邊坡抗滑樁計算
- 【新版本】華為 H12-711 V4.0 HCIA-Security 認證華為安全題庫(含答案)
- 村衛(wèi)生室2023年度績效考核評分細則(基本公共衛(wèi)生服務)
- 關聯(lián)公司合作合同
- 2022人臉識別安全白皮書
- 【建模教程】-地質統(tǒng)計學礦體建模簡明教材
- DB23T 2656-2020樺樹液采集技術規(guī)程
- 重源煤礦 礦業(yè)權價款計算書
- PSM工藝安全管理
- GB/T 21872-2008鑄造自硬呋喃樹脂用磺酸固化劑
評論
0/150
提交評論