软件测试面试:如何测试图片上传功能?

一、考察点
1、考察测试人员边界值、异常场景的设计思维,上传功能高频考大小、格式、数量限制。
2、考察移动端/Web端专项测试能力,覆盖权限、兼容性、中断场景。
3、考察后端校验逻辑,是否掌握前端绕过、后台二次校验的测试思路。
4、考察文件上传的安全测试、数据存储、回显展示的完整业务闭环思维。

二、解题思路
按照正常上传→格式大小边界→数量限制→异常文件→权限场景→中断容错→展示回显→安全校验→兼容适配的逻辑逐层覆盖,从正向功能、反向异常、边界场景、安全场景全面设计测试点。

三、参考答案
1、正常功能测试
上传平台支持的合规图片格式,如JPG、PNG、WEBP等,上传成功后图片正常展示、完整无缺失,后台成功保存,页面回显正常。
2、图片格式测试
上传不支持的格式,如GIF、BMP、TXT、MP4、exe等文件,页面拦截并给出格式错误提示,无法上传成功,杜绝非法文件上传。
3、图片大小边界测试
按照平台限制大小测试:小于限制大小、等于限制大小、超出限制大小的图片。小于和等于限制的可正常上传,超出大小的图片拦截提示,上传失败,校验前后端大小限制一致。
4、上传数量测试
支持单图上传:单次仅可上传一张,无法多图上传;支持多图上传:测试最大上传数量边界,未达上限可正常上传,超出上限拦截提示,同时测试逐张上传、批量上传场景。
5、异常图片文件测试
上传破损图片、空白图片、0KB空文件、篡改后缀的假图片、分辨率过高/过低的极端图片,系统可正常识别拦截,不闪退、不报错、不脏数据。
6、权限测试
Web端:禁止文件夹读取权限时,无法选择图片并给出提示;移动端:拒绝相册/文件权限时,无法唤起相册、无法上传,权限开启后功能恢复正常。未登录状态下,无法执行上传操作。
7、异常中断测试
上传过程中切换后台、锁屏、退出页面、断网、弱网、刷新页面,上传终止,无卡顿、无重复上传、无空白脏图片;网络恢复后不自动补发,需手动重新上传。
8、图片展示与编辑测试
上传成功后图片缩略图、原图展示清晰,无拉伸、模糊、变形;支持裁剪、旋转、压缩的场景,编辑后可正常保存上传;删除已上传图片,可正常移除,后台数据同步删除。
9、安全测试(重点)
前端修改代码绕过格式、大小限制,后端必须二次校验拦截;上传包含脚本的恶意图片、病毒文件,系统拦截查杀,防止漏洞攻击;重复上传同一张图片,无重复存储、无数据错乱。
10、兼容测试
兼容不同浏览器、手机机型、系统版本;不同分辨率、比例的图片上传后展示一致,无适配错乱;Web端和移动端上传规则、限制逻辑统一。

四、总结
图片上传功能核心测试点:格式合法、大小合规、数量超限拦截、异常文件容错、权限控制严格、中断无脏数据、前后端双重校验、展示适配正常、安全防绕过。核心保障合法图片正常上传,非法文件全部拦截,无闪退、无漏洞、无数据异常。
全部评论
需要软测资料的可以找我
点赞 回复 分享
发布于 05-30 19:06 上海

相关推荐

不愿透露姓名的神秘牛友
05-31 01:38
今天刚结束答辩,躺在床上享受着在校园最后的时光,在最初入学的时候完全没想过自己会从事这个行业,本人就读于一所广东普通本科计算机专业,之所以会选择这个专业完全是随机的,当时填报志愿填了十几所学校十几个专业,都是自己按照着夸克高考信息一个个填的,当时夏天很热也不知道自己未来想干什么,当然家里人也并不懂这些,只知道家里出了个大学生。录取到计算机这个专业时自己也不知道未来是怎么样的,只知道工资很高,入学开始就接触编程语言,当时还会对自己成功运行hello word高兴的不得了,觉得自己就是下一个比尔盖茨,随波逐流选了java这个语言,并且也听师兄说后端开发工资高,历届师兄好多进大厂的,就这样我就开启了大一大二学习后端技术栈,从java到javaweb、mvc、spring boot、spring cloud、各种中间件mq、网关、mysql、redis等等。到了大二的下学期,开始海投简历,但是收到的面试却寥寥无几,面试拷打的项目八股算法也一点点摧毁我的信心,开始思考自己是否适合这个行业,以及就业市场往往更偏向于有经验且学历好的同学,自己不占学历优势,也没有实际经验,看着身边都找到了实习自己的情绪也越发焦虑,打开牛客小红书等软件都是双非拿下字节腾讯等offer,更加重了我的焦虑,一段时间都不敢打开牛客和小红书。后面我换了一个方向,不走开发走其他,在这个机缘巧合下得到了第一份实习,面试过程十几分钟,大部分都是面试官在说且只有一面,我看是上市企业且有1000人的规模毫不犹豫就去了,有了第一份实习就开始了找第二份,第三份最后这份工作也成功转正了。也许你看完觉得很莫名其妙,我也觉得莫名其妙最后这个企业也是开了25左右的年薪。这放在刚入学的我是不敢想的,感叹自己运气真好,但自己的少年气已经被磨没了,以前打游戏打一晚上还不尽兴,现在连欲望都没有了,每天就刷刷短视频看点毫无意义的东西,不知道是不是成为大人都这么无聊,不知道自己能在互联网干多久,等我什么时候被毕业了或者跳槽的时候再把牛客下回来,今天开始就先不使用了,第一次发那么长的帖子在这里,总觉得这里的人们似乎和我很相似,共勉吧牛友们
点赞 评论 收藏
分享
一、考察点 1、考察测试人员定位bug、排查问题的真实实操能力,属于日常高频工作内容。2、考察是否掌握日志类型、查看工具、关键字排查、问题分析思路。3、区分只会点点点的手工测试,体现排查问题、协助开发定位问题的专业能力。二、解题思路按照 日志类型→查看工具→排查步骤→常用关键字→最终定位问题 的工作流程回答,贴合真实测试工作,逻辑清晰、落地性强。三、参考答案在平时测试工作中,遇到功能异常、接口报错、闪退、请求失败等问题,我都会通过查看系统日志定位问题,具体操作如下:1、明确需要查看的日志类型主要分三种:前端日志、后端服务日志、数据库日志。页面报错、JS异常看前端日志;接口报错、业务逻辑报错看后端日志;数据不对、新增修改失败看数据库日志。2、常用查看工具线上和测试环境,我一般用 Xshell、SecureCRT 连接服务器查看日志;也会用 ELK、日志平台 在线检索;本地调试可以直接查看项目日志文件。3、具体排查步骤首先复现bug,保证问题可重现;然后进入服务器日志目录,实时刷新日志,操作对应功能;抓取报错瞬间的日志信息,过滤无效的冗余日志。4、核心关键字筛选我主要搜索 error、exception、null、timeout、500、400 这些关键字,快速定位报错代码行数、报错原因。5、分析并辅助定位问题通过日志判断问题归属:是前端传参错误、后端代码空指针、接口超时,还是数据库SQL执行异常,然后把日志截图、报错信息整理好,提交给开发,方便快速修复bug。四、总结我查看日志的核心流程:复现问题→连接服务器实时抓日志→筛选报错关键字→区分前后端问题→整理日志提交bug。通过日志可以精准定位隐性bug,提升问题排查效率,这也是测试人员必备的核心能力。
查看8道真题和解析
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务