AGI全棧開發(fā)課件 第11章 軟件測試-AGI智能體項目測試_第1頁
AGI全棧開發(fā)課件 第11章 軟件測試-AGI智能體項目測試_第2頁
AGI全棧開發(fā)課件 第11章 軟件測試-AGI智能體項目測試_第3頁
AGI全棧開發(fā)課件 第11章 軟件測試-AGI智能體項目測試_第4頁
AGI全棧開發(fā)課件 第11章 軟件測試-AGI智能體項目測試_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第11章

AGI智能體項目測試“把重復(fù)的用例編寫交給AGI,

把質(zhì)量的深層洞察留給自己”——讓測試不再是負擔,而是產(chǎn)品信心的源泉。理

:明確單元測試(針對SDK類)與端對端測試(針對功能頁)在保障系統(tǒng)穩(wěn)定性中的核心價值。掌握技能:●

使

用Jasmine/Karma

編寫FmodeChatCompletion類的單元測試?!?/p>

使用Cypress

編寫門診智能體的E2E交互測試。素

養(yǎng)

:堅持“零缺陷”標準,樹立技術(shù)向善倫理觀,規(guī)避數(shù)據(jù)偏見。學習目標系統(tǒng)梳理單元與端到端測試方法,形成AG

項目質(zhì)量閉環(huán)提出"AG生成+工程師審閱“模式,測試代碼產(chǎn)出

效率提升50%強調(diào)測試數(shù)據(jù)倫理與公平性,為后續(xù)部署運維奠定質(zhì)量基礎(chǔ)基于Cypress實現(xiàn)門診智能體完整問診流程自動

化驗證模擬高尿酸血癥患者五輪對話,檢查階段標記與響應(yīng)正確性覆蓋頁面加載、按鈕交互、消息發(fā)送、保存關(guān)閉全鏈路cyvisit進入Pagelnquery,斷言“開始問診”可見且

可點擊逐輪type問題并回車,斷言返回含[導(dǎo)診完成]問診完成]等標記使用cyintercept

等待后端響應(yīng),防止網(wǎng)絡(luò)抖動導(dǎo)

致斷言提前截圖對比:每輪結(jié)束自動截屏,與基準圖Diff超過1%標紅添加data-cy屬性隔離DOM,防止樣式變動導(dǎo)致選擇器失效AGI自動生成Cypress腳本骨架,人類微調(diào)選擇器與等待時間端到端發(fā)現(xiàn)流程斷裂,反向推動前端狀態(tài)管理優(yōu)

化測試數(shù)據(jù)脫敏處理,避免真實患者信息流入C

環(huán)境完成FmodeChatCompletion與AgentStory類全覆蓋測試,確保邏輯正確驗證文本生成、分塊、向量、保存等核心功能符合預(yù)期為集成測試提供穩(wěn)定基線,降低后續(xù)定位成本Jasmine+Karma

搭建Angular測試環(huán)境,ng

test—

鍵執(zhí)行spyOn模擬fetch

與Observable,控

制Al返回內(nèi)容避免隨機失敗逐函數(shù)斷言:初始化、流解析、錯誤處理、向量相似度計算AgentStory

mock

CloudApi保存,驗證分塊、

embedding、

哈希邏輯測試報告輸出覆蓋率,低于80%自動標紅并生成

增量用例AGI十分鐘生成用例模板,工程師補充業(yè)務(wù)邊界

與異常場景A輸出不固定導(dǎo)致斷言失敗,改用關(guān)鍵詞包含而

非全等判斷單元測試通過后方可合入主干,形成質(zhì)量門禁第一關(guān)第11章軟件測試一AGI

智能體項目測試項目二:端對端測試

項目一:單元測試本章小結(jié)項目目標項目實施項目思考項目目標-項目實施項目思考知識圖譜:目錄

CONTENTS端對端測試單元測試AGI與工程師的協(xié)作本章小結(jié)與習題13單元測試

1

單元測試概述單

試(UnitTest)1

.

定義:針對軟件中最小可測試單元

(如類、方法)進行驗證。2

.

值:快速發(fā)現(xiàn)邏輯錯誤,確保模

塊功能的獨立性與正確性。3

.

工具:Jasmine(斷言庫)+Karma

(運

行器)。測試對象FmodeChatCompletion:文本生成類●重點:構(gòu)造函數(shù)、API

請求、流式解析。AgentStory:知識庫故事類●重點:文檔加載、分割、向量化、元數(shù)據(jù)保存。it('should

successfully

send

completion',(done)=>{spyOn(window,'fetch').and.returnValue(Promise.resolve

({…}));chatCompletion.sendCompletion().subscribe({next:(msg)=>{expect(msg.content).toBe('Fmode');},complete:()=>{expect(chatCompletion['isCompleted']).toBe(true);done();1.Mock:使用spyOn(window,'fetc

h')模擬API

響應(yīng)。2.

驗證:檢查contentBuffer

是否

正確累積,isCompleted

是否置

true。 FmodeChatCompletion測試實現(xiàn)測試

FmodeChatCompletion

類}});

});Mock

依賴代碼it('should

save

document

metadata',async()=>{//Mock

靜態(tài)方法CloudApi.savespyOn(CloudApi,'save').and.returnValue(Promise.resolve(true));await

story.save();//驗證是否被調(diào)用expect(CloudApi.save).toHaveBeenCalled();測試用例清單1.

口實例創(chuàng)建(shouldcreateinstance)2.

□文檔加載(should

load

content)3.

□文本分割(should

split

content)4.

口向量生成(shouldgenerate

embeddings)5.

口相似度計算(shouldcalccosine) AgentStory

測試實現(xiàn)});Karma

結(jié)

果>ng

testFmodeChatCompletion√should

initialize

with

correct

properties

√should

parse

chunk

to

JSON

correctlyAgentStory√shouldsplit

document

content√shouldcalculate

cosine

similaritySummary:10tests

passed(10total)常見問題與修復(fù)1

.

問題:AI

生成內(nèi)容不固定導(dǎo)致expect

失敗

。2.對策:修改Prompt為定式指令(如“請

輸出:Fmode”),或僅驗證返回數(shù)據(jù)

類型而非具體內(nèi)容。

測試結(jié)果分析2端對端測試

端對端測試概述端對端測試

(E2E

Testing)患者:“關(guān)節(jié)疼”Al:“[導(dǎo)診完成]”患者:“吃海鮮”Al:“[問診完成]”核

念:

模擬真實用戶操作,驗證整個應(yīng)用鏈路

(UI->邏輯

-

>數(shù)據(jù))。Step

3:模擬多輪對話(高尿酸血癥案例)Step

2:點擊“開始問診”Step

4:驗證處方生成Step

1:

訪問頁面Cypress測試腳本實現(xiàn)describe(門診智能體功能測試',()=>{beforeEach(()=>{cy.visit('/page-inquery');});it('模擬完整問診流程',()=>{

cy.contains('開始問診').click();

//1.

輪對話cy.get('input').type

(腳趾關(guān)節(jié)疼{enter}');cy.get('.message').last().should('contain','[導(dǎo)診完成]');//2.第二輪對話cy.get('input').type('最近吃了很多海鮮{enter}');cy.get('.message').last().should('contain','[問診完成]');});});

Cypress

測試用例編寫

E2E

測試運行演示Chat

示示例:門診智能體示例(ChatPanel

組件

)1.檢查到異常項是尿酸,650

μmol/L2.關(guān)節(jié)正常感謝您提供的檢查結(jié)果。根探您的尿酸水平(650μmol/L)

,這明顯高于正常范圍,結(jié)合您腳踩關(guān)節(jié)疼痛和腫脹的庭狀,可以初步診斷為幽風是由于體內(nèi)尿酸過高,導(dǎo)致尿酸結(jié)晶沉積在關(guān)節(jié)中,引發(fā)疼痛和

炎癥,接下來,我會為您制定一個治療方案。1.

藥物治療:○非騙體抗炎藥(NSAIDS);如布洛芬(lbuprofen)

或恭普生(Naproxen),

以緩解疼痛和炎癥。降尿酸藥物:如別禁醇(Allopurinol),

幫助降低尿酸2.生活方式建議:避免高嘌嶺食物(如海鮮、紅肉,酒精等)?!鸲嗪人13殖渥愕乃謹z入,有助于尿酸代。3.定期復(fù)查:建議定期檢查尿酸水平,監(jiān)則治療效果。請根據(jù)以上方案進行治療,并遵循生活方式的建議。如有任何不適或

疑問,請及時與我聯(lián)系。希望您早日康復(fù)!處方完成28/12/2417:04門診頁Step

1[開始問診][關(guān)鍵指標]100%聊天頁Step

2對話交互處方頁診斷匹配耗時:<15s

覆蓋率:Step

3AGI

與工程師的協(xié)作

3

角色思考

AGI與工程師AGI

的價值1

.

生成基建:快速生成Jasmine/Cypress的測試骨架代碼。2.

規(guī)范統(tǒng)

:生成的測試用例結(jié)

構(gòu)一致,易于維護。3

.

場景覆蓋:自動生成多種邊界

條件測試數(shù)據(jù)。工程師的價值1

.

業(yè)務(wù)邏輯:定義核心測試場景

(如高尿酸血癥的具體癥狀)。2.

問題定位:當測試失敗時(如

異步超時、Mock

)

,

深度排查。3.

情感把控:驗證AI

回復(fù)的語

氣是否符合“醫(yī)生”的人設(shè)。本章小結(jié)與習題4

總結(jié)與思考單元測試(Unit)1.

使用

Jasmine

對Fmod

eChatCompletion和Ag

entStory

進行了細粒度

驗證。2.

掌握了SpyOn

模擬API和依賴的方法。0

1端對端測試(E2E)1

.

使用Cypress

模擬

了完整的醫(yī)患對話流

程。2

.驗證了從“頁面加載”

到“處方生成”的全鏈

路功能。02質(zhì)量意識1.

確立了自動化測試在

AGI

項目中的核心地位。2.

理解了“零缺陷”的交付

標準。課后習題1在軟件測試中,AGI

的主要作用是什么?()A.提高測試效率

B.

確保測試的準確性C.提供測試用例D.以上都是2

在單元測試中,以下哪種方法用于模擬依賴?

(

)A.spyOn

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論