測試升維:AI賦能下的AREX工具_(dá)第1頁
測試升維:AI賦能下的AREX工具_(dá)第2頁
測試升維:AI賦能下的AREX工具_(dá)第3頁
測試升維:AI賦能下的AREX工具_(dá)第4頁
測試升維:AI賦能下的AREX工具_(dá)第5頁
已閱讀5頁,還剩23頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

測試升維:AI賦能下的AREX工具革新之旅攜程-機(jī)票BU目錄AgendaAREX工具的架構(gòu)與測試思想面向功能性測試的AI助力提升非功能性測試的AI助力提升AREX融合AI應(yīng)用的總結(jié)

AREX工具的架構(gòu)與測試思想

研發(fā)團(tuán)隊(duì)的質(zhì)量困境:

覆蓋率

AREX工具的架構(gòu)與測試思想

研發(fā)團(tuán)隊(duì)的質(zhì)量困境:

業(yè)務(wù)復(fù)雜度復(fù)雜度是大敵,滾雪球效應(yīng)某個(gè)業(yè)務(wù)請求DB請求200+

API請求100+

緩存20+業(yè)務(wù)復(fù)雜度和數(shù)據(jù)復(fù)雜度軟件項(xiàng)目隨著規(guī)模增大,產(chǎn)生滾雪球效應(yīng)

AREX工具的架構(gòu)與測試思想

AREX工具的實(shí)現(xiàn)思想

常規(guī)接口測試及痛點(diǎn)痛點(diǎn)高測試覆蓋率依賴大量的測試用例測試用例和斷言需要持續(xù)維護(hù)構(gòu)造測試數(shù)據(jù)復(fù)雜且需要持續(xù)維護(hù)自動化用例越多維護(hù)成本越高自動化已經(jīng)成為主流,是必需品更是奢侈品自動化測試投入成本增幅遠(yuǎn)高于開發(fā)成本增幅

AREX工具的架構(gòu)與測試思想

AREX工具的實(shí)現(xiàn)思想

AREX測試工具特點(diǎn)特點(diǎn)保持大量的測試用例無需人力參與高覆蓋率但測試用例不需要維護(hù)無需構(gòu)造測試數(shù)據(jù)無需用例維護(hù)且持續(xù)保證最新用例自動化測試投入成本恒定測試左移釋放測試人力做更深入的測試場景AREX會增加測試結(jié)果確認(rèn)成本

AREX工具的架構(gòu)與測試思想

AREX工具的實(shí)現(xiàn)思想

AREX的組成與部署

AREX工具的架構(gòu)與測試思想

AREX工具的實(shí)現(xiàn)思想

–基于流量回放的自動化測試實(shí)現(xiàn)

AREX工具的架構(gòu)與測試思想

AREX的實(shí)戰(zhàn)成果AREX

在攜程的實(shí)施效果,日運(yùn)行有效執(zhí)行1000+①公司內(nèi)大范圍接入,有效提升了回歸測試效率、質(zhì)量和測試覆蓋率②測試左移,

軟件提測質(zhì)量大幅提升③固定了測試成本,釋放測試資源,增加了新功能測試的投入和深度④對快速迭代

快速發(fā)布有效的支持,

有效的提升了需求交付能力⑤

接入

CI/CD,已經(jīng)實(shí)施

100%

AREX

回歸測試通過率才能發(fā)布上線,

使用已經(jīng)是研發(fā)過程中的常態(tài)AREX

運(yùn)維中的兩大挑戰(zhàn)①

持續(xù)的錄制回放精準(zhǔn)度優(yōu)化:不同場景不同架構(gòu)…②

持續(xù)的易用性優(yōu)化

面向功能性測試的AI助力提升

AREX的挑戰(zhàn)之

易用性提升配置易用性待提升接入優(yōu)化:快照配置(比如本地緩存開關(guān)等)驗(yàn)證能力優(yōu)化:比對配置(過濾與排序)用例唯一性判斷工具使用易用提升精準(zhǔn)測試:代碼變更的影響范圍自動驗(yàn)證:變更對結(jié)果集的影響回歸本質(zhì):需求驗(yàn)證和斷言擴(kuò)展測試能力有用還是好用易用性需要底層支持

面向功能性測試的AI助力提升

AREX算法優(yōu)化的那些事①

噪音過濾之使用預(yù)測試模式②

復(fù)雜結(jié)構(gòu)比對之相似度算法③

業(yè)務(wù)唯一性判斷之調(diào)用鏈路分析④

ASSERT斷言模式的優(yōu)化⑤

。。。

面向功能性測試的AI助力提升

盤點(diǎn)質(zhì)量團(tuán)隊(duì)的資源,主動擁抱LLMSource&

UpdateAREXRunning

TimeServices

Documents

面向功能性測試的AI助力提升

AREX試用LLM的前期YouareanexpertQAtesterwithdetailedoriented

mindset.Asasenior

technologyexpertAIassistantwithextensiveexperienceintheJavaprogramminglanguageandexceptionalprogrammingskills,youconsistentlyadheretothehigheststandardsoftoptechnologyexperts

andarededicatedtodeliveringexceptionalassistancetousers.Youpossessastrongcommandofthe

latestJavatechnologies,frameworks,andlibraries,andkeepyourselfup-to-datewithemergingtrendsanddevelopmentstoprovidecutting-edge

solutions.

面向功能性測試的AI助力提升

AREX優(yōu)化后接入LLM的方式

面向功能性測試的AI助力提升

1.

配置易用性提升:AREX

Noise

FilterLLM應(yīng)用策略① AREX快照資源/快照簡化② Response

Body的定義鏈源代碼AREXNoiseFilter:

What-Why-How模擬輸出:

面向功能性測試的AI助力提升

2.

配置易用性提升:AREX

Array

Sort

排序預(yù)配置AREXArraySort:

What-Why-How模擬輸出:LLM應(yīng)用策略① 包含Array定義的類源碼

+

關(guān)聯(lián)處理函數(shù)② AREX

Response

Body

ARRAY實(shí)例③ 多實(shí)例驗(yàn)證

面向功能性測試的AI助力提升

3.

配置易用性提升:

變更影響智能識別變更影響智能識別:

What-Why-How模擬輸出:LLM應(yīng)用策略① Response+入口函數(shù)源碼+差異點(diǎn)之XPATH② 變更函數(shù)的新舊版本③ 代碼分析函數(shù)調(diào)用鏈/AREX業(yè)務(wù)函數(shù)調(diào)用鏈④ 函數(shù)調(diào)用鏈的源碼

面向功能性測試的AI助力提升

算法實(shí)現(xiàn)業(yè)務(wù)唯一性判斷①

自定義算法實(shí)現(xiàn)②

會有一定的性能損耗AI實(shí)現(xiàn)業(yè)務(wù)唯一性判斷(完全失?。?/p>

將所有代碼都交付AI分析②

將請求/讀依賴(數(shù)據(jù)庫讀/API依賴)組合交給AI分析4.

配置易用性提升:

請求業(yè)務(wù)唯一性(業(yè)務(wù)屬性唯一性判定)請求業(yè)務(wù)唯一性:

What-Why-How

面向功能性測試的AI助力提升

5.

工具使用易用提升

動態(tài)類掃描動態(tài)類掃描:

What-Why-How①

錄制回放的本質(zhì)是將代碼運(yùn)行的所有數(shù)據(jù)依賴,進(jìn)行另存和還原②

動態(tài)類就是代碼運(yùn)行的數(shù)據(jù)依賴中的一種,如果不配置就會違反“所有數(shù)據(jù)依賴”的條件,導(dǎo)致錄制回放的邏輯非預(yù)期③

算法實(shí)現(xiàn):通過代碼特征掃描① 全局變量② Map類型的參數(shù)③ 類private屬性的成員變量④ ?④

大語言模型:基于調(diào)用鏈將涉及到的類代碼依次提交給LLM分析模擬輸出:你是一個(gè)java程序員<define>本地緩存機(jī)制是代碼中數(shù)據(jù)接口初次讀取填充,以后都是直接讀取出</define>請識別如下code中是否存在本地緩存機(jī)制,如沒有就輸出{};

如識別有本地緩存機(jī)制,請輸出相關(guān)的變量定義和函數(shù)名,及判定依據(jù)。結(jié)果以JSON格式輸出<code>###</code>{"variables":[{"name":"Nodes","type":

"Map<Integer,DataNode>"}

],"functions":

[

{

"name":

"getDirectChildren",

"description":

"該函數(shù)使用Map<Integer,

DataNode>

Nodes作為本地緩存,第一次調(diào)用時(shí)會將所有節(jié)點(diǎn)信息填充到Nodes中,后續(xù)調(diào)用直接從Nodes中獲取節(jié)點(diǎn)信息"

}

],"judgement":

"函數(shù)getDirectChildren使用Map<Integer,

DataNode>

Nodes作為本地緩存,在第一次調(diào)用時(shí),會將所有節(jié)點(diǎn)信息填充到Nodes中,后續(xù)調(diào)用直接從Nodes中獲取節(jié)點(diǎn)信息,因此代碼中存在本地緩存機(jī)制。"}

面向功能性測試的AI助力提升

工具使用易用提升

需求驗(yàn)證斷言(優(yōu)化中)變更測試:

What-Why-How只修改邏輯不影響數(shù)據(jù)的輸出(AREX回歸測試)修改數(shù)據(jù)庫的依賴請求(增刪改*讀寫-AREX動態(tài)MOCK)修改外部接口的依賴請求

(增刪改-

AREX動態(tài)MOCK修改)API應(yīng)答報(bào)文的驗(yàn)證(比對差異)① 變更影響智能識別② 根據(jù)需求動態(tài)生成AREX

ASSERT腳本(基于AREX新舊應(yīng)答+代碼變更前后代碼)新功能測試:

What-Why-How① 基于源碼分析的調(diào)用鏈,從函數(shù)入口開始,基于代碼調(diào)用鏈(函數(shù)集),生成測試用例② 基于算法:AREX測試環(huán)境錄制測試執(zhí)行,并分析出新功能的調(diào)用鏈/數(shù)據(jù)庫依賴/外部接口依賴,提供給測試設(shè)計(jì)模擬輸出:你是測試專家。如下源代碼包含了一個(gè)服務(wù)的入口+調(diào)用鏈上所有代碼,請閱讀理解代碼,根據(jù)代碼邏輯設(shè)計(jì)測試用例。測試用例包含注釋文本/測試數(shù)據(jù)構(gòu)造/服務(wù)請求構(gòu)造/測試結(jié)果驗(yàn)證。如驗(yàn)證斷言無法判斷請?jiān)谧⑨屩姓f明。請以python代碼輸出測試用例,步驟和思路以注釋的方式融合代碼段中。<code><entry><entry><function></function></code>

面向功能性測試的AI助力提升

1.

工具使用易用提升

AI生成可獨(dú)立運(yùn)行的測試用腳本算法實(shí)現(xiàn)接口探索性測試有效的將經(jīng)驗(yàn)枚舉編程復(fù)雜度不高缺點(diǎn):算法是現(xiàn)有經(jīng)驗(yàn)的體現(xiàn),擴(kuò)展能力和隨機(jī)性差A(yù)I實(shí)現(xiàn)接口探索性測試能有效的生成各類參數(shù)的探索性測試既能保證探索的隨機(jī)性又能跟當(dāng)前的輸入有關(guān)聯(lián)缺點(diǎn):AI調(diào)用頻繁會費(fèi)錢

面向非功能性測試的AI助力提升

工具使用易用提升

基于AREX能力的Chaos測試AREX錄制回放數(shù)據(jù)分析請求參數(shù)的枚舉每個(gè)請求的依賴關(guān)系/依賴數(shù)據(jù)基于生產(chǎn)正常場景的行為Chaos測試① 基于數(shù)據(jù)的Chaos① 請求數(shù)據(jù)的Chaos② 依賴數(shù)據(jù)的Chaos② 基于行為的Chaos① 依賴的Timeout② 依賴的異常,比如404等基于AREX基礎(chǔ)數(shù)據(jù)生成JSON規(guī)則配置(LLM)算法讀取規(guī)則生成AREX用例AREX

Chaos模式執(zhí)行測試(只關(guān)注返回碼)

面向非功能性測試的AI助力提升

① 基于AREX的Chaos測試能力② 基于K6的性能測試能力① AREX錄制的基礎(chǔ)數(shù)據(jù)為基礎(chǔ),生成K6的腳本和CSV性能測試數(shù)據(jù)文件② 根據(jù)K6的壓測能力設(shè)置壓力和時(shí)長③ 正常壓測和異常壓測融合3.

工具使用易用提升

AREX結(jié)合AI的穩(wěn)定性測試(優(yōu)化中)①Happy

PATH②Sad

PATH③Exceptional

PATH

AREX融合AI能力實(shí)踐的感悟

AREX

算法與大語言模型的融合總結(jié)算法解決一切?①

算法和變更的平衡②

算法與維護(hù)成本的沖突③

總有一些技術(shù)難題待解決大語言模型完全依賴?①

解決一切問題的銀彈②

大語言模型的接入成本③

解決問題的精確性融合算法與LLM①

LLM-好問題才有好答案②

LLM-好數(shù)據(jù)才有好答案③

數(shù)據(jù)分析的越細(xì)節(jié)越精準(zhǔn)效果越好

AI

Agent展望 AREX-只能是一個(gè)測試工具嗎AREX已有的知識源代碼知識(AST和分析結(jié)果數(shù)據(jù))運(yùn)行時(shí)數(shù)據(jù)(參數(shù)/輸出/上下文)應(yīng)用回放能力(AREX體系)應(yīng)用回放變化跟蹤能力(AREX比對)變更及影響范圍記錄(經(jīng)驗(yàn))AI

Agent的組成部分① 知識庫(學(xué)習(xí)與存儲,知識的更新迭代)② 推理引擎

(LLM)③ 執(zhí)行器④ 感知器新挑戰(zhàn)① AREX的錄制回放體系成為動態(tài)的,可追溯的,有邏輯的AI

Agent知識庫② AREX角色從驗(yàn)證測試,變?yōu)锳I

Agent根據(jù)需求自動修改代碼,并驗(yàn)證需求結(jié)果的感知器和執(zhí)行器AREX-只能是一個(gè)測試工具嗎

AI

Agent展望 DEMO

Agent流程構(gòu)造執(zhí)行LLM

Prompt搜索AREX運(yùn)行時(shí)數(shù)據(jù)中,符合業(yè)務(wù)場景的數(shù)據(jù)(Request/Response/Call-Chain)將涉及到的代碼組裝在pr

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論