浏览 AI 知识库

文件上传接口怎么测试:同时覆盖分页、重试和超时

文件上传接口在 1MB 图片上成功,不代表能处理真实的大文件、弱网和自动重试。测试要同时看大小边界、超时、幂等和分页终止。

按实际操作顺序推进

每完成一段就检查当前输出,确认结果符合预期后再继续。

  1. 01准备动手前,把材料和不能改的部分定下来
  2. 02执行一次上传流程要分别验证 413、429、超时和取消
  3. 03检查为什么“HTTP 返回成功,文件仍不可用”还不能交付
  4. 04完成边界用例与接口测试表通过哪些检查才算完成
从手头这一份材料开始

小文件上传正常,80MB 文件为什么会保存两份

1MB 图片上传成功,真实 80MB 文件在弱网下超时;客户端自动重试后服务端保存了两个对象。分页接口最后一页为空时又陷入循环。

  • 大小、类型、网络和重复边界已覆盖
  • 分页有明确终止条件
  • 上传结果通过哈希与对象数验证
本例材料

动手前,把材料和不能改的部分定下来

需要确认本例内容
现有材料上传上限 100MB、超时 60 秒、支持幂等键;列表接口每页 50 条;测试环境可模拟断网和 429。
不能越过的边界覆盖边界大小、类型、重试、超时、重复与分页终止;不使用真实敏感文件;记录服务端对象数。
要交付的结果边界用例与接口测试表
实际操作

文件上传接口怎么测试,从“文件上传”开始做

文件上传

格式、大小、分片、校验和、重复文件、恶意内容和存储失败。

  • 核对结果:拒绝原因明确,部分文件不伪装全成功

分页

排序稳定、游标或页码、空页、末页、新增删除并发。

  • 核对结果:遍历无重复无遗漏,终止条件可靠

重试

只对适合的瞬时失败重试,设置次数、退避和幂等键。

  • 核对结果:写操作不会因重试重复创建或扣费

超时与取消

连接、读取、整体任务和上游超时分别处理,支持客户端取消。

  • 核对结果:资源释放,用户知道是否已产生副作用

观测

请求 ID、批次、状态、耗时和错误层可关联。

  • 核对结果:失败能从日志定位,不记录敏感正文
接口故障注入

一次上传流程要分别验证 413、429、超时和取消

场景输入/故障预期输出日志证据
大文件28 MB,限制 20 MB明确 413,不创建半成品请求 ID、大小和拒绝原因
重复提交同一幂等键重试两次只生成一个对象幂等键和最终对象 ID
慢上游上游 30 秒无响应按退避重试或可取消连接/读取/整体超时层
中途取消客户端在处理中断开资源释放,状态可查询任务状态和清理记录

状态码和限制值为示例;实际以服务契约、客户端和上游限制为准。

最终输出

完成后的边界用例与接口测试表

测试表覆盖 0B、1B、99MB、100MB、101MB、错误 MIME、中断恢复和同幂等键重试。80MB 弱网首次超时后重试只生成一个对象;分页在 next_cursor 为空时停止,末页 13 条。

常见失败

为什么“HTTP 返回成功,文件仍不可用”还不能交付

HTTP 返回成功,文件仍不可用

原因
只检查状态码,没有校验哈希、大小和可下载性
怎么改
上传后重新下载并比较哈希,清理测试对象并记录
验收方式

边界用例与接口测试表通过哪些检查才算完成

进一步核对

后端与数据:参考资料与核对入口