LLM大语言模型自动化测试脚本(含容错 + 断点续跑 + 重试 + 图表 + HTML报告)

7 阅读3分钟

针对LLM大语言模型知识库平台、RAG 检索增强生成、情感分析与语气交互等模块逐步落地,传统人工测试已无法满足高频迭代、大规模用例验证的需求。人工构造用例效率低、执行耗时长、结果评判主观性强,且在接口不稳定、服务偶发超时、中途断连等场景下,难以保证测试连续性与数据完整性。

为实现标准化、自动化、可复现、可追溯的大模型功能测评,本项目构建一套完整的 LLM 自动化测试体系:通过大模型自动生成高覆盖测试用例,批量调用模型接口完成对话与检索实测,支持接口异常容错、失败自动重试、断点续跑避免重复执行,自动完成预期与实际结果比对,并统一统计指标、生成可视化图表与正式测试报告,最终实现从用例生成→执行→评判→报告的全流程无人值守自动化,大幅提升大模型模块测试效率与交付可信度

一、项目目录结构

llm_auto_test/
├── llm_test_template.xlsx    # 固定Excel用例模板
├── 01_generate_cases.py      # 生成测试用例并写入Excel
├── 02_run_test.py            # 调用接口+容错+断点续跑+失败重试
├── 03_compare_result.py      # 预期与实际结果对比
├── 04_gen_report.py          # 生成MD+HTML报告+可视化图表
├── run_all.py                # 一键启动全流程
├── requirements.txt          # 依赖包清单
└── reports/                  # 报告、图表、日志输出目录
    ├── logs/
    ├── md_report/
    ├── html_report/
    └── charts/

二、依赖包(requirements.txt)

pandas==2.2.1
openpyxl==3.1.2
requests==2.31.0
matplotlib==3.8.3
jinja2==3.1.3
logging
time
json
subprocess

安装命令:pip install -r requirements.txt

三、Excel 模板(llm_test_template.xlsx)

Sheet1:rag_test_cases(RAG 测试用例模板)

用例 ID问题知识库分类预期检索关键词预期是否有答案预期回答要点
财务 / HR / 行政 / 产品 / 无是 / 否

Sheet2:emotion_test_cases(情感语气测试用例模板)

用例 ID用户文本预期情绪预期语气预期回答关键词
正向 / 负向 / 中性专业 / 安抚 / 友好 / 温和

四、完整脚本代码

  1. 01_generate_cases.py(生成测试用例) code.juejin.cn/api/raw/762…

  2. 02_run_test.py(接口调用 + 容错 + 断点续跑 + 失败重试) code.juejin.cn/api/raw/762…

  3. 03_compare_result.py(结果对比)
    code.juejin.cn/api/raw/762…

  4. 04_gen_report.py(生成报告+图表)
    code.juejin.cn/api/raw/762…

  5. run_all.py(一键全流程启动)
    code.juejin.cn/api/raw/762…

五、核心功能说明

1. 容错机制

  • 接口超时、连接失败、服务宕机均有对应异常标记,不会中断脚本
  • 失败用例自动重试 2 次,最大程度避免偶然异常导致测试失败

2. 断点续跑

  • 首次执行全量用例,中途断开后再次执行,自动跳过已完成用例
  • 从断点处继续执行,无需重复测试,节省时间

3. 自动化全流程

  • 一键启动,自动完成用例生成→接口测试→结果对比→报告生成
  • 无需人工干预,所有结果、日志、报告、图表自动保存

4. 多格式报告

  • 生成 MD 格式报告(适配掘金、文档编写)
  • 生成 HTML 格式可视化报告(带图表,更直观)
  • 自动生成饼图、柱状图,展示测试结果

5. 可追溯性

  • 所有操作、异常、执行结果写入日志,方便排查问题
  • 每一步生成对应 Excel 文件,数据可追溯

六、使用方法

  1. 配置模型接口地址:修改所有脚本中url="http://127.0.0.1:8000/chat"为实际接口地址
  2. 安装依赖:pip install -r requirements.txt
  3. 启动模型服务,确保接口可正常调用
  4. 一键执行:python run_all.py
  5. 查看结果:所有报告、图表、日志在./reports/目录下

七、断点续跑使用

若测试中途服务断开、脚本终止,无需修改任何代码,直接重新执行python run_all.pypython 02_run_test.py,脚本会自动识别已完成用例,从断点继续执行。