文件上传功能测试总结

 

之前做了一个项目很多功能与文件上传有关,所以总结了下这块功能的测试案例:

 

序号 测试案例名称 测试案例描述 步骤描述 预期结果 说明
1 附件上传-文件命名检查-符合文件命名规范 检查符合文件命名规范的文件能否正常上传。 在附件上传功能模块,构造文件命名规范、命名长度、格式和大小都符合条件的文件,进行上传。(文件命名规范可以参考需求要求) 文件上传成功。  
2 附件上传-文件命名检查-不符合文件命名规范 检查不符合文件命名规范的文件能否正常上传。 在附件上传功能模块,构造命名长度、格式和大小都符合条件,但是命名不符合规范的文件,进行上传。(文件命名规范可以参考需求要求) 文件上传失败。  
3 附件上传-文件命名检查-符合文件长度规范 检查符合文件长度规范的文件能否正常上传。 在附件上传功能模块,构造文件命名规范、命名长度、格式和大小都符合条件的文件,进行上传。 文件上传成功。 这个案例可以和“附件上传-文件命名检查-符合文件长度规范”合并执行检查。
4 附件上传-文件命名检查-不符合文件长度规范 检查不符合文件长度规范的文件能否正常上传。 在附件上传功能模块,构造命名规范、格式和大小都符合条件,但是长度不符合规范的文件,进行上传。 文件上传失败。  
5 附件上传-文件路径检查-文件路径可手动输入-输入正确路径 如果文件上传路径可以手动修改的话,输入正确的路径,检查文件能否正常上传。 在附件上传功能模块,检查文件路径是否可以手动输入,如果可以手动输入,选择合法的文件,输入正确的路径,进行上传。 文件上传成功。  
6 附件上传-文件路径检查-文件路径可手动输入-输入错误路径 如果文件上传路径可以手动修改的话,输入错误的路径,检查文件能否正常上传。 在附件上传功能模块,检查文件路径是否可以手动输入,如果可以手动输入,输入错误的路径,进行上传。(错误路径包含以下常见情况:1、路径格式存在问题,无法解析;2、路径格式正确,但是路径下找不到指定的文件;3、相对路径和绝对路径问题。) 文件上传失败。  
7 附件上传-文件路径检查-文件路径不可手动输入-正常操作 如果文件上传路径不可以手动修改的话,检查文件能否正常上传。 在附件上传功能模块,检查文件路径是否可以手动输入,如果不可以手动输入,选择合法的文件,检查自动带出文件路径,进行上传。 文件上传成功。  
8 附件上传-文件路径检查-文件路径不可手动输入-篡改路径为正确路径 如果文件上传路径不可以手动修改的话,篡改路径为正确路径,检查文件能否正常上传。 在附件上传功能模块,检查文件路径是否可以手动输入,如果不可以手动输入,通过F12开发者工具,篡改文件路径为正确的路径地址,进行上传。 文件上传成功。  
9 附件上传-文件路径检查-文件路径不可手动输入-篡改路径为错误路径 如果文件上传路径不可以手动修改的话,篡改路径为错误路径,检查文件能否正常上传。 在附件上传功能模块,检查文件路径是否可以手动输入,如果不可以手动输入,通过F12开发者工具,篡改文件路径为错误的路径地址,进行上传。(错误路径包含以下常见情况:1、路径格式存在问题,无法解析;2、路径格式正确,但是路径下找不到指定的文件;3、相对路径和绝对路径问题。) 文件上传失败。  
10 附件上传-文件路径检查-修改选择但未上传的文件 如果选择了一个文件,但是未上传,重新选择一个文件,检查文件能否正常上传。 在附件上传功能模块,选择文件A,如果有文件路径的话,检查能够正常带出文件A的路径,不做上传,重新选择文件B,检查文件路径更新为文件B的路径,重新上传。 文件上传成功。  
11 附件上传-文件路径检查-选择一个打开的文件进行上传 选择一个打开的文件,进行上传,检查文件能否正常上传。 在附件上传功能模块,选择一个已经打开的合法文件,进行上传。 文件上传成功。  
12 附件上传-文件类型检查-符合文件类型-类型命名全部大写 如果文件类型符合规范,类型命名全部为大写,检查文件能否正常上传。 在附件上传功能模块,选择符合文件类型的文件,将文件类型后缀名全部修改为大写,进行上传。如果支持多种文件类型的话,需要覆盖所有文件类型。 文件上传成功。 这个是开发经常容易犯的一个错误,文件类型根据大写或者小写的类型来判断,实际上文件类型命名是无需区分大小写的。
13 附件上传-文件类型检查-符合文件类型-类型命名全部小写 如果文件类型符合规范,类型命名全部为小写,检查文件能否正常上传。 在附件上传功能模块,选择符合文件类型的文件,将文件类型后缀名全部修改为小写,进行上传。如果支持多种文件类型的话,需要覆盖所有文件类型。 文件上传成功。 这个是开发经常容易犯的一个错误,文件类型根据大写或者小写的类型来判断,实际上文件类型命名是无需区分大小写的。
14 附件上传-文件类型检查-符合文件类型-类型命名大小写混合 如果文件类型符合规范,类型命名大小写混合,检查文件能否正常上传。 在附件上传功能模块,选择符合文件类型的文件,将文件类型后缀名修改为大小写混合的方式,进行上传。如果支持多种文件类型的话,需要覆盖所有文件类型。 文件上传成功。 这个是开发经常容易犯的一个错误,文件类型根据大写或者小写的类型来判断,实际上文件类型命名是无需区分大小写的。
15 附件上传-文件类型检查-不符合文件类型 如果文件类型不符合规范,检查文件能否正常上传。 在附件上传功能模块,选择不符合文件类型的文件进行上传。可以选择不符合文件类型的其他多种文件类型进行验证。 文件上传失败。 为了支持文件类型的可扩展性,建议可以将文件类型做成配置项,灵活支持。
16 附件上传-文件大小检查-空文件上传 如果文件内容为空,检查文件能否正常上传。 在附件上传功能模块,选择一个空文件,进行上传。 文件上传失败。  
17 附件上传-文件大小检查-文件大小略小于限制大小上传 如果文件上传大小略小于限制大小,进行上传,检查文件能否正常上传。 在附件上传功能模块,如果上传文件有大小限制,选择一个文件大小略小于限制大小的文件,进行上传。 文件上传成功。  
18 附件上传-文件大小检查-文件大小等于限制大小上传 如果文件上传大小等于限制大小,进行上传,检查文件能否正常上传。 在附件上传功能模块,如果上传文件有大小限制,选择一个文件大小等于限制大小的文件,进行上传。 文件上传成功。  
19 附件上传-文件大小检查-文件大小略大于限制大小上传 如果文件上传大小大于限制大小,进行上传,检查文件能否正常上传。 在附件上传功能模块,如果上传文件有大小限制,选择一个文件大小略大于限制大小的文件,进行上传。 文件上传失败。  
20 附件上传-文件大小检查-上传文件大小超过存储剩余空间 如果文件大小大于存储剩余空间,进行上传,检查文件能否正常上传。 在附件上传功能模块,先通过压力测试将存储剩余空间压缩到很小的一个值(实际操作可以先压满再删除少量文件),然后选择一个文件,大小超过存储剩余空间的,进行上传。 文件上传失败。 生产上对存储的使用都是有监控的,当达到一定警戒值时会做扩容或者文件清理,所以生产一般不会出现这种情况。
21 附件上传-文件大小检查-上传文件时存储空间已满 如果存储空间已满,进行文件上传,检查文件能否正常上传。 在附件上传功能模块,先通过压力测试将存储空间全部占满,再选择一个合法文件,进行上传。 文件上传失败。 生产上对存储的使用都是有监控的,当达到一定警戒值时会做扩容或者文件清理,所以生产一般不会出现这种情况。
22 附件上传-文件大小检查-没有限制大小时上传正常大小文件 如果文件上传大小没有做限制,上传一个正常大小文件,检查文件能否正常上传。 在附件上传功能模块,如果上传文件没有大小限制,选择一个正常大小文件,进行上传。(正常大小的范围可以根据应用场景来判断) 文件上传成功。  
23 附件上传-文件大小检查-没有限制大小时上传超大文件 如果文件上传大小没有做限制,上传一个超大文件,检查文件能否正常上传。 在附件上传功能模块,如果上传文件没有大小限制,选择一个超大文件,进行上传。(可以根据应用场景判断正常文件大小,再将大小按照一定数量级扩大) 文件上传失败。  
24 附件上传-文件内容检查-同名文件上传 如果存在已上传的同名文件,再次上传,检查文件能否正常上传。 在附件上传功能模块,选择一个合法文件进行上传,上传成功后,再选择该文件,进行上传。 文件能否上传成功,需根据需求和系统实现来定。如果系统不允许上传同名文件的,则文件上传失败,给出对应提示。如果系统允许同名文件上传,需要看上传规则是什么样的。有些是覆盖上传,则需要用同名不同内容的文件上传,检查上传后的文件内容是否为最新的,有些是上传时会做重命名保存,同名的文件上传到存储上是做为不同文件保存的。  
25 附件上传-文件内容检查-合法文件上传 如果上传文件需要校验文件内容的话,上传一个符合校验规则的合法文件,检查文件能否正常上传。 在附件上传功能模块,选择一个符合文件内容检查规则的合法文件,进行上传。 文件上传成功。  
26 附件上传-文件内容检查-非法文件上传 如果上传文件需要校验文件内容的话,上传一个不符合校验规则的合法文件,检查文件能否正常上传。 在附件上传功能模块,选择一个不符合文件内容检查规则的非法文件,进行上传。 文件上传失败。  
27 附件上传-文件内容检查-病毒文件上传 构造一个病毒文件,检查文件能否正常上传。 在附件上传功能模块,构造一个病毒文件,进行上传。 文件上传失败。(说明:如果需要做附件上传功能,一般需要引用病毒扫描系统,在文件上传前先进行病毒扫描) 这种情况在公司内网很难模拟测试,一般构造病毒软件后,就被公司标装的杀毒软件识别和删除了。
28 附件上传-上传响应时间检查 检查文件上传的响应时间是否正常。 在附件上传功能模块,选择一个大小等于限制大小的文件进行上传,检查上传响应时间是否正常。 响应时间应该在合理范围内。(合理范围内指符合用户需求说明,或者用户感受良好,响应时间在接受范围内)如果当响应时间超过一定时间,应该给出提示。  
29 附件上传-上传页面显示和控制检查 检查文件上传页面的页面显示和控制是否正常。 在附件上传功能模块,检查上传页面的显示和控制是否正常。如按钮文字显示正确性、说明性文字的正确性、显示风格是否和其他页面一致、必填项&非必填项的显示和控制、选择和上传文件的控制等。 页面显示和控制正常。  
30 附件上传-上传成功提示信息检查 检查文件上传成功后,提示信息是否正常、合理。 在附件上传功能模块,选择合法文件进行上传。 文件上传成功,且成功后应该给出合理的提示信息。  
31 附件上传-上传失败提示信息检查 检查文件上传失败后,提示信息是否正常、合理。 在附件上传功能模块,选择非法文件进行上传。 文件上传失败,且失败后应该给出合理的提示信息。校验的报错信息要求以通俗易懂的文字信息展示,而不是抛出报错代码信息。 一般建议在文件提交到服务器处理前做文件命名、长度、大小、类型等的合法性校验,校验失败的话给出提示,不再做后续处理,校验成功后才会提交给服务器处理。
32 附件上传-上传页面可用性检查 检查文件上传页面的页面可用性是否正常。 在附件上传功能模块,检查页面可用性。如页面是否美观、是否易用(键盘和鼠标的操作、tab键的跳转)等。 用户可用性较好。 用户可用性没有明显的需求和测试标准。一般以正常的操作和感受为标准,违反人类正常操作习惯和审美的,都可以认为是可用性不佳。
33 附件上传-上传后-访问或者下载检查 检查文件上传后,是否有方法可以访问上传的文件,如果可以的话,检查文件访问或者下载是否正常。 在附件上传功能模块,选择合法文件进行上传。如果系统有方法可以访问上传后的文件,进行访问或者下载检查。 可以正常打开或者下载文件,且文件内容和上传时完全一致。 有些是系统本身不支持上传的文件的访问和下载。可以通过存储上的文件进行验证。
34 附件上传-上传后-访问安全性检查 检查文件上传后,是否有方法可以访问上传的文件,如果可以的话,检查非授权用户能否访问上传文件。 在附件上传功能模块,选择合法文件进行上传。如果系统有访问可以访问上传后的文件,选择非授权用户进行访问或者下载。(权限控制需要根据系统来确定,有些是针对用户的,有些是针对角色的) 非授权用户无法进行访问和下载。  
35 附件上传-上传后-数据库检查 如果文件上传后,有将相关信息写入数据库,需要检查数据库记录内容是否正常。 在附件上传功能模块,选择合法文件进行上传。如果文件上传相关信息有写入数据库,需要检查数据库记录的内容是否正确。 文件上传写入数据库的相关信息正确。  
36 附件上传-上传后-文件处理检查 如果系统对于上传的文件内容还有做处理的话,需检查处理功能是否正常。 在附件上传功能模块,选择合法文件进行上传。如果系统有对上传的文件进行了处理,如写入数据库、触发一些任务处理等,需要检查文件处理过程是否正常。 文件上传后,处理过程正常。  
37 附件上传-上传后-删除验证 如果文件上传后,可以删除,需要检查文件上传功能是否正常。 在附件上传功能模块,选择合法文件进行上传。如果系统支持文件删除,选择上传的文件,进行删除。 页面提示删除成功。数据库中记录被物理删除或者逻辑删除。存储上的文件是否需要删除根据需求来确定。  
38 附件上传-压力测试-批量上传检查 进行文件批量上传的压力测试,检查性能和上传功能是否正常。 在附件上传功能模块,进行附件上传的压力测试,压力测试重点关注系统的性能和上传功能本身是否正常。 系统性能和文件上传功能都正常。性能可以检查服务器CPU、内存、后台日志。文件上传可以通过数据库、存储来检查。  
时间: 2024-09-24 21:07:50

文件上传功能测试总结的相关文章

PHP文件上传功能代码实例教程

在PHP网站开发中,PHP程序如何实现文件上传功能,一直是新手的课题.而且文件上传功能一般都用得着,比如图片上传.今天就结合具体代码实例和详细注解和大家分享如何编写PHP文件上传代码,适合php初学者学习. PHP代码实例主要讲述的是图片上传,看懂程序后你可以修改相关文件类型就可以实现其他文件的上传功能. 编程环境 PHP5.2.4,基本上PHP4.3以上版本,此代码都可以使用 准备工作 检查upload_tmp_dir项 如果PHP的开发环境是自行搭建的,你需要在编写文件上传程序前编辑php.

PHP.INI配置:文件上传功能配置教程

昨天分享了在PHP网站开发中如何在php.ini中配置实现session功能的PHP教程,今天继续分享在利用PHP实现文件上传功能时几点关键php.ini的配置. 说到在php.ini中的文件上传的配置,其实在之前介绍PHP文件上传功能代码实例教程以及Jquery AjaxUpload实现文件上传功能代码实例教程时我都有所提及.PHP文件上传功能配置主要涉及php.ini配置文件中的upload_tmp_dir.upload_max_filesize.post_max_size等选项. php.

zend framework文件上传功能实例代码

 zend framework文件上传功能实例代码,php的版本5.3.8,zend framework的版本1.12,看下面的代码吧,有注释  代码如下: //实例化上传类 $upload = new Zend_File_Transfer(); //设置过滤器,大小限制为5M,格式为jpg,gif,png $upload->addValidator('Size', false, 5 * 1024 * 1024); $upload->addValidator('Extension', fals

不用common file upload、struts 什么的,java文件上传功能怎么实现?

问题描述 不用common file upload.struts 什么的,java文件上传功能怎么实现? 不用common file upload.struts 什么的,java文件上传功能怎么实现,就单纯的用html和java实现文件上传? 解决方案 http://wangwei2008224078.blog.163.com/blog/static/214338275201342110555388/ 这个什么也没用,你可以参考 解决方案二: 用servlet的request获取文件流 解决方案

Zend Framework实现多文件上传功能实例_php实例

本文实例讲述了Zend Framework实现多文件上传功能的方法.分享给大家供大家参考,具体如下: 第一步:在我们原来教程找到library文件夹..这里原来是存放我们Zend类库文件夹的地方..现在我们在library文件夹里加上如下几个文件夹:library/Custom/Controller/Plugin/ 文件夹我们加入完成.这时候我们就要找到我们的文件上传的类文件了..这里我命名为Upload.php文件名..这个文件就是我们将要用到文件上传的的类文件.当然这文件我是改写成了Zend

php+ajax实现图片文件上传功能实例_php技巧

目前常用的异步文件上传功能有几种,比较多见的如使用iframe框架形式,ajax功能效果,以及flash+php功能,下面介绍ajax与iframe实现异步文件上传的功能的例子. 方法一,利用jquery ajaxfileupload.js实现文件上传 其实就是实现无刷新式的文件上传.可采用IFRAME文件上传原理.实际上在用PHP上传文件时...只能用$_FILES形式,但是若我们只是单一的用JS方式取其ID,如<input id='img' type='file'>..document.g

Android基于Http协议实现文件上传功能的方法_Android

本文实例讲述了Android基于Http协议实现文件上传功能的方法.分享给大家供大家参考,具体如下: 注意一般使用Http协议上传的文件都比较小,一般是小于2M 这里示例是上传一个小的MP3文件 1.主Activity:MainActivity.java public class MainActivity extends Activity { private static final String TAG = "MainActivity"; private EditText timel

我想问一下跟文件有关的。就是,木马、病毒文件修改后缀后通过网站的文件上传功能上传的服务器, 一般这种情况是,只有图片文件会被利用吗?还是其他的word和exc

问题描述 我想问一下跟文件有关的.就是,木马.病毒文件修改后缀后通过网站的文件上传功能上传的服务器,一般这种情况是,只有图片文件会被利用吗?还是其他的word和excel也有这样的情况?

Ajax配合Spring实现文件上传功能代码

由于项目需要,开发一个可以上传图片到服务器的web表单页面. 一. 需求 Web表单页面,可以通过表单上传图片以及其他文字信息. 二. 图片上传的流程 之前没有做过这类页面,通过查询资料.发现比较常见的做法,是先将图片上传到服务器端的某个文件目录下,服务器向前台返回图片的存储路径:之后,前台将图片存储路径以及其他表单信息一起提交到服务器,所有的表单信息存储在数据库中. 三. 方法 由于项目需要,我这里介绍两种图片上传方法,第一种是使用ajax对一个图片直接上传:第二种是先在前台将图片切割为较小的