1、去哪兒功能測試左移實踐去哪兒功能測試左移實踐魯國寧魯國寧個人簡介個人簡介魯國寧2019至今:去哪兒網,基礎架構-基礎平臺,致力于測試流程的治理,測試工具建設;建設的平臺有自動化測試、全鏈路壓測、代碼覆蓋率、mock平臺、智能推薦、代碼瘦身等。20152019:京東商城,效能研發部,從事性能壓測平臺建設,實現近億級qps壓測,智能尋點等功能;為618、雙11保駕護航;目錄目錄03背景背景降成本實踐降成本實踐提效率實踐提效率實踐減減故障實踐故障實踐01 0204總結總結&展望展望05PART 01背景案例痛點需求背景背景-機票搜索機票搜索案例痛點需求背景背景-案例案例案例痛點需求背景背景-測試工作
2、繁重測試工作繁重準備checklist9個航班類型*120個產品*乘機人構造用例業務接口日志獲取數據匹配部署環境觸發測試分析結果測試工作案例痛點需求測試心態背景背景-開發自測效率低開發自測效率低開發 Coding自測 發布beta 聯調 debug提測 與QA溝通開發5分鐘測試2小時需求開發開發吐槽案例痛點需求背景背景-公司漏測故障多公司漏測故障多漏測性能問題發布流程慢查詢歷史bug其他故障分類故障分類發布故障率發布故障率 3.8%3.8%功能測試占比 5050%案例痛點需求背景背景-需求提煉需求提煉測試降成本公司減故障開發提效率案例痛點需求PART 02測試降成本實踐現狀分析方案實踐落地效果
3、降成本降成本-測試工作調研測試工作調研用例覆蓋全有效性1環境部署耗時排隊使用2結果結果變化信息龐大3用例 50%環境 20%結果 20%其他 10%數據分析工作難點現狀分析方案實踐落地效果降成本降成本-用例方案調研用例方案調研覆蓋率:在代碼質量插入探針(默認false),業務流量走過后探針狀態變化(true);執行一條請求后,通過檢查是否有新的探針變化,判斷該請求是否為有效用例。Checklist:配置參數字段(維度名),系統獲取線上日志自動匹配值,生成checklist。再通過日志與checklist匹配,生成測試用例方案介紹現狀分析方案實踐落地效果Checklist 介紹收集方式收集方式業
4、務點展示業務點展示對外依賴對外依賴性能損耗性能損耗時效性時效性選擇選擇覆蓋率不展示覆蓋率高延遲高Checklist展示無低無延遲降成本降成本-用例方案調研用例方案調研方案簡介與對比現狀分析方案實踐落地效果報告執行觸發項目流程用戶配置變更外部應用應用檢查環境部署環境部署用例準備用例準備部署通過用例生成用例編排基準環境測試環境結果獲取結果分析Step1Step1Step2Step2Step3Step3Step4Step4通知降成本降成本-自動化整體流程自動化整體流程架構示意圖現狀分析方案實踐落地效果降成本降成本-用例自運維用例自運維增加新增了服務包、航司如何運維?自動補充:生成用例時補充,并重新生
5、成checklist減少叉乘結果不合理?航線消失?時效性檢測?兩周無法覆蓋checklist,標識精簡Checklist變化如何處理現狀分析方案實踐落地效果降成本降成本-代碼自動部署代碼自動部署代碼一致監聽線上部署,部署基準環境檢測測試環境代碼,自動部署自動部署測試代碼觸發自動化,檢測測試環境代碼,部署永道環境,支持多需求同步開發基準部署基準部署測試部署測試部署軟路由軟路由環境部署現狀分析方案實踐落地效果降成本降成本-結果斷言結果斷言如何提升斷言準確性現狀分析方案實踐落地效果降成本降成本-落地效果落地效果 平臺執行數據 回歸測試周期 0.5天 5分鐘 排期占比現狀分析方案實踐落地效果PART
6、03開發提效率實踐現狀分析方案實踐落地效果提效率提效率-調研測試工作調研測試工作部署beta部署慢Debug慢1流程流程繁瑣抵觸溝通2開發 50%自測 40%流程 10%數據分析工作難點現狀分析方案實踐落地效果方案類型方案類型場景覆蓋場景覆蓋時效性時效性性能損耗性能損耗時效性時效性選擇選擇熱部署部分覆蓋有延遲高延遲高本地化全覆蓋無延遲低無延遲提效率提效率-代碼快速測試方代碼快速測試方案案熱部署:本地編寫代碼,定時&手動同步到beta環境;本地化:將測試過程由beta環境,轉移到本地開發環境;方案介紹與對比現狀分析方案實踐落地效果提效率提效率-本地化流程圖本地化流程圖現狀分析方案實踐落地效果提效
7、率提效率-本地化原理本地化原理現狀分析方案實踐落地效果提效率提效率-本地測試實踐本地測試實踐Idea插件開發現狀分析方案實踐落地效果開發流水線提效率提效率-測試流程自動化測試流程自動化現狀分析方案實踐落地效果73%0%80%22%1.2人天 1.9人天本地化自測自發需求排期提效率提效率-落地數據統計落地數據統計現狀分析方案實踐落地效果PART 04公司減故障實踐現狀分析方案實踐落地效果減故障減故障-調研漏測故障數據調研漏測故障數據代碼不易測試直接上線1配置人為失誤2代碼變更 80%配置變更 10%數據分析現狀分析方案實踐落地效果工作難點減故障減故障-質量保證方案質量保證方案檢測配置自動測試配置
8、攔截提升精準測試代碼方案對比卷人卷平臺現狀分析方案實踐落地效果配置變更方案線上配置變更審核本地監聽生效線上配置變更審核推送仿真跑自動化本地監聽生效減故障減故障-質量保證方案質量保證方案收集方式收集方式顆粒度顆粒度投入成本投入成本性能損耗性能損耗使用環境使用環境用戶接受度用戶接受度選擇選擇AOPAOP方法高高Beta中Java-agent方法低低Prod低覆蓋率行低中Beta高現狀分析方案實踐落地效果代碼方案對比知識庫存儲知識庫存儲精準測試精準測試精準異常精準異常架構示意圖減故障減故障-智能智能推薦平臺推薦平臺現狀分析方案實踐落地效果減故障減故障-精準測試實踐精準測試實踐關注點現狀分析方案實踐落
9、地效果減故障減故障-變更方法數據可視化變更方法數據可視化精準測試數據查看現狀分析方案實踐落地效果減故障減故障-變更方法異常檢測變更方法異常檢測線上定時檢測異?,F狀分析方案實踐落地效果減故障減故障-異常檢測平臺截圖異常檢測平臺截圖異常檢測現狀分析方案實踐落地效果減故障減故障-故障數據統計故障數據統計人工測試階段人工測試階段簡單工具自動化測試平臺自動化測試平臺全面落地(讀、寫)智能推薦智能推薦精準推薦精準檢測漏測性能問題發布流程慢查詢歷史bug其他故障分類故障占比發布故障3.8%1%0.4%現狀分析方案實踐落地效果PART 05總結&展望工作總結成果總結未來展望工作總結工作總結自動化測試本地化減故
10、障減故障-變更代碼變更代碼提效率提效率-新增代碼新增代碼降成本降成本-核心核心業務回歸業務回歸智能推薦總結工作總結成果未來展望成果總結成果總結0246810122019近半年開發測試減故障降成本提效率00.511.52平均需求耗時20192023總結工作總結成果未來展望未來展望未來展望云開發單測自動化Idea總結工作總結成果未來展望了解更多技術實踐案例了解更多技術實踐案例麥思博(msup)有限公司是一家面向技術型企業的培訓咨詢機構,攜手2000余位中外客座導師,服務于技術團隊的能力提升、軟件工程效能和產品創新迭代,超過3000余家企業續約學習,是科技領域占有率第1的客座導師品牌,msup以整合全球領先經驗實踐為己任,為中國產業快速發展提供智庫。高可用架構主要關注互聯網架構及高可用、可擴展及高性能領域的知識傳播。訂閱用戶覆蓋主流互聯網及軟件領域系統架構技術從業人員。高可用架構系列社群是一個社區組織,其精神是“分享+交流”,提倡社區的人人參與,同時從社區獲得高質量的內容。