AGI全栈开发课件 第11章 软件测试-AGI智能体项目测试_第1页
AGI全栈开发课件 第11章 软件测试-AGI智能体项目测试_第2页
AGI全栈开发课件 第11章 软件测试-AGI智能体项目测试_第3页
AGI全栈开发课件 第11章 软件测试-AGI智能体项目测试_第4页
AGI全栈开发课件 第11章 软件测试-AGI智能体项目测试_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第11章

AGI智能体项目测试“把重复的用例编写交给AGI,

把质量的深层洞察留给自己”——让测试不再是负担,而是产品信心的源泉。理

:明确单元测试(针对SDK类)与端对端测试(针对功能页)在保障系统稳定性中的核心价值。掌握技能:●

使

用Jasmine/Karma

编写FmodeChatCompletion类的单元测试。●

使用Cypress

编写门诊智能体的E2E交互测试。素

:坚持“零缺陷”标准,树立技术向善伦理观,规避数据偏见。学习目标系统梳理单元与端到端测试方法,形成AG

项目质量闭环提出"AG生成+工程师审阅“模式,测试代码产出

效率提升50%强调测试数据伦理与公平性,为后续部署运维奠定质量基础基于Cypress实现门诊智能体完整问诊流程自动

化验证模拟高尿酸血症患者五轮对话,检查阶段标记与响应正确性覆盖页面加载、按钮交互、消息发送、保存关闭全链路cyvisit进入Pagelnquery,断言“开始问诊”可见且

可点击逐轮type问题并回车,断言返回含[导诊完成]问诊完成]等标记使用cyintercept

等待后端响应,防止网络抖动导

致断言提前截图对比:每轮结束自动截屏,与基准图Diff超过1%标红添加data-cy属性隔离DOM,防止样式变动导致选择器失效AGI自动生成Cypress脚本骨架,人类微调选择器与等待时间端到端发现流程断裂,反向推动前端状态管理优

化测试数据脱敏处理,避免真实患者信息流入C

环境完成FmodeChatCompletion与AgentStory类全覆盖测试,确保逻辑正确验证文本生成、分块、向量、保存等核心功能符合预期为集成测试提供稳定基线,降低后续定位成本Jasmine+Karma

搭建Angular测试环境,ng

test—

键执行spyOn模拟fetch

与Observable,控

制Al返回内容避免随机失败逐函数断言:初始化、流解析、错误处理、向量相似度计算AgentStory

mock

CloudApi保存,验证分块、

embedding、

哈希逻辑测试报告输出覆盖率,低于80%自动标红并生成

增量用例AGI十分钟生成用例模板,工程师补充业务边界

与异常场景A输出不固定导致断言失败,改用关键词包含而

非全等判断单元测试通过后方可合入主干,形成质量门禁第一关第11章软件测试一AGI

智能体项目测试项目二:端对端测试

项目一:单元测试本章小结项目目标项目实施项目思考项目目标-项目实施项目思考知识图谱:目录

CONTENTS端对端测试单元测试AGI与工程师的协作本章小结与习题13单元测试

1

单元测试概述单

试(UnitTest)1

.

定义:针对软件中最小可测试单元

(如类、方法)进行验证。2

.

值:快速发现逻辑错误,确保模

块功能的独立性与正确性。3

.

工具:Jasmine(断言库)+Karma

(运

行器)。测试对象FmodeChatCompletion:文本生成类●重点:构造函数、API

请求、流式解析。AgentStory:知识库故事类●重点:文档加载、分割、向量化、元数据保存。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

响应。2.

验证:检查contentBuffer

是否

正确累积,isCompleted

是否置

true。 FmodeChatCompletion测试实现测试

FmodeChatCompletion

类}});

});Mock

依赖代码it('should

save

document

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

静态方法CloudApi.savespyOn(CloudApi,'save').and.returnValue(Promise.resolve(true));await

story.save();//验证是否被调用expect(CloudApi.save).toHaveBeenCalled();测试用例清单1.

口实例创建(shouldcreateinstance)2.

□文档加载(should

load

content)3.

□文本分割(should

split

content)4.

口向量生成(shouldgenerate

embeddings)5.

口相似度计算(shouldcalccosine) AgentStory

测试实现});Karma

果>ng

testFmodeChatCompletion√should

initialize

with

correct

properties

√should

parse

chunk

to

JSON

correctlyAgentStory√shouldsplit

document

content√shouldcalculate

cosine

similaritySummary:10tests

passed(10total)常见问题与修复1

.

问题:AI

生成内容不固定导致expect

失败

。2.对策:修改Prompt为定式指令(如“请

输出:Fmode”),或仅验证返回数据

类型而非具体内容。

测试结果分析2端对端测试

端对端测试概述端对端测试

(E2E

Testing)患者:“关节疼”Al:“[导诊完成]”患者:“吃海鲜”Al:“[问诊完成]”核

念:

模拟真实用户操作,验证整个应用链路

(UI->逻辑

-

>数据)。Step

3:模拟多轮对话(高尿酸血症案例)Step

2:点击“开始问诊”Step

4:验证处方生成Step

1:

访问页面Cypress测试脚本实现describe(门诊智能体功能测试',()=>{beforeEach(()=>{cy.visit('/page-inquery');});it('模拟完整问诊流程',()=>{

cy.contains('开始问诊').click();

//1.

轮对话cy.get('input').type

(脚趾关节疼{enter}');cy.get('.message').last().should('contain','[导诊完成]');//2.第二轮对话cy.get('input').type('最近吃了很多海鲜{enter}');cy.get('.message').last().should('contain','[问诊完成]');});});

Cypress

测试用例编写

E2E

测试运行演示Chat

示示例:门诊智能体示例(ChatPanel

组件

)1.检查到异常项是尿酸,650

μmol/L2.关节正常感谢您提供的检查结果。根探您的尿酸水平(650μmol/L)

,这明显高于正常范围,结合您脚踩关节疼痛和肿胀的庭状,可以初步诊断为幽风是由于体内尿酸过高,导致尿酸结晶沉积在关节中,引发疼痛和

炎症,接下来,我会为您制定一个治疗方案。1.

药物治疗:○非骗体抗炎药(NSAIDS);如布洛芬(lbuprofen)

或恭普生(Naproxen),

以缓解疼痛和炎症。降尿酸药物:如别禁醇(Allopurinol),

帮助降低尿酸2.生活方式建议:避免高嘌岭食物(如海鲜、红肉,酒精等)。○多喝水。保持充足的水分摄入,有助于尿酸代。3.定期复查:建议定期检查尿酸水平,监则治疗效果。请根据以上方案进行治疗,并遵循生活方式的建议。如有任何不适或

疑问,请及时与我联系。希望您早日康复!处方完成28/12/2417:04门诊页Step

1[开始问诊][关键指标]100%聊天页Step

2对话交互处方页诊断匹配耗时:<15s

覆盖率:Step

3AGI

与工程师的协作

3

角色思考

AGI与工程师AGI

的价值1

.

生成基建:快速生成Jasmine/Cypress的测试骨架代码。2.

规范统

:生成的测试用例结

构一致,易于维护。3

.

场景覆盖:自动生成多种边界

条件测试数据。工程师的价值1

.

业务逻辑:定义核心测试场景

(如高尿酸血症的具体症状)。2.

问题定位:当测试失败时(如

异步超时、Mock

)

,

深度排查。3.

情感把控:验证AI

回复的语

气是否符合“医生”的人设。本章小结与习题4

总结与思考单元测试(Unit)1.

使用

Jasmine

对Fmod

eChatCompletion和Ag

entStory

进行了细粒度

验证。2.

掌握了SpyOn

模拟API和依赖的方法。0

1端对端测试(E2E)1

.

使用Cypress

模拟

了完整的医患对话流

程。2

.验证了从“页面加载”

到“处方生成”的全链

路功能。02质量意识1.

确立了自动化测试在

AGI

项目中的核心地位。2.

理解了“零缺陷”的交付

标准。课后习题1在软件测试中,AGI

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

B.

确保测试的准确性C.提供测试用例D.以上都是2

在单元测试中,以下哪种方法用于模拟依赖?

(

)A.spyOn

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论