chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

01 背景

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

02 定義

在對精準(zhǔn)測試下定義之前我們先看幾個(gè)精準(zhǔn)測試需要解決的問題:

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

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

如何讓上述過程更加自動(dòng)化、更加精準(zhǔn)

那我們可以得到精準(zhǔn)測試需要包含的幾個(gè)特性:

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

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

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

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

03 實(shí)現(xiàn)思路

首先貼一張流程圖:

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

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

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

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

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

測試范圍推薦

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

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

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

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

代碼diff獲取版本差異

測試用例推薦

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

4.1 技術(shù)選型

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

4.2 測試范圍評估實(shí)踐

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

4.2.1

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

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

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

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

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

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

4.2.2

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

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

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

如上圖所示,圖譜最基本的組成單位,存在(代碼所屬包)-[包含]->(文件)-[包含]->(函數(shù))-[調(diào)用]->(函數(shù))的結(jié)構(gòu) 在獲取項(xiàng)目調(diào)用鏈原數(shù)據(jù)后,再深度遍歷每一條調(diào)用鏈路采集每個(gè)包、文件、函數(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é)點(diǎn)

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 測試用例推薦實(shí)踐

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)系進(jìn)行加權(quán)計(jì)算后,存入Neo4j。 下面舉例幾種不同的權(quán)重計(jì)算方式:調(diào)用次數(shù)加權(quán)

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

假如有一條測試用例,執(zhí)行時(shí)經(jīng)過了Api_1和Api_2兩個(gè)接口 然后Api_1執(zhí)行時(shí)經(jīng)過了函數(shù)FuncA、FuncC、FuncE Api_2執(zhí)行時(shí)經(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綁定一個(gè)“同模塊(module_weight)”的關(guān)系(relationship)

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

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

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

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

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

1. 我們通過采集不同case對函數(shù)的調(diào)用層級,構(gòu)成一個(gè)C × N的稀疏矩陣 (C:測試用例個(gè)數(shù),N:函數(shù)節(jié)點(diǎn)數(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嵌入進(jìn)行二維化處理,計(jì)算每個(gè)節(jié)點(diǎn)與節(jié)點(diǎn)的歐式距離,再存入Neo4j

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

4.3.4 代碼diff獲取版本差異

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

4.3.5 測試用例推薦

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

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

05 落地效果

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

迭代時(shí)間由3周縮短至2周

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

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

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

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

06 未來展望

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

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

審核編輯:郭婷

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

    關(guān)注

    30

    文章

    4900

    瀏覽量

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

    關(guān)注

    64

    文章

    8960

    瀏覽量

    140261

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

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

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

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

    【「零基礎(chǔ)開發(fā)AI Agent」閱讀體驗(yàn)】+Agent開發(fā)平臺

    開發(fā)平臺有4大特點(diǎn) 1)技術(shù)集成性 Agent開發(fā)平臺集成了大模型調(diào)用、提示詞工程、插件、線上編程運(yùn)行環(huán)境、知識庫、工作流、數(shù)據(jù)庫等多種功能模塊,為開發(fā)者提供了一站式的技術(shù)解決方案,能
    發(fā)表于 05-13 12:24

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

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

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

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

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

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

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

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

    淵亭KGAG升級引入“高級策略推理”

    為了突破現(xiàn)有AI技術(shù)在決策推理方面的局限,淵亭科技對其知識圖譜分析平臺KGAG進(jìn)行了最新升級,創(chuàng)新性地引入了“高級策略推理”模式。這一模式的引入,實(shí)現(xiàn)了“大模型×知識圖譜×專家策略×動(dòng)態(tài)推理”的深度
    的頭像 發(fā)表于 02-14 15:07 ?538次閱讀

    微軟發(fā)布《GraphRAG實(shí)踐應(yīng)用白皮書》助力開發(fā)者

    近日,微軟針對開發(fā)者群體,重磅推出了《GraphRAG實(shí)踐應(yīng)用白皮書》。該白皮書全面而深入地涵蓋了知識圖譜的核心內(nèi)容,為開發(fā)者和企業(yè)提供了寶貴的指導(dǎo)和啟示。 從知識圖譜的基礎(chǔ)概念出發(fā),白皮書詳細(xì)闡述
    的頭像 發(fā)表于 01-13 16:11 ?992次閱讀

    信而泰網(wǎng)絡(luò)測試儀校準(zhǔn)解決方案:精準(zhǔn)測試,性能無憂

    影響儀表精度的因素 網(wǎng)絡(luò)測試儀是用于對數(shù)據(jù)網(wǎng)絡(luò)及其相關(guān)設(shè)備性能參數(shù)進(jìn)行測試的儀表,可以模擬網(wǎng)絡(luò)終端產(chǎn)生流量,進(jìn)行網(wǎng)絡(luò)性能測試,對網(wǎng)絡(luò)狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)測,分析和統(tǒng)計(jì)。數(shù)字計(jì)量對于
    的頭像 發(fā)表于 01-13 14:04 ?504次閱讀
    信而泰網(wǎng)絡(luò)<b class='flag-5'>測試</b>儀校準(zhǔn)解決方案:<b class='flag-5'>精準(zhǔn)</b><b class='flag-5'>測試</b>,性能無憂

    利智方:驅(qū)動(dòng)企業(yè)知識管理與AI創(chuàng)新加速的平臺

    利智方致力于深度整合企業(yè)知識資產(chǎn),全面打通知識生命周期的各個(gè)環(huán)節(jié)。通過構(gòu)建強(qiáng)大的知識庫和精準(zhǔn)知識圖譜,支持快速定制和部署各類AI應(yīng)用,為企
    的頭像 發(fā)表于 12-30 11:07 ?954次閱讀

    光譜看譜鏡分析圖譜

    火電廠材質(zhì)分析看譜鏡圖譜
    發(fā)表于 12-06 15:02 ?0次下載

    三星自主研發(fā)知識圖譜技術(shù),強(qiáng)化Galaxy AI用戶體驗(yàn)與數(shù)據(jù)安全

    據(jù)外媒11月7日報(bào)道,三星電子全球AI中心總監(jiān)Kim Dae-hyun近日透露,公司正致力于自主研發(fā)知識圖譜技術(shù),旨在進(jìn)一步優(yōu)化Galaxy AI的功能,提升其易用性,并加強(qiáng)用戶數(shù)據(jù)的隱私保護(hù)。
    的頭像 發(fā)表于 11-07 15:19 ?1391次閱讀

    矢量網(wǎng)絡(luò)分析儀軟件精準(zhǔn)測試天線

    自動(dòng)測試方法是通過系統(tǒng)集成的方式來實(shí)現(xiàn),通過軟件程控網(wǎng)分等硬件設(shè)備來完成S參數(shù)測試。NSAT-1000是專門針對各類射頻器件性能測試的系統(tǒng),為S參數(shù)
    的頭像 發(fā)表于 08-29 17:50 ?738次閱讀
    矢量網(wǎng)絡(luò)<b class='flag-5'>分析</b>儀軟件<b class='flag-5'>精準(zhǔn)</b><b class='flag-5'>測試</b>天線

    FLEXBENCH通用測試軟件平臺

    測試報(bào)告。 FlexBench采用信息數(shù)據(jù)管理方式,高效、全面地采集、存儲(chǔ)和管理歷史測試數(shù)據(jù),隨時(shí)供用戶分析。 FlexBench提供豐富的可視
    的頭像 發(fā)表于 08-06 14:04 ?613次閱讀
    FLEXBENCH通用<b class='flag-5'>測試</b>軟件<b class='flag-5'>平臺</b>