📤 软件测试面试:图片上传功能测试
核心思路:先验证正常功能可用性,再覆盖异常 / 边界场景,最后防范性能 / 安全风险,全维度确保上传功能稳定可靠。
🎯 一、功能测试(核心重点)
✅ 正常上传场景
- 格式合规:JPG/PNG/GIF 等预期支持格式,上传后预览、存储、访问正常;
- 大小合规:上传≤最大限制(如 5MB)的图片,无卡顿、成功落地;
- 批量上传:按需求验证单张 / 多张(如最多 10 张)上传,顺序 / 结果无误;
- 特殊格式:WebP/SVG/ 透明背景 PNG、带水印图片,按产品需求验证是否支持。
❌ 异常上传场景
- 格式非法:上传 TXT/EXE/MP4 等非图片格式,提示 “仅支持 JPG/PNG/GIF 格式”;
- 大小超限:上传>限制(如 6MB)的图片,提示 “图片大小不能超过 5MB”;
- 无效文件:损坏图片(后缀篡改、文件不完整)、空文件,上传失败且提示清晰;
- 重复上传:相同名称 / 内容的图片,验证 “覆盖原文件 / 自动重命名(xxx_1.jpg)/ 提示重复” 逻辑。
🔌 二、兼容性测试
- 💻 设备兼容:PC 端(Chrome/Firefox/Edge)、移动端(iOS/Android 浏览器 / APP)均能正常上传;
- 🖥️ 系统兼容:Windows/Mac/iOS/Android 不同系统,无格式解析、路径存储差异;
- 🌐 浏览器兼容:不同浏览器对特殊格式(如 WebP)、大文件的支持一致性。
⚡ 三、性能测试
- 📶 网络适配:WiFi/4G/5G / 弱网(卡顿 / 延迟)下,上传速度合理、无超时;
- 🌪️ 并发上传:多用户(如 100 人)同时上传,服务器无崩溃、无数据丢失;
- 📦 大文件上传:接近最大限制(如 4.9MB)的图片,上传稳定、进度条显示准确;
- 🔄 断点续传:上传中断网 / 刷新页面 / 关闭窗口,重连后能否恢复上传进度。
🎨 四、UI / 交互测试
- 按钮交互:上传按钮样式正常、点击触发文件选择,禁用状态(如未登录)不可点击;
- 进度提示:上传中显示进度条 / 百分比,支持暂停、取消上传(取消后清理临时文件);
- 预览交互:上传后显示缩略图,点击可查看原图,支持删除已上传图片;
- 状态反馈:成功 / 失败 / 上传中,文案 + 图标提示清晰(如绿色对勾、红色感叹号)。
🛡️ 五、安全测试
- 🔍 文件名注入:上传含特殊字符(/ \ : * ? " < > |)的图片,验证是否自动过滤 / 重命名;
- 🦠 恶意文件:上传伪装成图片的病毒文件(如.jpg 后缀的 EXE),服务器能拦截并提示;
- 🚫 路径遍历:上传含 “../” 的文件名,防止服务器文件路径被篡改(如避免访问 /root/ 系统文件);
- 🔐 权限控制:未登录用户、低权限用户(如游客)上传,验证是否限制操作并提示 “请登录后上传”。
📏 六、边界与其他测试
- 尺寸边界:超小尺寸(1x1 像素)、超大尺寸(10000x10000 像素)图片,能否正常上传 / 预览;
- 📂 存储边界:服务器存储满时上传,提示 “存储空间不足,请稍后再试”;
- 🌍 特殊场景:中文 / 特殊字符文件名(如 “测试图片_🔥.jpg”),上传后文件名无乱码、可正常访问。
🎯 面试答题技巧
- 逻辑优先:先讲核心功能(正常 + 异常),再讲兼容 / 性能 / 安全,符合测试执行优先级;
- 实操体现:举例 “用 1x1 像素超小图、5.1MB 超大图测边界,用含‘../’的文件名测路径遍历风险”;
- 加分点:提到 “断点续传”“并发控制”“恶意文件拦截”,体现对实际场景的深入考虑;
- 简洁记忆:用 “功能(正常 + 异常)→ 兼容→ 性能→ 交互→ 安全→ 边界” 六维度快速串联。
