《A4--陳哲--從Ansible playbook到測試能力編排.pdf》由會員分享,可在線閱讀,更多相關《A4--陳哲--從Ansible playbook到測試能力編排.pdf(31頁珍藏版)》請在三個皮匠報告上搜索。
1、從Ansible playbook到測試能力編排陳哲 Bilibili陳哲負責Bilibili創作中心質量保證以及能力建設工作,7年測開經驗,2年效能中臺研發經驗,對質量體系建設有豐富的經驗,對測試的賦能、提效有深刻思考Bilibili 質量保障部 資深測試開發工程師目錄CONTENTS編排的傳統意義1 Ansible中編排2 測試的行為&提效3 設計與實踐4 未來的方向&愿景5 01編排的傳統意義01字典解釋02編排的造物編排的傳統意義編排的傳統意義按照一定的目的依次排列編排音符形成樂譜,音符是固定個數,但是音符可以組成不同的節拍,形成無數的曲譜02Ansible中的編排01Ansilbe0
2、2賦能03劇本Playbook04由下至上Ansible中的編排Ansible是一款自動化運維工具,換言之,Ansible是一款運維提效工具Ansible本身不具備任何能力,他的能力都是由不同模塊(task plugins)去實現的,通過Ansible去調度模塊的執行Playbooks 是 Ansible的配置,部署,編排語言.他們可以被描述為一個需要希望遠程主機執行命令的方案,或者一組IT程序運行的命令集合.底層豐富的能力基礎模塊(task plugins),遵循Playbook的語法,配置方式,供其調度,從而執行不同的運維方案03測試的行為&提效測試的行為測試的行為從測試這個行為本身出發,
3、測試具體是在做什么保證需求高質量的如期上線業務需求的增量測試歷史場景的回歸測試測試case設計測試節奏規劃黑盒&白盒手工&自動化精準&混沌測試目的測試設計測試范圍測試手段測試提效測試提效測試提效的角度與實踐的方向數據準備提效問題定位提效執行過程提效自動化框架壓測平臺混沌平臺執 行中 臺錨定問題結合Ansible的設計思路,與測試提效的方向,我們以解決以下痛點為目的,去做測試能力編排復雜場景構造跨語言能力復用過程代碼重復編寫重復能力重復建設跨團隊數據構造錨定的問題業務劃分因公司而異,不同的部門負責的業務不同,測試時面向的數據實體對象可能不同,即使相同,需要的數據屬性可能也不同跨團隊能力我們在寫提
4、效工具時,同業務代碼一樣,按照需求調用接口,處理數據流程代碼錨定問題錨定問題 解法思路解法思路為什么是使用編排解決問題,從問題成因與解法思路去解釋業務拆分,數據流切斷,上下游相互依賴,跨部門溝通成本業務線需求之間能力建設設計思路不同,可能語言也不同,能力復用困難業務場景復雜,大量流程代碼的重復編寫編排提供抽象思路,并提供底層基礎封裝與拓展(plugins)編排能提供調度與復雜業務描述方式,測試同學不必編寫過程代碼,專注能力本身弱化能力實現,轉為抽象思路下的能力提供,互相賦能,相互調用成 因解 法04設計與實踐設計與實踐首先介紹以下幾個在測試能力編排中的概念單點能力:完成一個行為的能力章節(Ch
5、apter):幾個連續的節點的組合,完成一個有意義事件節點(Step):完成一個有意義事件的單點動作劇本(playbook):編排動作的結果,是可執行劇本動作(Act):劇本中每一步執行行為,可以是單個節點,可以是一個章節抽象的依據是一切的基礎,抽象的結果決定了后續設計的方向,抽象的維度與深度因系統的性質決定設計與實踐 抽象入參配置成為模板來描述具體的業務語義單點能力=通信方式+入參有業務語義單點能力就作為編排中的最基礎的音符設計與實踐 抽象能力的關注點在于能力的本身的業務意義抽象的依據是能力的請求方式與請求模板不關注能力的實現是使用何種語言,還是靠sql,甚至一個與使用redis指令,只要具
6、有其業務含義,就能成為編排劇本的中的一個節點觸達的3層含義觸達方式入參模板(賦予業務意義)模板的入參(與模板組成完整的入參)設計與實踐 章節&劇本擁有了基礎的音符后,就能編排出自己的劇本每個Node是有業務語義的節點從NodeA-NodeE是一個完整的劇本NodeB-NodeD組成了一個完整的功能點,我們將這幾個節點按照順序賦予一個新的章節的概念ChapterAChapterA可以在任意其他需要使用他能力的劇本中使用設計與實踐 劇本存儲劇本的執行,需要記錄劇本本身以及執行行為的本身劇本執行的進度劇本歷史步驟的執行結果執行劇本時的入參基礎節點-Node線型路徑-LinkedList復雜路徑-Gr
7、aph上 下 文結 構 體設計與實踐 執行過程劇本在執行過程中需要一個調度中心來驅動整個流程的執行動作,調度中心的實現方式多樣,可大可小調度中心的實現方式,以及異步事件的支持,會影響Runner的設計,不管流程有多復雜,都由調度中心去完成,不必編寫流程代碼目前該編排能力使用后,已經支持創作中心業務線多個業務方向系統測試工作,且向其他部門推廣使用設計與實踐設計與實踐 支撐業務支撐業務能力建設來源于思路,內容豐富來源于共建自身負責業務支撐自身業務線日常造數,執行case需求其他業務推廣提供平臺能力&已有章節&單點能力開發共建向開發宣講設計,并與開發共建內容,賦能自測設計與實踐設計與實踐 支撐業務支
8、撐業務稿件生產是B站最基礎的能力,也是我們最先攻下的節點設計與實踐設計與實踐 支撐業務支撐業務任務系統并不是面向稿件對象的業務部門,但其業務完整鏈路中有對稿件數據的強依賴,這里,對稿件提供的指定稿件生產Chapter能力進行復用,減少跨團隊的溝通成本,任務系統的測試同學不必自己去解決稿件造數的方法,不去理解能力如何實現,只需要在自己的劇本中進行使用即可能力復用,稿件能力在其他業務的快速應用設計與實踐設計與實踐 支撐業務支撐業務協議統一,弱化語言影響,能力池化,跨團隊服務,流程驅動,摒棄多余流程代碼編寫不關心能力的開發語言,統一調度,各線按需自行開發且入池,池中能力在測試環境中可以供任意接入部門使用統一協議,能力池化目前已覆蓋B站創作中心、稿件等多個業務線的測試&開發使用,既提升了測試本身的效率,也有測試左移的效果接入情況編排思路提供了流程繪制與調度的能力的設計思路05未來的方向服務測試、賦能測試、提升測試未來的方向&愿景立足提升測試人員執行測試的效率一線測試與中臺能力相輔相成生態一直是一個優秀的概念,通過編排的推廣,展望生態的建立輔助編排的能力建設編排本身的能力豐富立足提效測試生態合力共贏能力豐富感謝聆聽關注QECon公眾號請為嘉賓投票打分