天天看點

精準測試實踐-測試範圍分析| 京東雲技術團隊

作者:京東雲開發者

一、背景

需求疊代過程中産研漏評估業務影響點是bug漏到生産環境的主要原因之一。減少漏評估問題的發生是提升傳遞品質的重要方向,精準測試是除依賴産研人員能力及經驗外的另一種分析業務影響點的方式。

二、實踐方案

1.方案簡介

下面介紹針對java單應用的代碼改動影響自動分析方案。

1)原理介紹

基于代碼依賴關系分析改動的代碼影響到哪些入口代碼(接口、消息、任務等入口方法)。

舉例,如下圖,假設某應用改動了底層方法1,則基于代碼間調用關系可以分析出方法a、b、z為被方法1影響的該應用最外層入口方法。

精準測試實踐-測試範圍分析| 京東雲技術團隊



2)實施流程介紹

精準測試實踐-測試範圍分析| 京東雲技術團隊



代碼依賴分析方案詳細介紹:

a.基于asm架構對java位元組碼檔案進行解析,可解析出代碼間調用關系。

舉例,下圖為位元組碼檔案部分内容的截圖,方法中的invokexxx指令為位元組碼中調用方法的指令,用asm位元組碼分析架構,可分析出如在methodA中調用了methodB。

精準測試實踐-測試範圍分析| 京東雲技術團隊



b.以提測分支與master分支含diff的方法作為查詢對象,結合方法間調用關系資料,可查出某方法影響到哪些入口方法

三、實踐效果

結合coding的webhooks,實作代碼提測後自動擷取代碼diff及其影響代碼的自動分析。

精準測試實踐-測試範圍分析| 京東雲技術團隊



四、未來規劃

基于分析出的影響接口、消息入口資訊,結合對應接口的測試用例,可以進一步實作測試用例的推薦與自動運作,及結合代碼覆寫率分析能力自動給出測試覆寫率報告。

作者:京東科技 呂俊

來源:京東雲開發者社群

繼續閱讀