1. 项目概述
1.1 业务介绍
业务背景
在传统财务流程中,员工报销需要手动填写报销单,财务人员需要人工审核和录入凭证(发票、收据、付款截图等),这一过程耗时、易出错且占用大量人力。
业务目标
本工具(v1.0)旨在通过AI技术自动识别报销凭证,一键生成Excel报表,解决报销流程中的核心痛点。
用户层面 (员工/财务):
效率提升: 极大缩短凭证信息录入时间,从“手动打字”变为“上传即得”。
降低错误率: 减少因人工录入导致的数据错误(如金额、日期)。
体验优化: 简化报销流程,提供“一键式”的便捷操作。
业务层面 (公司):
降本增效: 释放财务人力,使其专注于更高价值的审核与分析工作。
流程标准化: 统一报销数据的出口格式(Excel),便于后续的BI分析与归档。
数据指标
核心识别准确率 (关键字段): 98%(针对金额
、日期
、发票号码
)。
综合识别准确率 (所有字段): 95% (针对商户名称
、商品类目
等)。
处理耗时 (单张): 5秒(从上传完成到识别结果返回)。
Excel导出成功率: %100。
核心用户场景
场景1: 员工小张本周有3张出租车票和2张餐饮发票,他通过工具批量上传这5张图片,工具自动识别后,他一键导出Excel报销单。
场景2: 财务小李收到10个不同员工的报销申请,包含PDF发票、微信支付截图、纸质收据照片,她分批将这些凭证导入工具,快速生成结构化数据进行核对。
1.2 架构介绍
架构的核心在于应用服务与第三方 AI 服务之间的API交互。
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ 客户端层 │ │ 应用服务层 (我方) │ │ 外部AI服务层 │
│ │ │ │ │ (第三方/黑盒) │
│ • Web浏览器 │◄──►│ • API网关 │◄──►│ • AI模型API │
└─────────────────┘ │ • 文件上传服务 │ │ (提供OCR/NLP) │
│ • 任务队列 (Kafka)│ │ │
│ • Excel生成服务 │ │ │
│ • 状态管理服务 │ │ │
└──────────────────┘ └─────────────────┘
▼
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ 数据层 (我方) │ │ 第三方依赖 (其他) │ │ 运维支撑层 (我方) │
│ │ │ │ │ │
│ • 对象存储(OSS/S3)│ │ • 第三方合规 │ │ • 监控告警 (重点) │
│ • Redis (缓存/队列)│ │ 接口 │ │ • 日志分析 │
│ • MySQL (任务记录) │ │ │ │ │
└─────────────────┘ └──────────────────┘ └─────────────────┘
核心服务模块 (我方)
文件上传服务: 处理凭证接收、预处理、并将其安全地发送给外部AI服务。
AI 集成模块: 负责调用外部AI API,处理API的请求、响应、超时和错误。
Excel生成服务: 将AI服务返回的结构化数据(如JSON)转换为特定格式的Excel文件。
1.3 功能简介
本次测试针对"AI自动识别报销小工具"v1.0的核心功能,支持用户:
-
上传凭证文件: 支持拖拽或点击上传(图片格式)。
-
AI 智能识别: 点击按钮触发后台AI处理。
-
导出Excel报表: 将识别结果一键下载为Excel文件。
1.4 测试背景与目标
测试背景: v1.0全新上线,核心风险在于外部 AI 服务的识别准确率是否满足业务需求,以及我们系统与AI服务集成的稳定性。
测试目标:
准确性验证: 验证端到端(上传-识别-导出)对主流凭证的识别准确率达标。
流程打通: 保障“上传 → 识别 → 导出”核心链路100%跑通。
健壮性验证: 验证系统在AI 服务异常(如超时、报错、返回格式错误)时的处理能力。
2. 诊断与分析
2.1 5W2H分析
td {white-space:nowrap;border:0.5pt solid #dee0e3;font-size:10pt;font-style:normal;font-weight:normal;vertical-align:middle;word-break:normal;word-wrap:normal;}维度(Dimension) | 分析结果(Analysis Result) |
---|---|
WHAT(测试内容) | 测试系统与外部 AI 服务的 API 集成、数据处理流程、端到端识别准确率以及异常处理。 |
WHY(测试目的) | 确保工具能真正提效。AI 服务的任何错误或抖动都不能导致我方系统崩溃或产生错误数据(尤其是金额)。 |
WHO(参与人员) | 测试团队(2 人),负责 AI 集成的开发(1 人),产品(1 人)。 |
WHEN(测试时间) | 10.13 - 10.26。 |
WHERE(测试环境) | 测试环境、预发环境(连接 AI 服务的测试 / 沙箱账号)。 |
HOW(测试方法) | 以功能测试(黑盒准确性 + API 集成)为主,辅以性能测试、兼容性测试和易用性测试。 |
HOW MUCH(资源投入) | 投入 2 人 ×10 天,准备至少 500 份不同类型的测试凭证。 |
2.2 SWOT分析
优势(S):
业务流程清晰(上传-识别-导出),用户痛点明确。
无需关心底层算法,可专注应用层测试。
劣势(W):
依赖外部 AI 服务(黑盒): 无法预知其所有弱点;当识别出错时,我方无法自行修复。
测试数据稀缺: 仍极度依赖海量、多样、高质量的“黄金测试集”来评估这个黑盒。
机会(O):
建立公司内部的“AI测试黄金数据集”,成为未来评估或更换AI服务商的基准。
沉淀AI 应用集成的测试方法论(健壮性、API异常模拟)。
威胁(T):
AI 服务泛化能力: 外部AI服务可能未针对我司业务(如特定国家的、手写的)凭证进行优化。
AI 服务 SLA : 依赖第三方服务的稳定性(SLA),其抖动、延迟或停机会直接影响我方功能。
服务成本: 性能测试或大量测试可能产生高额的API调用费用。
API 变更: 外部AI服务商可能变更API,导致我方集成失效。
2.3 质量挑战识别
-
端到端准确性: 如何度量和验证外部AI模型的识别准确率?
-
泛化能力(覆盖度): 外部模型是否能处理我司业务所需的多样性凭证?
-
集成健壮性: 当AI服务超时、返回500错误、返回空值或返回错误JSON格式时,我方系统如何优雅处理?
-
性能: AI服务API的响应时延是否满足我方业务对“处理耗时”的要求?
3. 测试策略
3.1 功能测试策略
A. 黄金测试集 (Ground Truth Testing) - 验证准确性
目的: 验证AI服务结合我方业务流程后,最终的端到端准确率。
准备: 准备一个包含至少200张不同类型、不同质量凭证的测试集,并为每一张图片手动标注正确的字段值(即“标准答案”)。
执行: 将黄金测试集输入工具,批量导出结果。
度量: 编写脚本对比“AI识别结果”和“标准答案”,计算:
*字段准确率 = (识别正确的字段数 / 总字段数)* 100%
(重点关注金额
、日期
)
*凭证准确率 = (所有字段均识别正确的凭证数 / 总凭证数)* 100%
B. 等价类与边界值 - 验证流程
文件类型: JPG
、PNG
、PDF
(单页)
凭证类型: 增值税专票、增值税普票、出租车票、火车票、机票行程单、定额发票、微信支付截图、支付宝支付截图、纸质收据
图片质量: 清晰(原图)、模糊(对焦不准)、暗光(亮度低)、倾斜(>15°)、褶皱、手写(金额或备注)、有遮挡(手指)
文件大小: 1KB(极小)、10MB(常规最大)、10.1MB(超限)
文件数量: 1张(单张)、20张(批量上限)、21张(超限)
C. API 集成 健壮性测试
目的: 验证我方系统在AI服务“不配合”的情况下的反应。
方法: 使用Mock工具或在代码中注入模拟,模拟 AI API 的各种异常返回,测试我方系统的处理逻辑。
测试场景:
服务超时: 模拟AI API 30秒未返回。
服务错误: 模拟AI API 返回 HTTP 500
、HTTP 503
(服务不可用)。
认证错误: 模拟AI API 返回 HTTP 401/403
(我方API Key错误)。
业务错误: 模拟AI API 返回 HTTP 400
(如图片格式不支持)。
返回格式错误:
返回非JSON字符串(如HTML)。
返回合法JSON,但缺少关键字段(如amount
字段)。
返回合法JSON,但字段 值类型 错误(如amount
返回"一百元"
而不是100.00
)。
无法识别: 模拟AI API返回空值或“无法识别”的特定代码。
预期结果: 在上述所有场景中,我方系统均不能崩溃。应向用户显示清晰、友好的错误提示(如:“AI服务繁忙,请稍后重试”、“无法识别此图片”),并记入详细日志。
3.2 兼容性测试策略
浏览器: Chrome(最新)、Firefox(最新)、Edge(最新)。
操作系统 : Windows 10/11。
分辨率: 1920x1080、1440x900。
3.3 性能测试策略
指标:
端到端耗时: 用户点击“开始识别”到“结果返回”的总时长(包含了文件上传、AI处理、我方处理)。
并发: 10个用户同时上传10张图片,系统的端到端成功率。
关注点:
外部AI API的响应时延。
成本控制: 避免在压测中产生巨额API调用费。
3.4 安全测试策略
-
数据隐私(高度敏感):
-
凭证图片在传输到AI服务商的过程中是否加密(HTTPS)?
-
我方系统是否会持久化存储用户的原始凭证图片?如果存储,访问权限如何?
-
与AI服务商的合同中,是否规定了对方的数据使用和销毁策略?
-
文件上传漏洞: 验证是否可以上传恶意脚本文件。
-
3.5 易用性测试 (UX)
-
UI是否如效果图一样简洁明了?
-
拖拽上传的交互是否流畅?
-
“开始智能识别”按钮是否及时响应?处理过程是否有加载提示(Loading)?
-
导出Excel的提示是否清晰?
-
(v1.0可能没有)如果识别错误,用户是否有渠道进行修正或反馈?
4. 测试计划
4.1 测试范围与边界
In-Scope (包含):
v1.0核心功能:凭证上传、Excel导出。
与外部AI服务的API集成、数据收发、异常处理。
端到端的识别准确率评估(使用黄金集)。
Out-of-Scope (不包含):
AI 服务商的内部性能和安全性。
用户登录与鉴权系统(若v1.0不包含)。
历史报销单据的管理、审核流程。
4.2 时间进度与里程碑
第1周 (10.13-10.17):测试准备与核心功能
10.13-10.15: (关键任务)收集和标注“黄金测试集”(至少200份)。
10.14: 冒烟测试(环境、核心流程)。
10.15-10.17: 执行核心功能用例,执行“黄金测试集”并输出v1版端到端准确率报告。
第2周 (10.20-10.24):专项测试与回归
10.20-10.21: (关键任务)执行 API 集成 健壮性测试(Mock异常)。
10.22: 兼容性测试、易用性测试。
10.23: 性能测试(注意成本)。
10.24: 完整回归测试。
第3周初 (10.25-10.26):收尾
10.25: 验收测试。
10.26: 输出最终测试报告。
4.3 资源需求与分配
人力资源 :
测试负责人(1人):协调、计划、报告。
功能/集成测试工程师(2人):负责黄金集准备、用例执行、准确率度量、Mock测试。
环境资源:
测试服务器(1套)。
外部 AI 服务的API Key。
数据资源(最重要): 至少500份各类报销凭证用于测试。
5. 团队与能力
5.1 团队能力现状评估
技术栈(评分:6/10)
功能测试:熟练(8/10)
AI 集成测试:入门(3/10) (新领域)
API Mock测试:基础(4/10)
性能测试:基础(4/10)
工具链(评分:6/10)
测试管理:禅道/Jira(熟练)
API测试:Postman(熟练)
Mock工具:Postman Mock(基础)
5.2 能力差距分析
核心差距: 缺乏系统性测试“黑盒”AI应用集成的经验。
具体表现: 对如何设计健壮性Mock场景不熟练;对如何科学度量和分析端到端准确率报告缺乏经验。
5.3 改进路线图规划
短期(本项目内):
与负责集成的开发工程师紧密协作,理解API的数据契约和所有已知的AI服务错误码。
引入Python脚本(如Pandas)来自动对比Excel结果,实现准确率的自动化计算。
中期(1-3个月):
组织1-2次API Mock测试和健壮性测试的专项培训。
将“黄金测试集”和“准确率计算脚本”纳入CI,在AI服务商版本升级后,可快速回归验证。
6. 风险评估
6.1 主要风险识别
高风险项:
- 关键字段(金额)识别错误:
概率:中(AI黑盒总有局限)。
影响:严重(导致财务损失和用户不信任)。
- 外部 AI 服务稳定性/性能差:
概率:中(依赖第三方SLA)。
影响:高(AI服务超时或停机,导致我方核心功能不可用)。
中风险项:
- 测试数据不足/单一:
概率:高(短期难以收集大量凭证)。
影响:中(测试报告的准确率虚高,上线后口碑下跌)。
6.2 应对措施制定
风险1(金额错误):
预防: 设立单独的“金额字段”准确率指标,要求必须达到 99.9% 以上。
缓解:增加“人工审核/修正”界面。v1.0必须有清晰提示:“AI识别结果仅供参考,请务必核对金额”。
风险2(泛化能力差):
预防: 尽可能将我方收集到的多样化凭证(尤其是特定票据)提供给服务商,确认其是否支持。
缓解:在产品UI上明确标注“v1.0版本推荐使用xx、xx发票,其他类型识别率可能偏低”。
风险3( AI 服务稳定性):
预防:(开发)必须实现对AI API调用的超时、重试(仅限幂等操作)和熔断机制。
缓解:(测试)必须覆盖所有健壮性测试场景,确保我方应用在AI服务异常时有优雅降级和清晰提示。
风险4(数据不足):
预防:不仅用真实数据,还要用“数据增强”手段(如对清晰图片进行旋转、模糊、加噪点处理),扩充测试集。
7. 成功标准与交付物
7.1 测试完成标准
“黄金测试集”准确率:关键字段 >99%,综合字段 > 95%。
API 集成 健壮性测试 用例 100% 通过(系统不崩溃,有友好提示)。
核心流程用例 $$100$$ 通过。
发现的P0/P1级缺陷 $$100$$ 修复。
性能测试(端到端耗时)达标。
7.2 交付物清单
测试计划(本文档)
测试用例集(功能、健壮性、兼容性)
黄金测试数据集
缺陷分析报告
8. 总结
本测试方案聚焦于AI 集成的核心挑战,将重点从算法转向流程健壮性和端到端准确率。方案的成功执行强依赖于“黄金测试集”的质量和“API集成健壮性测试”的覆盖度。通过本次测试,我们将在保障功能上线的同时,建立起一套评估和验证第三方AI服务的标准流程。
方案制定: 测试团队
评审日期: 2025年10月18日
版本: v1.0