《A3--路娟--B站車載端應用質量建設.pdf》由會員分享,可在線閱讀,更多相關《A3--路娟--B站車載端應用質量建設.pdf(31頁珍藏版)》請在三個皮匠報告上搜索。
1、B B站車載端應用質量建設站車載端應用質量建設路娟路娟嗶哩嗶哩 資深測試開發工程師路娟路娟目前主要負責嗶哩嗶哩車載端業務測試,涵蓋Android、Web應用,在車載測試領域具有豐富經驗;同時對服務端架構體系熟悉、擅長服務端自動化、Android性能和穩定性專項測試。畢業后曾就職過美團,從事POI信息采集與處理系統的質量保障工作嗶哩嗶哩 資深測試開發工程師目錄目錄CONTENTS車載車載應用行業應用行業背景背景01 車載車載音視頻應用發展現狀音視頻應用發展現狀02 車載音視頻車載音視頻APP和常規和常規APP測試差異測試差異03 04 測試策略測試策略0101車載車載應用應用行業行業背景背景汽車
2、電動化豐富車內娛樂場景:行車+非行車汽車智能化解放司乘:自動輔助駕駛、控制系統智能化、語音交互汽車電動化汽車電動化+智能化智能化2012 Tesla Model S理想 L9 多屏比亞迪王朝系列中控屏娛樂化土壤提供汽車電動化汽車電動化+智能化智能化市場激發用戶需求、培養用戶習慣新能源車未來發展趨勢3億+的增量或置換空間我國現有汽車保有量:3.3億0202車載車載音視頻應音視頻應用發展現狀用發展現狀常見車載音視頻常見車載音視頻應用應用音樂類酷我 在 2016年成立 車載事業部騰訊 2019年 打造愛趣聽 涵括 Q音 騰訊新聞2020 增加電臺、有聲書2021 視頻號、全民K歌字節系2019 抖音
3、 西瓜獨立上車2020 打造火山車娛 聚合抖音、西瓜、頭條內容視頻類長視頻中短視頻愛奇藝 2018年成立 車聯網團隊20年布局 21年上車2022年布局2020年上車2022年上車2017年布局2020年上車B B站車載應用發展站車載應用發展MAU *DAU *MAU近一年增長趨勢理想蔚來小鵬比亞迪埃安新能源大眾雄獅科技website版本新能源汽車滲透率*0303車載車載APPAPP和常規和常規APPAPP測試測試差異差異差異總結差異總結02 宿主環境宿主環境 操作系統 設備參數 運行環境03 質量協議質量協議要求要求 客戶端和服務端的質量要求01 功能功能架構架構 與常規APP的功能差異功能
4、架構功能架構差異差異 主app功能 通用車機交互 渠道特殊feature 杜比音效(小鵬)語音發送彈幕(小鵬)多屏互投(理想)可見即可說(路特斯).更強調內容消費場景與常規app主要功能差異功能架構功能架構差異差異行車限制 語音控制盤控widget狀態欄+dock欄適配HMI適配黑白模式音量亮度調節音頻焦點管理通用車機交互:如何測試這些功能?安全策略控制簡化UI&UE適配音視頻通用功能宿主環境宿主環境差異差異車載os車載芯片和內存參數AndroidLinux車載應用基于Android技術棧,但定制化的部分也相對黑盒,兼容性測試如何開展?820A 對標 小米5(2016年)8155 對標 小米9
5、(2019年)受限于硬件性能及特殊的車載應用場景(網絡環境、并行應用多)對上架的app性能和穩定性要求高質量協議質量協議要求要求對服務穩定性具有約束性的要求協議中通常包含服務端和客戶端兩大部分車載APP的問題反饋鏈路長產品研發者常規APP:問題用戶產品研發者問題用戶車企車載APP:0404測試測試策略策略測試策略測試策略總結總結車機交互車機交互部分功能和兼容部分功能和兼容性測試性測試策略策略APP性能和穩定性專項性能和穩定性專項建設建設服務端穩定性專項服務端穩定性專項建設建設 線上業務邏輯線上業務邏輯巡檢巡檢 服務端故障服務端故障演練演練 落地落地app端性能測試端性能測試專項專項 建設適合車
6、載場景的穩定性測建設適合車載場景的穩定性測試試方法方法 研發代碼層面支持研發代碼層面支持mock測試測試 搭建完整的黑盒測試搭建完整的黑盒測試場景場景 和車企測試人員和車企測試人員合作合作 駐場駐場測試測試車載測試環境車載測試環境音視頻通用功能行車限制 語音控制盤控widget狀態欄+dock欄適配HMI適配黑白模式音量亮度調節音頻焦點管理安全策略控制簡化UI&UE適配 行車限制 盤控進一步確認模擬測試方法性能專項性能專項建設建設Cpu均值、峰值內存均值、峰值列表滑動fps冷啟時間靜息流量業務指標(1)音視頻起播時間(2)不同分辨率播放卡頓和掉幀 性能指標 重點測試場景比亞迪車機開機后可用資源
7、小鵬車機開機后可用資源前臺、后臺音頻、視頻點播、直播競品數據系統可用資源分析版本對比問題明確測試工具的選擇:基于Python開發付費工具沒辦法隨時使用自編碼更利于性能測試自動化,提高性能修改后的回歸測試效率為解決以下問題穩定性專項穩定性專項建設建設常規穩定性測試工具內存泄露專項檢查LeakCanary+穩定性測試遍歷發現具有生命周期的組件的內存泄露覆蓋度在車載場景下存在的問題隨機度進一步增加網絡變化,弱網盤控、語音控制、行車限制隨機化建設融合monkey原生Monkey+fastboot相關相關收益收益版本問題2.5 vs 2.4在音視頻連播的場景,2.5版本的cpu使用量在均值和峰值上都高于
8、2.4兩個版本的音頻起播時間均大于視頻起播時間,約30%2.6 vs 2.5在連續進出播放頁的場景中 cpu和內存的使用均有明顯的增加,需要進一步排查問題2.8 vs 2.7各場景性能劣化明顯,cpu均值和峰值劣化明顯,峰值cpu超過30%需要優化,內存使用增長明顯,需要進一步優化性能問題穩定性問題內存泄露問題以2.8版本為例,總計發現內存泄露15+:極致內存問題舉例通常是主app的一個演進版本,多數服務和主版本共用;在降本增項的前提下,服務端自測比例提高:服務穩定性建設專項服務穩定性建設專項網關層面監控容器級別的監控業務指標數據日志監控告警線上業務邏輯巡檢線上業務邏輯巡檢架構級別故障容器級別
9、的故障服務級別故障服務級別故障 Prod環境diffPre和Prod間diff基于pytest開發自動化框架及用例基于此開發DIFF流程可快速適配不同環境線上線上監控監控DIFFDIFF測試測試故障故障演練演練接口接口自動化自動化第三方依賴故障、緩存故障、存儲故障等線上業務邏輯線上業務邏輯巡檢巡檢預發環境用例配置化遷移線至線上增加更多的業務邏輯語義問題原因及優化方案搜索接口頻繁報code=-500 服務器錯誤調整搜索超時調用500ms-700ms;當前調用搜索服務為http方式,待優化為grpc調用,減少請求中轉過程;我的收藏列表接口2周內頻繁返回服務調用超時收藏服務redis底層超時,red
10、is集群遷移至服務同集群(常熟)問題解決關注的up中動態列表接口經常性返回錯誤待遷移來的動態服務到新go服務上合集列表接口第二頁數據加載失敗并發查詢時,如果沒有命中緩存會先加分布式鎖,再從db加載數據到緩存;如果分布式鎖沒加成功,就拋錯了小鵬渠道不展示杜比金剛位第三方服務變更web端無法收藏視頻收藏線上接入風控,web端和app端傳入的參數不一致,客戶端用aid,web端用oid,web端取錯參數-服務端修復上線jenkins 30分鐘例行巡檢企業微信觸達:通知失敗場景及日志鏈接根據事故現場定位&復現巡檢發現巡檢發現的典型問題的典型問題故障故障演練演練依賴梳理實驗預期明確故障注入 app不崩潰
11、,用戶可重試 接口返回錯誤符合規范 弱依賴不影響主流程 強依賴觸發兜底邏輯(若有)故障恢復后 無臟數據-系統功能正?;謴透婢|發日志打印清晰可讀架構上架構上可容災、限流、或提供有損體驗業務上業務上b站自研的故障注入平臺強弱依賴可以自強弱依賴可以自動采集,但依然動采集,但依然依賴自動化增加依賴自動化增加覆蓋度!覆蓋度!Trace鏈路跟蹤Billions日志平臺故障演練典型故障演練典型問題問題問題原因及優化方案弱依賴超時會導致http code返回504,預期返回業務code-500網關側設置超時間過端,需增加接口超時時間接口超時/x/car/isLogin會返回未登錄語義,預期返回業務code-500大倉中間件未提供mid解析出錯場景返回值緩存故障時,推薦列表返回業務code為-500,data不為空服務端對錯誤處理出錯強依賴故障時,追劇列表提示“沒有追劇”預期返回業務code-500服務端對錯誤處理出錯弱依賴故障時,用戶空間頁完全不可見服務端對錯誤處理出錯服務出錯時,用戶空間頁面客戶端展示異??蛻舳藰I務邏輯處理出錯感謝聆聽感謝聆聽關注QECon公眾號