1、测无止境 数智共进2024全球软件测试技术峰会北京 12月LogRAG 增强LLM使能测试诊断演讲人:胡应广2024年12月07日姓名:胡应广华为 GTS产品线高级工程师华为ICT软件测试工程与自动化专家,10年以上云原生软件测试开发相关工作经验,目前主要负责GTS产品线大模型应用评测系统的构建和AI辅助研发质效提升项目探索与实践。目 录CONTENTS1.背景介绍2.问题与挑战3.解决思路与方案4.具体实现与技术实践5.总结与展望背景介绍PART 01产品知识GTS GDE(General Digital Engine)平台,是华为面向电信领域统一数字化使能平台,提供给业务“平台+智能+敏捷
2、”的通用引擎,支撑运营商和企业实现能力开放、敏捷创新、网络智能。GDE官网:https:/研发版本自动化测试现状随着业务持续发展,测试用例规模越来越庞大,每天海量的自动化用例运行,存在大量的失败用例需要人工定位分析,失败用例分析愈发成为产品版本测试作业的高能耗点和短板。自动化测试流程与耗时统计出包安装 编译出包 环境安装失败用例定位分析 查看执行机日志 失败的步骤检查 响应码检查 响应内容检查 进行问题复现 重新执行用例,对比正常执行日志进行初步诊断问题处理 检查环境信息 检查用例相关服务状态和环境配置是否正常 版本问题提单跟踪 用例问题修复用例 环境问题修复环境 分析业务日志 登录节点查看业
3、务日志,进一步分析根因用例执行 测试数据预置 自动化用例执行小时级小时级xx人天(用例规模10w+、失败用例千级)x人天多流水线并行产品自动化测试用例规模庞大,执行频度高,全量执行一次失败用例多,全部依赖人工投入分析效率低、工作量大,交付周期长,无法满足业务诉求;即使把自动化用例通过率提升到99%以上,每天仍然有上千个失败用例需要人工分析,按照现有效率计算仍需要投入数人天的工作量。业务现状与痛点分析问题与挑战PART 02测试失败分析主要瓶颈点2.人工分析效率低1.日志获取困难3.相同问题重复分析业务环境集群化部署且组网复杂,日志分散在不同的节点容器上,人工获取用例执行日志困难自动化测试脚本并
4、行执行,无法准确区分失败用例对应的服务日志产品框架复杂,测试脚本失败影响因素多,人工分析效率低、周期长人工分析历史经验无法很好的继承和复用同一批次相同/相似失败测试脚本重复分析相同版本跨测试环境相同/相似失败测试脚本重复分析测试脚本历史失败相同/相似问题重复分析解决思路与方案PART 03关键问题解决思路1.日志获取困难解决思路:自动获取测试脚本AW和业务日志1)服务代码集成调用链框架,接口间调用通过APIFabric请求路由时增加traceid并透传,后台日志内容增加traceid信息2)测试脚本接口请求失败,可以通过请求所携带的traceid信息找到接口调用链日志以及该请求后台服务详细日志
5、内容2.相同问题重复分析解决思路:通过日志特征语义聚类进行去重1)通过聚类算法进行特征聚类和问题去重,避免同一批次相同/相似失败测试脚本重复分析2)构建已知问题根因向量知识库,通过语义相似检索召回历史相似失败问题根因,避免历史相同问题重复分析3.人工分析效率低解决思路:引入LLM替代人工进行测试诊断1)通过大模型外挂领域向量知识库,增强LLM进行测试脚本日志解析能力2)构建日志特征和问题根因因果关系知识图谱(KGs),通过RAG技术增强LLM对失败日志根因推理性能整体方案框架典型问题案例库专家规则库失败日志特征聚类失败日志解析知识库(RAG)服务层存量问题已知根因知识库失败日志解析Prompt
6、模板问题根因推理Prompt模板(Knowledge Graph Augmented LLM)失败日志预处理(降噪)失败重试日志 等待时间日志 日期、时间戳 超长的HTML Body体 无用的请求Header 超Token长度裁剪 资产层Prompt Engineering日志采集日志模板特征提取日志处理引擎失败问题根因联合诊断应用层对接自动化测试流水线测试作业平台历史相似问题检索失败分析Copilot模型评估23知识图谱(KGs)4华为盘古大模型失败日志/问题根因QA-SFT模型层LLM华为盘古-S大模型Embedding Model聚类模型1具体实现与技术实践PART 04日志采集和清洗日