MTSC2025 第十四届中国互联网测试开发大会(上海站):AI生成单元测试用例-从手工到智能的测试革命_第1页
MTSC2025 第十四届中国互联网测试开发大会(上海站):AI生成单元测试用例-从手工到智能的测试革命_第2页
MTSC2025 第十四届中国互联网测试开发大会(上海站):AI生成单元测试用例-从手工到智能的测试革命_第3页
MTSC2025 第十四届中国互联网测试开发大会(上海站):AI生成单元测试用例-从手工到智能的测试革命_第4页
MTSC2025 第十四届中国互联网测试开发大会(上海站):AI生成单元测试用例-从手工到智能的测试革命_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

MTSC

2025中国互联网测试开发大会TESTINGSUMMIT

CONFERENCE

CHINA2025质

效革新

·智领未来2025/7/121

上海喜来登由由大酒店主办方:

TesterHeme上海站Al生成单元测试用例——从手工到智能的测试革命周文海

|

腾讯音乐娱乐集团(TME)质效革新

·

智领未来

主办方:TesterHeme中国互联网测试开发大会园TESTINGSUMMIT

CONFERENCE

CHINA2025站MTSC2025项目背景技术架构与案例分享实践效果常见问题与解决方案总结与展望目录CONTENTS0102030405MTSC2025中国互联网测试开发大会TESTING

SUMMIT

CONFERENCE

CHINA

2025质效革新

·

智领未来主办方:TesterHeme上

站PART01项目背景MTSC2025中国互联网测试开发大会TESTING

SUMMIT

CONFERENCE

CHINA

2025质效革新

·

智领未来主办方:TesterHeme上

站车载SDK

业务痛点

QQ音乐开发者平台3最佳实践4更新日志-V3.3.0-V3.2.3-V3.2.0-V3.1.10-V3.1.9-V3.1.4-V3.1.0

发布节奏快

质效革新

·

智领未来,

畅听QQ

音乐

就用QQ浏览器39东四环中路辅路11.9公里22分钟88

15:22到达播放场景复杂dependencies

{//添加gradle7.1.3

依赖(根据业务需求可升级)classpath

'com.android.tools.build:gradle:7.1.3'//添加sdk

openapi-sdk-gradle-plugin依赖,version请参考更新日志,获取最新版本号classpath"com.tencent.qqmusic.openapi:openapi-sdk-gradle-plugin:${version}"}}2

、在

module

的build.gradle

文件中应用

openapi-sdk

插件依赖:SDK

形式交付主办方:TesterHemeapplyplugin:'com.android.application'

//应用openapi-sdk

插件apply

plugin:'openapi-sdk'dependencies

{}MTSC2025中国互联网测试开发大会TESTING

SUMMIT

CONFERENCE

CHINA2025上海站维护困难○Al

生成单元测试是测试左移理念的规模化实践,通过大模型实现“代码即测试”的自动化闭环质效革新

·

智领未

主办方:TesterHeme高成本占用研发资源代码能力要求高易出错覆盖率低低成本快速生成低代码覆盖更全面格式统一易维护传统单元测试

vsAl生成单元测试传统手工单测AI生成单测MTSC2025中国互联网测试开发大会TESTINGSUMMIT

CONFERENCE

CHINA

2025上

站Al生成单测优势场景展示TestCase:

音频焦点被抢占,播放暂停Al补充用例场景:焦点丢失暂停

暂停

暂停

暂停MTSC2025中国互联网测试开发大会TESTING

SUMMIT

CONFERENCE

CHINA

2025发起播放申请音频焦点

→播放资源准备发起播放申请音频焦点创建播放器实例

发起播放质效革新

·

智领未来主办方:TesterHeme焦点丢失发起播放播放中播放结束播放中暂停上

站PART02技术架构与案例分享MTSC2025中国互联网测试开发大会TESTING

SUMMIT

CONFERENCE

CHINA

2025质效革新

·

智领未来主办方:TesterHeme上

站效果评估代码覆盖率

分支覆盖率

鲁棒性用例管理平台主办方:TesterHeme接口文档Prompt

工程Prompt

超长文本调优RAG多Query改写

增强检索Embedding-Query-Retriver-Reranker-Reader模型层评估层用例管理质效革新

·

智领未

来LLM腾讯混元编译通过率输入源前置处理检索增强代码片段数据去噪内部知识库测试用例

接口文档策略配置自定义策略

其他参数配置MTSC2025中国互联网测试开发大会TESTING

SUMMIT

CONFERENCE

CHINA

2025功能用例安全策略技术架构其他开源模型

兜底策略数据治理数据简化代码库上海站实施过程

1.

提示词工程角色+步骤+要求+示例+输出项优化Prompt,

提升大模型指令遵循度

3.

流程调优结合业务需求,对流程进行精细化调优优化AI输出准确率,单测覆盖率等2.业务知识库搭建单元测试用例示例,业务文档

构建知识图谱,让AI了解业务需求4.

持续集成与CI/CD流程结合

减少人工介入主办方:TesterHemeMTSC2025中国互联网测试开发大会TESTING

SUMMIT

CONFERENCE

CHINA

2025质效革新

·

智领未来上

站YES

是否超长

NO语义分块+代码分块设置锚点输出多轮对话Prompt

输出Prompt主办方:TesterHeme(角色)你是一名资深的软件开发测试工程

#

#

师步骤1-对测试代码内容进行代码分析步

2

-

XXXXXXX#

#要求1-用例标题test开头要求2

-xxxxxX#

##接口说明##测试代码#MTSC2025中国互联网测试开发大会Prompt

组装兼容超长TokenQueryPrompt

格式化组装1.

标准格式化2.精准描述3.

关键要求可在每次指令补充简短的指引4.

模型优势引导,代码生成方向5.关键要求从难到易提示词工程基础结构示例车载SDK

测试专家,擅长从代码中挖掘厂商定制化问题。质效革新

·

智领未来优化建议上

站业务知识库搭建业务知识库质效革新

·

智领未来播放功能用户身份权限管理本地数据其他内部依赖第三方依赖状态流基本逻辑MOCK

偏好框架偏好基础模块分类业务常识自定义逻辑文件结构与格式标准化个性化内容单独存储增加强专业性近义词关键词提取分类细致化MTSC2025中国互联网测试开发大会TESTING

SUMMIT

CONFERENCE

CHINA

2025主办方:TesterHeme上

站音质音效

三方API精准定位知识库内容

推导复杂场景链路业务知识库搭建:分类细致化帐号管理

上层接口中间逻辑层底层系统APIMTSC2025中国互联网测试开发大会TESTING

SUMMIT

CONFERENCE

CHINA

2025网络请求歌曲播放按构建层级关系分类按功能模块分类质效革新

·

智领未来主办方:TesterHeme上海站3.Embedding优化采用自研的lucy-Embedding-large

模型,在中英文混

合材料及大文本上

的处理能力上有显

著提升,适配项目1.数据处理多模态处理,支持多种格式输入,包括但

不限于代码块、图片、

pdf。Qpilot-code基于开源模型二次调优,具有更好的代码生成、中文问答能力。

支持64K长Token。结合关联上下文、重排/合并内容、低

分过滤、多轮对话

优化等方式,将召

回率提升至95%。RAG优化:

O

QPilot平台方案4.查询优化2.模型微调MTSC2025中国互联网测试开发大会质效革新

·

智领未来主办方:TesterHeme0301场景。上海站全流程自动化持续交付流水线Git提交至特定分支&执行00MTSC2025中国互联网测试开发大会TESTING

SUMMIT

CONFERENCE

CHINA

2025质效革新

·

智领未来主办方:TesterHemeAl大模型二次修复代码组装&审查缺陷自动提单生产测试报告本地运行校验AI单测大模型Prompt处理Git

MR提交发布上架风险管控数据处理上海站PART

03常见问题与解决方案MTSC2025中国互联网测试开发大会TESTING

SUMMIT

CONFERENCE

CHINA

2025质效革新

·

智领未来主办方:TesterHeme上

站代码覆盖率不足?

AI用例筛选、去重、管理?Al输出结果准确率低?MTSC2025中国互联网测试开发大会TESTING

SUMMIT

CONFERENCE

CHINA

2025Al输出的用例不足?02010403常见问题质效革新

·

智领未来主办方:TesterHeme上

站Prompt

精细化管理使用模块化控制,确保每个模块通过RAG召回的数据符

合预期,针对每个模块进行

调优处理,确保通用模块召

回准确率95%以上。针对不同的测试场景提前固化生产策略、测试框架、代码规范。例如:·

代码:代码分析工具·用例:引导关键信息提取·单测框架:Junit+MockkMTSC2025中国互联网测试开发大会TESTING

SUMMIT

CONFERENCE

CHINA

2025

增加样例使用Few-shot

prompt或增加输出模版,增强大模型对需求的理解。输出准确率提升固化场景质效革新

·

智领未来主办方:TesterHeme上海站Al输出用例不全为以下函数设计单元测试用例:override

fun

setPLayMode

(@PlayerEnums.Mode

a:Int):Int

{if

(MusicPlayerHelper.getInstance().

isRadi

oif

(a==Mode.LISTIla==Mode.ONE_NOT_REPEAT↓a==Mode.ONE){1/}

else

{return

PLAY

ERR

UNSUPPORT}}returnPlayerCommandDispatcher.pushCommand(commandName:

"***")MusicPlayerHelper.getInstance().

playMode

=aPLAY

ERR

NONE1.确定入参2.确定条件分支3.确定断言MTSC2025中国互联网测试开发大会TESTINGSUMMIT

CONFERENCE

CHINA

2025质效革新

·

智领未来主办方:TesterHeme上

站}结束根据历史用例学习用例设计规范,及准确断言方式主办方:TesterHeme结束

确认结果无编译报错质效革新

·

智领未来常规LLM

思维链:开始

分析代码逻辑优化后思维链:开始

分析代码逻辑根据函数调用

设计断言根据入参设计用例公共变量变更顺序多线程混合操作公共方法组合设计根据入参设计用例确定条件分支确定公共变量确定异步场景确定公共方法确定条件分支参数组合测试状态时序测试高并发测试命令交叉测试思维链优化:提升用例设计广度MTSC2025中国互联网测试开发大会TESTING

SUMMIT

CONFERENCE

CHINA

2025上海站车载场景专项优化:提升用例设计深

度定制化ROM模拟各车载的系统普遍存在Rom定制化开发,需要针对关键

ROM

API进行健壮性模拟测

试。车载的网络环境一般采用车企内部的网络架构,可能存

在个别网络协议不支持等问

题。车载场景区别于手机测试,需要考虑多输出源的场景,

每个输出源都需要进行参数

定制化。车载SDK

需要对接的厂商很多

,各个

使

Android

版本都需要兼容。Android版本覆盖网络环境模拟副驾场景MTSC2025中国互联网测试开发大会质效革新

·

智领未来主办方:TesterHeme上海站车载定制化ROM

场景案例android.content.ServiceConnection(主要用于本地管理、跨进程通信的基础API)正常情况下执行流程:bindService调用

系统创建服务

绑定回调可操作服务车载ROM

可能的场景:最终Mock的场景List//正常绑定成功arrayOf(

"Normal

bind

success",true,true,false,false),//绑定失败arrayOf(

"Bind

failed",false,true,false,false),//

无回调arrayOf(

"No

callback",true,false,false,false),//回调超时arrayOf(

"Callback

timeout",

true,true,true,false),//绑定过程抛出异常arrayOf(

"Bind

with

exception",false,true,false,true)主办方:TesterHome白名单管理策略内存优化策略严格的进程管理策略非内部白名单内存资源紧张系统资源紧张丢弃绑定请求延迟回调资源强制回收MTSC2025中国互联网测试开发大会TESTINGSUMMIT

CONFERENCE

CHINA

2025质效革新

·

智领未

来上

站用户操作:如歌单-播放失败是否成功成功异常记录正常记录立即上报抽样上报异常分析&持续监控用户路径解析Al单测用例生成复现用例生成输出用例SDK

接口OPI

接口OPI

接口描述渠道详情(Top3)总上报次数reportRecentPlayLongAudiofcg_music_custom_report_play_recently.fcg上报最近播放长音频338getOperationslnfo252fetchJustListenRankfcg_music_get_free_song_base.fcg获取免登录专区歌曲列表77fetchJustListenRadiofcg_music_custom_get_radio_list_free.fcg获取随便听听电台列表,返回用户可以免费听的电台列表38fetchCollectedSinger21fetchNewAlbumsByAreafcg_music_custom_get_new_album_area.fcg获取新碟(新专辑)推荐的地区分类信息17车载线上数据用例生成:结合真实场景补充用例客户端

Monitor

监控后台中国互联网测试开发大会TESTING

SUMMIT

CONFERENCE

CHINA

2025MTSC2025质效革新

·

智领未来主办方:TesterHeme上海站@ParameterizedTest@MethodSource("comm.UserAPImplLMethodSource.FetchGreenMemberInformationTests#apiResponses")fun'test

fetchGreenMemberInformation

with

parameters`(case:comm.Case){//假设存在Login

方法,进行登录态注入

缺少前置条件注入信息Login(case.login)//准备模拟响应val

mockResponse=JsonResponse(GsonHelper.toJsonObj(case.input))//Mock

网络请求mockkObject(NetworkClient::

class

)coEvery{...}returns

mockResponse//执行测试userAPIImpl

.fetchGreenMemberInformation{resp

->//验证响应assertTrue(resp.isSuccess())when(case.

expected

){//假设存在isVip

可以判断VipType

缺少断言信息VipType.SUPER_VIP->assertTrue(resp.

data?.isVip()==

true)VipType.NONE

->assertTrue(resp.data?.isVip()==false)else

->fail(message

:

"Unexpected

vip

type")关键数据缺失·隔离依赖:引导通过Mock

方式来

完成依赖隔离。·补充样例:补充相似的通用能力注入样例

。·补充需求文档:

结合接口文档,

确认断言方法。单测覆盖率提升:关键数据补充MTSC2025中国互联网测试开发大会TESTINGSUMMIT

CONFERENCE

CHINA

2025质效革新

·

智领未

来主办方:TesterHeme上

站单测覆盖率提升:异步场景处理MTSC2025中国互联网测试开发大会TESTING

SUMMIT

CONFERENCE

CHINA2025overridefunsetPlayMode(@PlayerEnums.Modea:Int):Int{if

(MusicPlayerHelper.getInstance().isRadio){if(a==Mode.LISTIla==Mode.

ONE_NOT_REPEATIla

==Mode.ONE){//}

else

{return

PLAY

ERR

UNSUPPORTreturn

PlayerCommandDispatcherl.pushCommand(commandName:"***"){异步场景处理:

引入事件溯源机制—精准验证异步指令生命周期、操作时序,便于验证最终一致性。质效革新

·

智领未来

主办方:TesterHemeMusicPlayerHelper.getInstance().PLAY

ERR

NONEplayMode

=a异步赋值上海站播放流程登录流程系统交互定位应用交互通知AndroidTest负责各模块流程畅通,保障函数/应用之间扭转稳定。主办方:TesterHeme状态时序并发Unittest负责处理单个函数的异常逻辑分支,保障函数内部逻辑自洽。质效革新

·

智领未来单测覆盖率提升:

AndroidTest

补充覆盖UnittestAndroidTestMTSC2025中国互联网测试开发大会TESTING

SUMMIT

CONFERENCE

CHINA2025自动化异常触发等价类边界值参数组合异常分支上

站Al单测用例一结构化数据一

数据查重

数据脱敏

待执行队列

用例库生成……

…AI模型再训练…

…用例管理平台CI/CD流程参数化框架执行

→结果评估分析

代码集成@ValueSource(ints={1,2,3

void

testWithValueSource

(int})argument){assertTrue

(argument

>0

&&argument<4);}用例数量爆炸式增长MTSC2025中国互联网测试开发大会TESTING

SUMMIT

CONFERENCE

CHINA

2025质效革新

·

智领未

来主办方:TesterHeme参数化测试用例管理@ParameterizedTest拉取用例上海站m45PART04效果展示MTSC2025中国互联网测试开发大会TESTING

SUMMIT

CONFERENCE

CHINA

2025质效革新

·

智领未来主办方:TesterHeme上

温馨提示

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

评论

0/150

提交评论