《牛超-云原生時代測試的技術挑戰與應對.pdf》由會員分享,可在線閱讀,更多相關《牛超-云原生時代測試的技術挑戰與應對.pdf(28頁珍藏版)》請在三個皮匠報告上搜索。
1、中國國際軟件質量工程峰會中國國際軟件質量工程峰會International Software Quality Engineering Forum云原生時代測試的技術挑戰與應對云原生時代測試的技術挑戰與應對軟通動力信息技術(集團)股份有限公司副總裁牛超2023年5月26日22023 iSQE 2023/5/292ContentContent 目錄軟通動力應對之策云原生對測試的機遇云原生技術云原生對測試的挑戰32023 iSQE 云原生主要技術云原生主要技術云原生容器微服務服務網格聲明式API不可變基礎設施視圖隔離、資源可限制、獨立文件系統的進程集合,為進程集合提供一個獨立的運行環境。單一職責、自
2、治、邏輯清晰、簡化部署、可擴展、靈活組合、技術異構。流量管理、故障處理、安全性、追蹤和監控部署的簡單性、可靠性和一致性。只需要提交一個申請,K8S系統就能迅速完成對象的創建42023 iSQE 云原生帶來了什么云原生帶來了什么云原生帶來的好處顯而易見:敏捷可靠高彈性易擴展故障隔離保護不中斷業務持續更新提升研發效率、加速新技術落地、方便自動化測試、降低運維成本面向微服務設計的動態資源管理,能夠讓集群資源得到高效的利用52023 iSQE 云原生對測試的影響云原生對測試的影響 單系統應用為主 測試環境在數據中心 瀑布模型或V模型為主 手工測試+自動化測試 互聯網應用為主 測試環境在軟開管理 敏捷或
3、V模型為主 手工測試+自動化測試 移動互聯網應用為主 測試環境在軟開管理 DevOps,敏捷,V模型 自動化測試+手工測試 云上應用 測試環境部署在云上 DevOps,敏捷,V模型 自動化測試+手工測試+新技術測試(自動生成測試案例,自動執行+混沌工程)互聯網測試階段傳統測試階段移動互聯網測試階段云原生測試階段62023 iSQE 2023/5/296ContentContent 目錄軟通動力應對之策云原生對測試機遇云原生技術云原生對測試挑戰72023 iSQE 云原生給測試技術帶來的挑戰云原生給測試技術帶來的挑戰整個軟件開發測試交付過程不管是技術棧還是協同的方式和方法都發生了巨大變化。(2)
4、、微服務讓系統變成了徹底的分布式系統,從而讓諸如混沌工程、故障注入和故障測試等測試領域新命題變得越來越重要。技術棧的變化主要體現在容器和微服務技術的廣泛使用,這兩種技術的廣泛應用給測試帶來了全新的技術挑戰:(1)、基于容器的測試環境部署與管理、容器實例的創建與銷毀給服務帶來的影響需要測試驗證。82023 iSQE 云原生給測試技術帶來的挑戰云原生給測試技術帶來的挑戰研發協同方式和方法的變化主要是Devops理念的興起:開發、測試、交付的速度越來越快、各角色之間的協同越來越緊密。(2)、如何能讓研發在更快的同時保障更高的交付質量,如何在質量的左移和右移過程中和上下游角色更高效協同,都是研發協同的
5、方式和方法給測試帶來的新課題。(1)、傳統的測試團隊如何在更快的交付速度中不掉隊,提升自身的測試效率92023 iSQE 云原生帶來的質量痛點云原生帶來的質量痛點9任務并行資源彈性業務的并行化分解復雜流量下的擴容/縮容領域驅動的設計(DDD)流量控制和容量測試組件數量多、交互復雜集成測試工作量激增接口測試契約測試契約測試數據分布式數據一致的保證業務與數據一致性測試業務與數據一致性測試系統整體復雜度持續增大容錯、局部故障恢復整體可靠性混沌工程混沌工程外在特性外在特性質量痛點質量痛點質量保障與測試方法質量保障與測試方法102023 iSQE 混沌工程混沌工程一般由PMO牽頭,運維,QA,RD,DB
6、A配合AOP:災備方案RD:架構容錯邏輯提供DBA:數據恢復與安全性QA:結合過往BAD CASE與業內通用方案,及OP,RD,DBA提供的方案,匯總case集混沌工程測試及結果報告匯總BC112023 iSQE 云原生給測試帶來的變化云原生給測試帶來的變化分布式模塊/微服務分布式模塊/微服務分布式模塊/微服務代碼邏輯正確模塊、服務的功能正確分布式模塊/微服務分布式模塊/微服務分布式模塊/微服務VM/容器VM/容器VM/容器操作系統硬件平臺單元測試單元測試單元測試集成測試系統測試單元測試契約測試集成測試一致性測試混沌工程系統測試122023 iSQE 契約和一致性測試契約和一致性測試產 品 人
7、 員 主 導產品人員組會拉起一致性測試一 致 性 測 試 報 告確認研發結果與需求一致性,并與RD,QA拉齊結果R D完 成 項 目需 求 開 發各部門均完成開發與聯調132023 iSQE 2023/5/2913ContentContent 目錄軟通動力應對之策云原生對測試機遇云原生技術云原生對測試挑戰142023 iSQE 云原生給測試帶來的機遇云原生給測試帶來的機遇云原生計算時代不僅給測試帶來了挑戰和新命題,也給測試帶來了一些新的變革機會:測試的平臺和工具如何與云原生測試的平臺和工具如何與云原生技術相結合,提升測試資源使用技術相結合,提升測試資源使用效率、降低環境搭建成本,提升效率、降低
8、環境搭建成本,提升測試工具使用體驗。測試工具使用體驗。152023 iSQE 云原生對測試主要機遇來源點云原生對測試主要機遇來源點云原生時代技術架構變革以容器為代表的底層技術變革需要軟件應用架構、技術框架、研發工具、方法與實踐都要有與之適應。微服務、容器、devops、持續交付作為云原生時代相輔相成的組成部分,互相促進發展?;ヂ摼W帶來的市場競爭加劇更清晰的產品規劃、更快的價值交付、更高的交付質量、更高的協同效率、更低的研發成本、更專注于業務本身,而不是底層計算工具平臺孤島部分企業已經或多或少使用了一些軟件工程工具,但是孤島化嚴重、使用效率低、體驗差、數據割裂、維護成本高、對接成本高、升級成本高
9、、人力成本持續投入162023 iSQE 2023本文檔版權歸軟通動力信息技術(集團)股份有限公司所有,并保留所有權利。162023/5/2916ContentContent 目錄軟通動力應對之策云原生對測試機遇云原生技術云原生對測試挑戰172023 iSQE 高效應對研發、測試新變化高效應對研發、測試新變化構想設計規劃交付測試開發底層資源按需動態調度,彈性伸縮、環境容器化生成,讓團隊只需專注于業務。多角色高效協同、開箱即用,1分鐘從代碼到上線182023 iSQE 一站式云原生研發協同與效能平臺一站式云原生研發協同與效能平臺規劃產品項目計劃計劃看板度量數據協作評審管理分支持續集成管理發布V1
10、.0V1.1F1gitF1F2BugF1-branchF2-branchHotfixmasterDEVSITPRODF1F2Bug計劃2F1F2BugF1F2BugTo doDoingDone制品庫環境管理網絡域名實例容器環境管理網絡域名實例容器主機組主機主機主機主機K8S/主機集群產品研發計劃1測試用戶F1F2Bug.項目管理域工程開發域192023 iSQE 產品矩陣產品矩陣ezBase企業研發中臺底座、技術平臺框架ezCode代碼集群、代碼評審、掃描及度量ezPipeline持續交付流水線、構建系統、構建資源ezPackage統一制品管理系統ezDeploy主機部署運維系統ezK8SKu
11、bernetes集群部署系統ezProject項目管理ezTest測試管理、接口管理ezWiki知識管理ezWikiezProjectezPackageezDeployezBaseezPipelineezCodeezK8SezTest202023 iSQE 整體產品框架整體產品框架接入業務服務WebAPICLI項目管理代碼平臺流水線系統制品管理系統主機部署系統容器部署系統測試管理系統Wiki管理.監控組件PrometheusAPMELK基礎服務用戶與訪問管理消息管理計算資源管理開放APIWebsocket擴展點管理三方插件SonarqubeJira.中間件NginxMysqlRedisRock
12、etMQElastisearchKubernetes資源計算資源網絡資源存儲資源212023 iSQE 部署特點:企業級架構、高可用、高性能、大容量、無狀態部署特點:企業級架構、高可用、高性能、大容量、無狀態222023 iSQE 主要工作組建工作流程示意圖主要工作組建工作流程示意圖232023 iSQE 云原生測試平臺云原生測試平臺測試用例管理 測試用例管理 測試套件管理測試執行 手工執行、自動化執行 支持主機集群、容器集群多測試類型支持 手工測試、API測試、壓力測試接口管理 接口定義與管理,提升協同效率 支持swagger、postman等導入 由接口自動生成用例242023 iSQE
13、接口管理、測試用例管理(直接導入)接口管理、測試用例管理(直接導入)252023 iSQE 測試套件管理和接口測試測試套件管理和接口測試262023 iSQE 某科技企業實施成功案例某科技企業實施成功案例公司級的統一平臺:解決重復建設、孤島、資源浪費問題更先進的云原生平臺:環境鏡像化生成,資源彈性伸縮統一的研發管理落地:基本的統一規范、統一研發數據沉淀研發管理失控各事業部各自搭建自己的工具平臺,重復建設各事業部用多種開源工具拼裝工具孤島,使用體驗差,效率低各自孤立和重復建設的工具平臺使用率低,資源浪費嚴重統一的一站式云原生平臺研發管理規范落地重復建設工具孤島資源浪費嚴重研發資產失去統一管控研發
14、規范缺失研發數據碎片化272023 iSQE 某銀行:從刀耕火種跑步進入研發、測試數字化某銀行:從刀耕火種跑步進入研發、測試數字化研發資產流失手工編譯、手工測試、手工部署.毫無規范可言,手工替換部分class文件研發問題多,經常緊急回滾,領導只能批評,卻無法改變協同線上化、流程自動化、過程可視化手工,還是手工規范是啥?管理=批評用平臺進行研發協同:保障研發資產的可管可控、可追溯、可審計用自動化逐步取代手工:消除本地構建、消除手動部署、逐步建設自動化測試研發資產流失嚴重Thank you Thank you 中國國際軟件質量工程峰會中國國際軟件質量工程峰會International Software Quality Engineering Forum