91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于知識圖譜的調(diào)用鏈分析精準化測試平臺

vliwulianw ? 來源:嗶哩嗶哩技術(shù) ? 作者:熊林濤 ? 2022-10-13 17:11 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

01 背景

傳統(tǒng)軟件測試技術(shù)主要基于測試人員對業(yè)務(wù)的理解,但由于經(jīng)驗的局限性、被測系統(tǒng)的復(fù)雜性以及與真實業(yè)務(wù)數(shù)據(jù)的差距,肯定存在測試不充分的情況,所以,雖然整個測試流程很規(guī)范,但最終軟件質(zhì)量還是不盡如人意。而隨著分布式、微服務(wù)架構(gòu)、大數(shù)據(jù)技術(shù)的出現(xiàn),軟件越來越復(fù)雜,迭代越來越快,測試的挑戰(zhàn)性越來越大。測試人員急切的需要一套更加精確、高效的測試技術(shù)和方法。精準化測試技術(shù)就在這種背景下應(yīng)運而生并快速發(fā)展。 精準化測試技術(shù)是一種可追溯的軟件測試技術(shù),通過構(gòu)建一套計算機測試輔助分析系統(tǒng),對測試過程的活動進行監(jiān)控,將采集到的監(jiān)控數(shù)據(jù)進行分析,得到精準的量化數(shù)據(jù),使用這些量化數(shù)據(jù)進行質(zhì)量評價,利用這些分析數(shù)據(jù)可以促進測試過程的不斷完善,形成度量及分析閉環(huán),實現(xiàn)軟件測試從經(jīng)驗型方法向技術(shù)型方法的轉(zhuǎn)型。

02 定義

在對精準測試下定義之前我們先看幾個精準測試需要解決的問題:

如何刻畫和度量有限測試集合的充分性

如何挑選有限測試集合并充分執(zhí)行

如何讓上述過程更加自動化、更加精準

那我們可以得到精準測試需要包含的幾個特性:

全不全:通過代碼覆蓋率度量測試充分性

準不準:通過精準推薦代替人工進行變更影響范圍評估指導(dǎo)用例回歸

快不快:精準推薦自動化&用例執(zhí)行失敗快速定位等

然后我們可以將其定義為:精準測試是基于代碼和用例關(guān)聯(lián)關(guān)系的測試充分性度量和提升手段之一。

03 實現(xiàn)思路

首先貼一張流程圖:

aa3d0764-4a2d-11ed-a3b6-dac502259ad0.png

整體使用有兩條鏈路: 1.靜態(tài)掃描+推薦測試范圍,流程如下:

原始代碼靜態(tài)掃描,獲取基礎(chǔ)函數(shù)調(diào)用鏈

原數(shù)據(jù)解析,掃描結(jié)果存儲至Neo4j

代碼diff獲取版本差異,圖譜查詢影響接口范圍

測試范圍推薦

2.動態(tài)追蹤+推薦測試用例,流程如下:

業(yè)務(wù)代碼插樁

插樁后執(zhí)行業(yè)務(wù)/自動化測試用例

采集“用例-函數(shù)調(diào)用鏈”權(quán)重

代碼diff獲取版本差異

測試用例推薦

04 技術(shù)架構(gòu)

4.1 技術(shù)選型

aa7a3346-4a2d-11ed-a3b6-dac502259ad0.png

4.2 測試范圍評估實踐

ab26edca-4a2d-11ed-a3b6-dac502259ad0.png

4.2.1

原始代碼靜態(tài)掃描,獲取基礎(chǔ)函數(shù)調(diào)用鏈

首先會有兩輪掃描: 1. 自研算法獲取函數(shù)的基礎(chǔ)調(diào)用鏈,獲取函數(shù)節(jié)點及調(diào)用關(guān)系

abdc61b4-4a2d-11ed-a3b6-dac502259ad0.png

2. AST掃描,獲取函數(shù)節(jié)點補充信息

ac3bfc46-4a2d-11ed-a3b6-dac502259ad0.png

AST是抽象語法樹(Abstract Syntax Tree)的簡稱,AST以樹狀形式表現(xiàn)編程語言的語法結(jié)構(gòu),樹上每個節(jié)點都表示源代碼中的一種結(jié)構(gòu)。

4.2.2

原數(shù)據(jù)解析,掃描結(jié)果存儲至Neo4j

在獲取到調(diào)用鏈的graph數(shù)據(jù)后,遍歷轉(zhuǎn)換成存入Neo4j所需的cypher語句

ad1d7b3a-4a2d-11ed-a3b6-dac502259ad0.png

如上圖所示,圖譜最基本的組成單位,存在(代碼所屬包)-[包含]->(文件)-[包含]->(函數(shù))-[調(diào)用]->(函數(shù))的結(jié)構(gòu) 在獲取項目調(diào)用鏈原數(shù)據(jù)后,再深度遍歷每一條調(diào)用鏈路采集每個包、文件、函數(shù)的對應(yīng)關(guān)系,以及路徑、所處位置、出參入?yún)?、注釋、代碼行等信息,寫入Neo4j。

ad46901a-4a2d-11ed-a3b6-dac502259ad0.png

4.2.3

代碼diff獲取版本差異,圖譜查詢影響接口范圍

通過git開放api,我們可以在git diff內(nèi)獲取兩次commit對比

addd64ae-4a2d-11ed-a3b6-dac502259ad0.png

通過文件路徑與函數(shù)名,我們可以找到對應(yīng)的函數(shù)節(jié)點

ae767eb4-4a2d-11ed-a3b6-dac502259ad0.png

然后通過圖譜向上追蹤查詢完整的調(diào)用鏈路,最終獲取到影響的接口

ae93002a-4a2d-11ed-a3b6-dac502259ad0.png

4.2.4 測試范圍推薦

可視化頁面展示版本代碼對比,與影響的接口(服務(wù)端)、頁面/組件(客戶端)

aecbdca6-4a2d-11ed-a3b6-dac502259ad0.png

4.3 測試用例推薦實踐

b016c602-4a2d-11ed-a3b6-dac502259ad0.png

下面主要講解調(diào)用鏈獲取及加權(quán)部分

b03b0166-4a2d-11ed-a3b6-dac502259ad0.png

4.3.1 業(yè)務(wù)代碼插樁

修改編譯邏輯,在開始編譯前通過AST解析插入覆蓋率和Trace的采集器

b052c5a8-4a2d-11ed-a3b6-dac502259ad0.png

4.3.2 用例執(zhí)行

通過代理服務(wù)執(zhí)行測試用例,采集“用例-調(diào)用鏈”的映射關(guān)系

4.3.3 采集“用例-函數(shù)調(diào)用鏈”權(quán)重

對關(guān)聯(lián)關(guān)系進行加權(quán)計算后,存入Neo4j。 下面舉例幾種不同的權(quán)重計算方式:調(diào)用次數(shù)加權(quán)

b0a883da-4a2d-11ed-a3b6-dac502259ad0.jpg

假如有一條測試用例,執(zhí)行時經(jīng)過了Api_1和Api_2兩個接口 然后Api_1執(zhí)行時經(jīng)過了函數(shù)FuncA、FuncC、FuncE Api_2執(zhí)行時經(jīng)過了函數(shù)FuncB、FuncD、FuncE 我們可以理解為該條測試用例,對于函數(shù)A、B、C、D、E的調(diào)用次數(shù)加權(quán)分別為1、1、1、1、2業(yè)務(wù)模塊加權(quán)這是半手工的方式,如果在用例管理系統(tǒng)中,有一條case屬于“書架”模塊,那我們可以將不同層級的代碼,處于bookshelf目錄下的函數(shù),都與該case綁定一個“同模塊(module_weight)”的關(guān)系(relationship)

b0d58010-4a2d-11ed-a3b6-dac502259ad0.jpg

文本相似度加權(quán)通過對測試用例庫內(nèi)的所有用例,進行分詞、建立詞庫,使用tf-idf的方式計算用例與用例間的文本相似度,來計算用例的相似性

b0fe0dc8-4a2d-11ed-a3b6-dac502259ad0.jpg

此方案對測試人員編寫用例時的要求較高,如果會有不同的測試人員去測試相同模塊,因為書寫習慣不一樣,可能會導(dǎo)致case計算結(jié)果不準確,所以我們引入GCN計算case的相似性GCN(圖卷積神經(jīng)網(wǎng)絡(luò))計算用例相似性實際使用中,我們會采取不同的特征來訓(xùn)練GCN,用于計算不同場景的結(jié)果 在這里我們舉一個簡單的例子,用于計算case的相似性:

b119b104-4a2d-11ed-a3b6-dac502259ad0.png

1. 我們通過采集不同case對函數(shù)的調(diào)用層級,構(gòu)成一個C × N的稀疏矩陣 (C:測試用例個數(shù),N:函數(shù)節(jié)點數(shù)) 2. 將調(diào)用層級數(shù)取反,然后歸一化,得到訓(xùn)練模型用的矩陣 3. 根據(jù)GCN的定義X'=σ(L ?symXW)來定義GCN層,然后堆疊兩層GCN構(gòu)建圖卷積網(wǎng)絡(luò) 4. 訓(xùn)練完后,通過TSNE將輸出層的score嵌入進行二維化處理,計算每個節(jié)點與節(jié)點的歐式距離,再存入Neo4j

b19796a0-4a2d-11ed-a3b6-dac502259ad0.png

4.3.4 代碼diff獲取版本差異

與步驟4.2.4一樣,通過代碼diff獲取改動的函數(shù)節(jié)點,然后通過權(quán)重計算獲取測試用例。

4.3.5 測試用例推薦

如果是業(yè)務(wù)用例則自動創(chuàng)建測試計劃,并關(guān)聯(lián)測試用例。 如果是自動化測試用例,則自動導(dǎo)入用例所處的文件、函數(shù)信息。

b1fbf474-4a2d-11ed-a3b6-dac502259ad0.png

05 落地效果

目前平臺在MR、冒煙、提測、回歸、上線等不同階段,采取了8種不同的質(zhì)量保障措施:

迭代時間由3周縮短至2周

版本平均需執(zhí)行自動化用例數(shù)減少80%

回歸測試階段平均需執(zhí)行用例數(shù)減少60%

覆蓋率需統(tǒng)計代碼減少90%

b244a21e-4a2d-11ed-a3b6-dac502259ad0.png

06 未來展望

隨著增量用例的增多,數(shù)據(jù)量提高,進一步提高GCN的計算結(jié)果準確度

打造調(diào)用鏈代碼染色+頁面可視化功能,助力測試環(huán)境問題定位

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4973

    瀏覽量

    74163
  • 大數(shù)據(jù)
    +關(guān)注

    關(guān)注

    64

    文章

    9081

    瀏覽量

    143896

原文標題:基于知識圖譜的調(diào)用鏈分析精準化測試平臺

文章出處:【微信號:軟件質(zhì)量報道,微信公眾號:軟件質(zhì)量報道】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    小藝開放平臺平臺功能

    選擇插件、工作流,響應(yīng)用戶需求。LLM模式適用于簡單對話、知識問答、基礎(chǔ)內(nèi)容生成等場景。 工作流模式 工作流模式是一種基于規(guī)則流程的智能體編排方式。開發(fā)者將復(fù)雜任務(wù)拆解為有序的規(guī)則步驟(如數(shù)據(jù)獲取
    發(fā)表于 01-30 15:24

    風機異響 “找不準”?聲紋圖譜分析,故障點精準定位

    風機異響找不準,本質(zhì)是沒讀懂設(shè)備的 “求救信號”。聲紋圖譜分析就像給風機配了 “私人醫(yī)生”,24 小時不間斷監(jiān)測,把隱性故障轉(zhuǎn)化為明確數(shù)據(jù),讓每一次維修都精準高效。
    的頭像 發(fā)表于 12-04 09:45 ?527次閱讀
    風機異響 “找不準”?聲紋<b class='flag-5'>圖譜分析</b>,故障點<b class='flag-5'>精準</b>定位

    RK?平臺?DDR?測試終極指南:標準步驟?+?全場景適配方案

    DDR?作為?RK?平臺數(shù)據(jù)傳輸?shù)?“主動脈”,其穩(wěn)定性與性能直接決定產(chǎn)品體驗。尤其在內(nèi)存顆粒迭代快、多場景應(yīng)用普及的當下,一套通用且精準的?DDR?測試方法,能有效規(guī)避兼容性問題、提前發(fā)現(xiàn)隱性故障
    的頭像 發(fā)表于 11-19 07:08 ?1290次閱讀
    RK?<b class='flag-5'>平臺</b>?DDR?<b class='flag-5'>測試</b>終極指南:標準<b class='flag-5'>化</b>步驟?+?全場景適配方案

    光伏組件IV曲線測試儀:解鎖光伏組件性能的“能量圖譜儀”

    光伏組件IV曲線測試儀:解鎖光伏組件性能的“能量圖譜儀”柏峰【BF-CV1500】光伏組件的輸出特性是決定電站發(fā)電效率的核心,而IV(電流-電壓)曲線作為組件性能的“指紋圖譜”,包含了短路電流、開路電壓、最大功率點等關(guān)鍵參數(shù)
    的頭像 發(fā)表于 10-15 10:49 ?994次閱讀
    光伏組件IV曲線<b class='flag-5'>測試</b>儀:解鎖光伏組件性能的“能量<b class='flag-5'>圖譜</b>儀”

    BW-4022A半導(dǎo)體分立器件綜合測試平臺---精準洞察,卓越測量

    精準洞察,卓越測量---BW-4022A半導(dǎo)體分立器件綜合測試平臺 原創(chuàng) 一覺睡到童年 陜西博微電通科技 2025年09月25日 19:08 陜西 在半導(dǎo)體產(chǎn)業(yè)蓬勃發(fā)展的浪潮中,每一顆微小的半導(dǎo)體
    發(fā)表于 10-10 10:35

    智慧科研新紀元:善思創(chuàng)興引領(lǐng)AI與自動變革

    的領(lǐng)先者,致力于為新能源、新材料領(lǐng)域打造安全、高效、智能的軟硬件一體平臺,攜手科研伙伴共同開啟下一代高效科研新范式。 ?突破邊界:薄膜材料表征的精準洞察? 善思創(chuàng)興的 薄膜力學斷層掃描測試
    發(fā)表于 09-05 16:55

    零代碼自動測試平臺ATECLOUD功能詳解

    平臺通過三大優(yōu)勢顯著區(qū)別于傳統(tǒng)系統(tǒng): 1.零代碼快速構(gòu)建:無需編程即可實現(xiàn)測試方案搭建; 2.即插即用設(shè)備生態(tài):兼容主流測試儀器,降低集成門檻; 3.全維度數(shù)據(jù)智能:定制報告模板與數(shù)
    的頭像 發(fā)表于 08-20 17:32 ?1428次閱讀
    零代碼自動<b class='flag-5'>化</b><b class='flag-5'>測試</b><b class='flag-5'>平臺</b>ATECLOUD功能詳解

    自動測試平臺中TestCenter和ATECLOUD有哪些差異?

    TestCenter和ATECLOUD雖然都是自動測試平臺,但兩者在試用領(lǐng)域、技術(shù)架構(gòu)、功能特性等方面具有很大的差異性,兩者的面向客戶也有所不同。本文將簡單分析兩個
    的頭像 發(fā)表于 07-25 09:54 ?772次閱讀
    自動<b class='flag-5'>化</b><b class='flag-5'>測試</b><b class='flag-5'>平臺</b>中TestCenter和ATECLOUD有哪些差異?

    自動測試平臺ATECLOUD推出AI算法功能

    作為納米軟件自主研發(fā)的自動測試平臺,ATECLOUD 始終致力于為用戶提供高效優(yōu)質(zhì)的測試解決方案。面對5G、AI等前沿技術(shù)的迭代發(fā)展,平臺
    的頭像 發(fā)表于 07-22 16:10 ?877次閱讀
    自動<b class='flag-5'>化</b><b class='flag-5'>測試</b><b class='flag-5'>平臺</b>ATECLOUD推出AI算法功能

    信而泰×DeepSeek:AI推理引擎驅(qū)動網(wǎng)絡(luò)智能診斷邁向 “自愈”時代

    ,還是工業(yè)協(xié)議時序混亂,均可完整還原端到端業(yè)務(wù)會話鏈條,為智能分析提供堅實基礎(chǔ)。2.AI根因定位:推理引擎驅(qū)動秒級精準診斷l(xiāng) 知識圖譜驅(qū)動:將網(wǎng)絡(luò)拓撲、流量統(tǒng)計、歷史趨勢、會話日志、異常告警、威脅情報等
    發(fā)表于 07-16 15:29

    AI智能眼鏡產(chǎn)業(yè)鏈分析

    電子發(fā)燒友網(wǎng)站提供《AI智能眼鏡產(chǎn)業(yè)鏈分析.pdf》資料免費下載
    發(fā)表于 05-19 17:25 ?595次下載

    輕輕松松學電工(識圖篇)

    內(nèi)容介紹 結(jié)合廣大電工人員的實際需要,主要介紹了常用電工電路識圖的基礎(chǔ)知識、方法及技巧,內(nèi)容包括常用電氣符號、電工識圖基本方法,以及識讀供配電系統(tǒng)圖、建筑電氣圖、電力拖動系統(tǒng)電氣圖、PLC梯形圖
    發(fā)表于 04-30 17:18

    東軟集團入選中國央國企數(shù)字平臺廠商圖譜

    2025年4月,國際數(shù)據(jù)公司(IDC)發(fā)布《中國央國企數(shù)字平臺廠商圖譜及領(lǐng)導(dǎo)者實踐》(Doc#CHC52296525,2025年3月)報告,深度剖析央國企數(shù)字轉(zhuǎn)型趨勢、市場競爭格局
    的頭像 發(fā)表于 04-18 16:15 ?885次閱讀

    典型電路原理、電路識圖從入門到精通等資料

    1、電路識圖從入門到精通高清電子資料 由淺入深地介紹了電路圖的基礎(chǔ)知識、典型單元電路的識圖方法,通過“入門篇”和“精通篇”循序漸進、由淺入深地介紹了電路圖的基礎(chǔ)知識、典型單元電路的
    的頭像 發(fā)表于 04-15 15:53 ?2.5w次閱讀
    典型電路原理、電路<b class='flag-5'>識圖</b>從入門到精通等資料

    電路識圖從入門到精通高清電子資料

    由淺入深地介紹了電路圖的基礎(chǔ)知識、典型單元電路的識圖方法,通過“入門篇”和“精通篇”循序漸進、由淺入深地介紹了電路圖的基礎(chǔ)知識、典型單元電路的識圖方法,以及典型小家電、電動車、洗衣機、
    發(fā)表于 04-10 16:22