《眾安國際-董俊秋-互聯網金融行業的質量保障體系建設之路.pdf》由會員分享,可在線閱讀,更多相關《眾安國際-董俊秋-互聯網金融行業的質量保障體系建設之路.pdf(35頁珍藏版)》請在三個皮匠報告上搜索。
1、互聯網金融行業的質量保障體系建設之路眾安國際質量管理專家董俊秋測試團隊負責人唐嘉龍個人簡介 CMMI 軟件成熟度評估師、Scrum Master、EPG 過程改進專家、云從業者 曾任騰訊高級質量管理工程師、中興智慧城市質量經理 涉及行業:ToB、ToC、云產品、金融、醫療、教育、通訊、人工智能 擅長領域:度量分析、質量建模、過程改進、研發效能度量董俊秋眾安國際質量管理專家目錄一、開篇-背景介紹(互聯網金融的敏捷轉型)二、我們的落地實踐質量左移、持續集成01 開發階段-質量門禁02 測試階段-自動化測試03 發布階段-藍綠發布體系04 現網-線上監控全鏈路質效跟蹤管理01 質效監控及度量分析02
2、 快速分診及質量診斷三、收獲-成果展示四、未來-總結與展望背景介紹:關于眾安01.22取得證監會證券交易牌照03.20對外開業05.20取得香港人壽保險牌照09.20取得保險經紀執照03.21推出企業銀行業務08.22基金業務啟動03.19取得香港虛擬銀行牌照300Kusers2019202020212022100Kusers600Kusers04.22&05.21&保險轉賬貸款卡存款股票基金一站式綜合金融平臺(2023.H2推出)650Kusers正式上線香港第一虛擬銀行痛點及訴求【研發】代碼修改影響范圍不確定,bug生產逃逸率高祖傳代碼不敢改,代碼越來越臃腫,導致問題更多且可維護性差代碼過
3、于復雜,寫單元測試耗時較長【測試】提測不及時,擠壓測試周期,導致測試不充分,存在漏測風險提測質量差,開發自測不充分,測試反復駁回,浪費人力成本且拉長交付周期質量問題效率問題一、研發各階段全面質量左移持續推行小批量集成,快速迭代,提早識別質量風險降低單測代碼編寫難度,提升單測覆蓋率提升自動化測試覆蓋率,減少人工測試漏測風險,降低人工測試投入成本啟用藍綠發布體系,將線上異常監控前置至發布階段二、數據指標驅動改進設置上下游關鍵卡點指標啟動質量月會數據晾曬及下鉆分析搭建全鏈路質效監控平臺,重點關注質量與效能改進效果啟動事件閉環管理機制制定故障升級、定級定責制度搭建事件管理平臺全鏈路跟蹤事件觸發事件處理
4、事件關閉全過程事后閉環事前攔截【業務線痛點】線上生產問題多、逃逸率高需求排不上,交付周期長【業務目標】又快又好互聯網金融敏捷轉型(全景圖)全面落地質量左移持續集成實現端到端全鏈路質效跟蹤產品研發過程質量管理線上質量管理現 網需求階段開發階段測試階段發布階段需求設計開發用例設計功能測試測試停機發布運維異常監控需求評審通過產品開發用例設計手工用例執行測試藍綠發布運維自動化測試(原有功能)冒煙通過測試通過發布成功傳統銀行瀑布開發模型互聯網銀行敏捷開發模型QAQA事件閉環管理介質檢查事件閉環管理異常監控質效監控、度量分析、質量診斷研發過程審計系統設計需求設計功能開發、單元測試、CR系統設計功能開發、單
5、元測試、CR自動化測試腳本編寫自動化測試(新需求)自動化腳本合并質量左移實踐開發階段KT評審通過持續集成、單元測試測試階段用例設計、自動化測試發布階段藍綠發布、異常監控現網異常監控、事件閉環管理冒煙通過測試通過發布成功質量左移實踐:開發階段某業務線試點:持續推行小批量集成【實施方案】制定初步集成異常試行規則 質量月會中進行全員宣導,啟動試點 集成異常指標接入質效監控平臺 啟動異常數據監控、異常提醒 試行期改進建議收集,規則調優 數據晾曬、異常分析,驅動改進試點業務線宣導質量月會數據晾曬集成異常:單次集成變更1000行以上(試行),則初步判斷為異常集成異常TOP10:單次集成變更代碼行最大TOP
6、10升級方式:每周五【集成異常TOP10】郵件推送至 XXXX試點建議收集集成異常:集成變更1000行以上/次或集成次數超過3次/天(試行),則初步判斷為異常則規則持續調優觸發異常提醒無規則第1階段試點規則第2階段試點規則2022.11-2023.5質量左移實踐:開發階段某業務線試點:提升單測覆蓋率【實施方案】啟動單測宣導及培訓 制定單測覆蓋率目標,并納入OKR 接入代碼健康度看板,實時觀察覆蓋情況 未達標TOP排行榜展示(職場大屏、質量月會)數據晾曬、異常分析,驅動改進(待納入)單測宣導及培訓未達標TOP排行榜接入代碼健康度看板行覆蓋率:50%(第一階段目標)分支覆蓋率:60%85%(暫未啟
7、動,預估值)函數覆蓋率:100%(暫未啟動,預估值)單測覆蓋率目標業務線指標設置原則:改進為主,問責次之,鼓勵式驅動全員質量自主性質量左移實踐:開發階段某業務線試點:提升提測及時性及有效性【實施方案】規劃上下游關鍵卡點的度量指標研發交付周期、提測及時率、提測一次通過率啟動度量指標培訓及試點 依據第一批試點的基線數據設定初步目標值,針對未達標指標驅動下鉆分析 未達標TOP質量月會晾曬度量指標規劃【效率提升】自2022年11月起穩定保持在15個工作日左右(2022.10前:20工作日+)宣貫培訓、啟動試點未達標TOP團隊下鉆分析質量左移實踐:開發階段某業務線-試點成果展示集成成功率 2022 55
8、.6%2023(當前)74.8%70個應用服務單測覆蓋率高于50%開發階段KT評審通過單元測試、CR測試階段用例設計、自動化測試發布階段藍綠發布、異常監控現網異常監控、事件閉環管理冒煙通過測試通過發布成功質量左移實踐質量左移實踐:測試階段【自動化測試覆蓋率】目標:提高自動化測試覆蓋率 事前事中:制定自動化測試覆蓋率指標(年度目標:65%),并在質量月會中數據晾曬及下鉆分析 事后:生產問題充分復盤不斷補充自動化測試腳本庫目標:確保自動化測試用例的有效性 通過AutoQE來不斷的驗證腳本庫,將落后過時的腳本及時持續更新。將新需求產生的自動化腳本在迭代完成后及時更新AutoQE腳本庫。某業務線試點:
9、提升自動化測試覆蓋率數據晾曬、下鉆分析補充自動化測試腳本庫(生產問題復盤)更新落后腳本自動化用例:5000+(業務場景)2021H1:覆蓋率達到60%+遇到的問題這是依賴方的服務問題,我只是上游使用方,不應該他們測試自己提單嗎,我只是著急解決,就去推進了開戶鏈路太長,外部依賴方太多,定位問題花費成本過高環境太多,服務不穩定,沒有精力每天跟進,會影響到日常測試的精力 解決方案制定輪流值班&站會制度,推動問題快速解決環境撥測用例定時批跑,確保環境時刻可用設置自動化通過率&自動化測試覆蓋率度量指標,并在質量月會中進行數據晾曬,驅動全員超目標靠攏質量左移實踐:測試階段質量左移實踐:測試階段每單周迭代各
10、域輪流安排一個專職同學值班,提供一個公共的地方存放各域值班排期表1、創建迭代需求單(如JIRA鏈接xxx),下掛關聯缺陷單。2、環境問題:公共問題(如服務啟動失敗、配置、SQL未同步)定位后自行處理恢復環境;3、依賴問題:跨域依賴問題,其他域過來的問題優先處理;4、用例問題:負責跟進域內每日批跑自動化失敗問題的大致定位,分派給對應的模塊用例責任人處理;5、缺陷跟進:環境問題、自動化失敗問題記錄jira單,跟進單處理和流轉狀態;記錄每個單的問題類型(開發、測試、環境原因等),6、周會匯總:每周例會匯總問題原因及處理方案,避免下次出現類似問題。(值班人員準備PPT約會,開發測試一起參與,建議周三下
11、午半小時)缺陷分類指引(供值班人員參考)輪流值班&站會制度質量左移實踐:測試階段【撥測用例】執行方案每個服務連通性驗證用例1-2個,上下游鏈路連通性冒煙用例,在pytest工程中打BVT標簽,建立定時任務拉相關標簽用例集執行執行頻率:次/每小時【自動化通過率】執行方案目標:100%成功率當前值:意義和目的:失敗用例能正確反映到環境、開發缺陷或者需求變更。值班人員每日跟進、同時優化用例提高用例穩定性和健壯性推動方式:設置度量指標,并在質量月會中進行數據晾曬,驅動全員超目標靠攏(待啟動)【自動化測試覆蓋率】執行方案目標:65%當前值:60%+-推動方式:設置度量指標,并在質量月會中進行數據晾曬,驅
12、動全員超目標靠攏(待啟動)實施過程用例執行通過率統計質量月會數據晾曬覆蓋率排行榜Autoqe環境治理迭 代 值 班:環境問題跟進,缺陷收斂X as code:SQL&配置同步回 滾 機 制:部署失敗服務自動回滾服務穩定性:服務配置調整&資源擴容質量閉環缺 陷 收 斂:巡檢問題跟蹤、周迭代匯總播報CICD 門禁:MR卡點、CI缺陷自動跟蹤試點效果展示:ZA Bank 某一級域質量左移實踐:測試階段【效率提升】60%+的bug在1個工作日內修復完畢實施方案自動化用例:5000+全量覆蓋率:60%+靜態代碼掃描:sonar/Fortify issure-0 全量場景回歸:5大系統并行回歸時間 2小時
13、autoqe缺陷:開發代碼(xxx個)環境(xxx個)執行情況效果呈現【質量提升】autoqe成功攔截有效bugXXX個線上逃逸率降低至0.78%(試點前逃逸率:4.70%)開發階段KT評審通過單元測試、CR測試階段用例設計、自動化測試發布階段藍綠發布、異常監控現網異常監控、事件閉環管理冒煙通過測試通過發布成功質量左移實踐用戶ZA智能流量調度質量左移實踐:發布階段AZ150%50%1.日常狀態0%100%AZ2AZ2AZ2AZ1AZ1100%0%AZ150%50%4.從AZ1逐步放量到AZ2恢復穩態(各50%)AZ22.摘除AZ1流量,發布AZ13.逐步放量到AZ1,摘除AZ2流量,發布AZ2
14、V 1.0V 1.0V 1.0V 2.0V 2.0V 2.0V 2.0V 2.0質量左移實踐:發布階段摘除AZ1流量 發布AZ1機房 摘除AZ2流量 發布AZ2機房實時關注異常告警異常監控大屏發布流水線質量左移實踐:發布階段某業務線試點:降低由發版引發的線上問題數【質量提升】由版本發布引發的故障數降低90.91%(2022年度:1個,2021年度:11個)【實施方案】啟用藍綠發布體系,將線上異常監控前置至到發布階段,避免出現由發版引發的現網問題切流過程中實時監測告警異常開發階段KT評審通過單元測試、CR測試階段用例設計、自動化測試發布階段藍綠發布、異常監控現網異常監控、事件閉環管理冒煙通過測試
15、通過發布成功關鍵實踐關鍵實踐:現網安全監控大屏業務監控大屏異常監控大屏線上監控平臺關鍵實踐:現網處理全過程實時跟蹤事后全方位根因分析事中一鍵拉群(處理群)規避措施跟蹤閉環證明資料自動歸檔(案例庫)事件閉環管理(故障臺)執行過程關鍵實踐:現網2023-04-01 20:42 配合對公xx項目上線AZ1版本發布完成2023-04-01 20:52 SRE收到IT值班同學監控告警通知xxx服務可用性低告警-觸發告警2023-04-01 21:15 SRE查看xxx鏈路監控發現查詢匯率接口報錯2023-04-01 21:16 SRE通知FXS研發排查查詢匯率接口報錯原因2023-04-01 21:31
16、 客服反饋收到兩個客戶咨詢外幣兌換功能異常-客服反饋,共性問題2023-04-01 21:39 teams拉群通知二線-上報HK風控2023-04-01 21:48 FXS研發反饋可能和xxx版本有關聯2023-04-01 22:00 SRE切網關流量到az2,回滾az2 xxx版本進行內部驗證2023-04-01 22:02 內部用戶驗證xxx功能恢復2023-04-01 22:07 SRE切外部客戶流量到AZ2機房,外部客戶使用外幣兌換功能恢復-線上止損2023-04-01 23:15 研發SRE對齊方案,xxx線上發布緊急版本修復2023-04-01 23:22 SRE發布AZ1 xxx
17、緊急版本2023-04-01 23:31 AZ1 xxx緊急版本發布完成,通知技術側內部驗證2023-04-01 23:40 技術側內部驗證ok2023-04-01 23:51 SRE灰度1w外部客戶到AZ1機房進行觀察2023-04-02 00:30 SRE灰度外部全量客戶到AZ1機房并觀察一晚上2023-04-02 09:50 AZ2 xxx緊急版本發布完成,通知技術側內部驗證2023-04-02 10:01 技術側內部驗證ok,恢復網關流量到默認模式事件處理群值班告警群事件處理過程實際案例:某業務線 20230401 貨幣兌換功能異常關鍵實踐:現網實際案例:某業務線 20230401 貨
18、幣兌換功能異常故障根因(技術根因及非技術根因)事件細節(關鍵處理動作及時間線)影響范圍改進措施事件閉環跟蹤全鏈路質效跟蹤開發階段KT評審通過單元測試、CR測試階段用例設計、自動化測試發布階段藍綠發布、異常監控現網異常監控、事件閉環管理冒煙通過測試通過發布成功質效監控 度量分析快速分診 質量診斷全鏈路質效跟蹤全鏈路質效跟蹤:質效監控及度量分析【趨勢觀測】支持數據環比、數據同期比,可實時觀察研發全過程走向及趨勢【追根溯源】支持數據下鉆,實現一鍵追溯原始數據,精準定位異常數據【指標自助】針對不同的關注重點,提供指標自配功能,所有復合指標均可自由定制【風險預測】實時監測質效心跳,實現質量風險預警,質量
19、異常推送質效管理平臺全鏈路質效跟蹤:質效監控及度量分析實際案例:某業務線 質量效能下鉆分析【效能分析】故障恢復耗時較長top主要原因:2月 XXXXX事件二線確認環節耗時(結單方案需要HK風控確認);2)結單重跑數據耗時,故處理問題耗時較長(xxxmin)3月 XXXXX事件xxx監控策略失效未觸發告警,客戶感知不明顯未引發共性反饋,故發現問題耗時較長(xxxmin)3月 XXXXX事件研發同學第一次定位問題結論有誤,后第二次定位才找到故障原因,故定位問題耗時較長(xxxmin)6月 XXXXX事件非功能不可用,緊急程度較低,決策后確定納入0705迭代中發布,故處理問題耗時較長(xxxmin)
20、【質量分析】逃逸生產問題分析:【支付域】XXXXX問題【原因分析】測試用例對需求的覆蓋面不全,考慮不足【后續規避措施】提高用例細致以及明確程度,保證用例覆蓋范圍,提高測試用例覆蓋率【支付域】XXXXX問題【原因分析】從實現邏輯評估,研發改動不會涉及xxx普通轉入,在未收到研發改動影響提示下,回歸案例僅覆蓋xxx普通轉入主流程【后續規避措施】1)xxx普通轉入接口自動化用例,失敗結果增加檢查點,檢查xxx上報的xxx含有主關聯關鍵字+狀態未失??;2)組內周會復盤分享【活動域】XXXXX問題【原因分析】測試用例對需求的覆蓋面不全,考慮不足【后續規避措施】測試用例設計需覆蓋異常場景,增加場景用例到C
21、ML全年逃逸率降低至2.13%(上年度逃逸率:4.26%)榮獲線上質量獎,Q1季度所有線上問題均在30分鐘內解決全鏈路質效跟蹤:快速分診及質量診斷系統自動化對指標數據掃描檢查快速分診高健康度中健康度低健康度診斷建議團隊復盤輕量建議經驗沉淀數據分析定制改進方案人工診斷改進效果評估指標項指標定義健康度分級自動檢查頻率高中低需求交付周期需求從等待KT至需求發布上線的時間周期10個工作日10個工作日15個工作日15個工作日迭代/次產研交付周期研發啟動需求開發至需求發布上線的時間周期8個工作日8個工作日12個工作日12個工作日迭代/次集成異常1)單次/人 提交峰值超過1K行2)單日/人 集成次數超過3次
22、代碼行集成次數=1次待評估代碼行1K集成次數3次天/次線上逃逸率生產環境出現的問題數(含故障)/線上線上有效問題總數1%1%3%3%迭代/次月度/次線上缺陷密度(計劃2022.H2新增)統計周期內,生產環境出現的問題數(含故障)/交付上線的需求數待評估待評估待評估迭代/次月度/次健康度分級、健康度檢查*快速分診及質量診斷兩大板塊建設中(計劃2022.H2上線)成果展示年度故障數環比同期下降71%(減少xx個)2022.4月、5月連續兩個月故障清零(首次)全年無P1-P3級故障全年系統可用性達99.95%+70個應用服務單測覆蓋率高于50%96.27%的應用服務Sonar問題數(阻斷及嚴重)為0
23、集成成功率 2022 55.6%2023(當前)76%上線前成功攔截有效bugxxxx個全年逃逸率降低至2.13%(2021逃逸率:4.26%)60%+的bug在1個工作日內修復完畢年度戰果持續交付 提升工程能力保障質量 用戶體驗為王成果展示2022年度質量效能喜報2022年度線上質量獎2022年度研發過程獎下一步展望:持續改進之路質量3.0度量指標自動化,指標自助化,人人關注指標,人人用好指標。診斷深入不同的Feature Team,針對性的設立改進方案,好則推廣,差則改進。一體化串聯單點工具,持續打磨體驗,一站式完成所有工作,質量無處不在。質量2.0故障臺所有質量管理工作線上化,自動拉群,
24、自動周知,自動跟催。質量左移推進單測、CR、自動化測試落地,質量左移,盡早暴露問題。持續集成小批量更新,持續集成,全面落地流水線和質量門禁,內建質量。質量1.0流程重構重構流程,二次發布,形成共識,規范化研發、質量、變更、應急響應。明確獎懲明確定級機制,設立質量獎項,有獎有懲,意識提升。工作閉環深度復盤,強跟進改進措施落地,閉環工作,持續改進。下一步展望持續改進之路,需要大家的支持,期待更多的交流眾安國際技術公眾號了解更多技術實踐案例麥思博(msup)有限公司是一家面向技術型企業的培訓咨詢機構,攜手2000余位中外客座導師,服務于技術團隊的能力提升、軟件工程效能和產品創新迭代,超過3000余家企業續約學習,是科技領域占有率第1的客座導師品牌,msup以整合全球領先經驗實踐為己任,為中國產業快速發展提供智庫。高可用架構主要關注互聯網架構及高可用、可擴展及高性能領域的知識傳播。訂閱用戶覆蓋主流互聯網及軟件領域系統架構技術從業人員。高可用架構系列社群是一個社區組織,其精神是“分享+交流”,提倡社區的人人參與,同時從社區獲得高質量的內容。