版權(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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年青島港船長考試大綱與題庫
- 2026年永輝超市烘焙主管崗位能力測試題庫含答案
- 2026年酒店行政職位的面試技巧及問題集
- 2026年電力工程師的招聘面試技巧與問題解析
- (新教材)2026年人教版三年級上冊數(shù)學 3.1毫米的認識 課件
- 杰潤安全技能培訓課件
- 高考物理一輪復(fù)習-第六章-碰撞與動量守恒-第5講-章末熱點集訓
- 杭州汽車安全事故培訓課件
- 楊浦區(qū)食品安全培訓課件
- 2026年阜陽職業(yè)技術(shù)學院高職單招職業(yè)適應(yīng)性測試備考試題帶答案解析
- 2024-2025學年重慶市大足區(qū)六年級(上)期末數(shù)學試卷
- 2025年高級經(jīng)濟師金融試題及答案
- 蘇少版七年級上冊2025秋美術(shù)期末測試卷(三套含答案)
- 2026年哈爾濱科學技術(shù)職業(yè)學院單招職業(yè)技能測試題庫帶答案詳解
- GB/T 7714-2025信息與文獻參考文獻著錄規(guī)則
- 涉融資性貿(mào)易案件審判白皮書(2020-2024)-上海二中院
- DB65∕T 8031-2024 高海拔地區(qū)民用建筑設(shè)計標準
- 2025年人社局工作考試題及答案
- 2026年山東力明科技職業(yè)學院單招職業(yè)技能考試題庫含答案詳解
- 2024年暨南大學馬克思主義基本原理概論期末考試題帶答案
- 2025內(nèi)蒙古能源集團智慧運維公司社會招聘(105人)筆試參考題庫附帶答案詳解(3卷)
評論
0/150
提交評論