图片服务器项目测试

图片服务器界面效果

图片服务器前端页面 可进行图片的上传 删除 查看等

测试

一,单元测试

(一般先从dao层开始测)
1.在maven项目的pom文件里添加Junit依赖
2.下载相关插件setting-plugins-junit,junitGenerator
3.在setting-other setting里修改文件
4.创建单元测试快捷键:Ctrl+shift+t(junit4)
测试插入数据库中的数据是否能够正确插入,数据库异常时,是否能够正常的catch到
标签@Ingore @before @after

public void insert(){
   ImageDao  imageDao=new ImageDao();  //准备数据
   image.setImageName("222.jepg");
   image.setUploadTime("...");
   ......
   boolean flag=imageDao.insert(image);
  System.out.println(flag);
}
public void selectAll(){
     ImageDao  imageDao=new ImageDao(); 
     ArrayList<image>  lists=imageDao.selectAl();
      System.out.println(lists.size());
     for()//for循环打印
........
}

逐个测试每个功能

二,界面测试

(1)布局
1.图片是否展示完全,是否有图片重叠的情况出现
2.当图片的数量比较多时,每一行最多只能展示五张图片,剩下的折行展示
3.每一张图大小是否一致,都是200×200px
4.每一张图片都在一个div框里面,图片左下方有图片名称以及删除按钮
5.界面布局是否合理
6.每一页最上面是logo,标题,接下来是图片上传按钮,最后一部分展示的是已经上传到服务器上的图片

(2)文字
1.字体大小是否合适,是否有错别字
2.字体粗细是否适中
3.是否斜体展示
4.字体是否完整且成功展示
5.页面上图片文件的名称是否按照设置的大小,字体形式展示
6.展示的位置

(3)图片
1.图片是否展示完全,即上传的图片和展示的图片内容是否是一致
2.每一行图片展示的风格,个数是否一致
3.点击图片本身是否可以正常放大
4.是否可以在放大界面连续查看 下一张图片的放大效果
5.页面最多可以展示多少张图片
6.展示的图片顺序是否是上传时的顺序
7.浏览器的窗口大小发生变化,图片是否可以做出适应并且正确展示
8.可以连续查看放大图片

三,功能测试

(1)上传功能
1.点击上传按钮,是否可以出现电脑中的资源选择页面
2.点击选择上传按钮,可以出现电脑中资源选择页面,选中一张图片,点击打开按钮,方框中“未选择任何页面”是否会显示“图片名称”
3.点击上传按钮,页面刷新,展示出刚上传的图片;并且数据库中会插入一条新的图片属性信息;在存放图片的位置下也会多出一个图片信息
4.分别上传图片格式为.jpg,.png格式,看是否都可以成功上传
5.不选择任何文件,直接点击上传,应该出现提示“请您选择图片”
6.上传整个文件夹,无法上传,只会打开该文件夹
7.不允许多张图片进行上传,无法选中多张图片
8.上传文件大小超过磁盘空间大小,提示“磁盘空间不足”
9.上传一个图片名称和数据库中图片名称相同的(图片名称相同,图片内容相同;图片名称相同,图片内容不同)
10.上传除图片以外的其他类型图片(doc,ppt,txt…)
bug:图片名称为中文时无法进行正确的上传操作;无法批量上传;未选择照片时,点击上传,会上传一张空图;非图片文件可以上传

(2)删除功能
1.选择删除的照片,点击删除按钮,会出现删除成功提示,点击确定,图片成功从页面上删除
2.删除图片后,在服务器存放的路径下,该图片是否消失
3.删除图片后,数据库中存放该图片的数据也相应被删除
4.删除一张照片后,页面是否会对剩下的照片进行重新排序
5.删除一张图片名称相同的图片不会对另一张图片产生影响
6.不能进行批量删除

(3)图片展示
1.进入主页面,图片是否展示出所有的图片
2.图片数量多了可以进行分页展示吗
3.当上传一个图片时,页面刷新,展示出新上传的图片

(4)异常情况
1.数据库服务未启动,上传失败
2.弱网(不同网络情况下),上传图片,展示图片,删除图片是否成功
3.上传已经不存在或者已经损坏的图片文件,页面出现提示“该文件已经损坏,请停止上传”
4.在上传过程中,关闭服务器,之后又重启服务器,是否之前的图片会继续上传(停止tomcat;服务器关机;在点击上传按钮之前停止服务,图片上传失败;在点击上传按钮之后停止服务,图片上传成功)
5.在上传过程中,关闭数据库服务,上传操作是否会停止

四.兼容性测试

1.不同浏览器访问图片服务器,是否都可以正常展示,并且上传,删除,展示功能是否正常(IE,火狐,搜狗,360等)
2.每一个浏览器的不同版本进行测试(市场上主要的版本)
3.不同的操作系统进行测试

五.安全性测试

1.上传带病毒的图片,页面提示“该文件携带病毒,不允许上传”
2.上传图片数量超过服务器最大值,服务器是否会崩溃

六.易用性测试

1.上传图片时,点击框也可以进行图片资源的选择,不一定是按钮
2.页面功能按钮设计直观易用
3.上传图片按钮在右上方,符号用户的操作习惯
4.删除图片的按钮在每一张图片的下方,并且标注为醒目的颜色

七.性能测试

1.上传速度
2.删除速度
3.图片过多时,服务器加载图片的速度
4.多个用户进行上传,删除,加载图片功能时

八,自动化测试

编写自动化测试脚本,测试上传,删除功能
(xpath形式多变上传按钮xpath id=blog-collapse第二个人div里)

form selenium import webdirver
import time

diver=webdriver.Chrome()
diver.get("http://localhost:8080/image/index.html")
driver.maximize_window()

#上传
diver.find_element_by_name("filename").send_keys("E:\\photo\\333.jpeg")
time.sleep(5)
driver.find_element_by_xpath("//*[@id='blog-collapse']/form/div[2]/input").click()
time.sleep(5)

#删除
driver.find_element_by_xpath("//*[@id='blog-collapse']/form/div[2]/button").click()
time.sleep(5)
alert=driver.switch_to.alert
alert.accept()
time.sleep(6)
driver.quit()

unit框架

from selenium import webdriver
import unittest
import time

class imageTest(unittest.TestCase):
   def setUp(self):
       self.driver=webdriver.Chrome()
       self.diver.get("http://localhost:8080/image/index.html")
       self.driver.maximize_window()
       time.sleep(3)
   def tearDown(self):
       self.driver.quit()
       
   def test_upload(self):
      self.diver.find_element_by_name("filename").send_keys("E:\\photo\\333.jpeg")
      time.sleep(5)
      self.driver.find_element_by_xpath("//*[@id='blog-collapse']/form/div[2]/input").click()
      time.sleep(5)
      
      def test_delete(self):
      driver.find_element_by_xpath("//*[@id='blog-collapse']/form/div[2]/button").click()
      time.sleep(5)
      alert=driver.switch_to.alert
      alert.accept()
      time.sleep(5)
      
if_name_="_main_":
    unittest.main()

九,接口测试

fiddler抓取请求,postman模拟客户端通过对fiddler抓取的请求修改并发送到服务端并接收服务器返回的数据及异常来进行验证接口。
  接口可以理解为URL,工作原理为URL通过get或者post请求像服务器发送一些东西,然后得到一些相应的返回值,本质就是数据的传输与接收。
  GET是请求方法,请求方法是HTTP请求的必要要素,常见的请求方法有GET和POST两种。API地址一般为URL地址。如果是请求URL中的入口,会在Params列出参数名称及参数取值,方便我们轻松的修改各入参的值。如有需要,还应该设置HTTP请求Headers部分。
如果是POST请求,需要将请求方法设置为POST,一般说来POST请求是有请求体的,固需要在Body部分中编写正确的请求body内容和Content-Type的值(在Headers中进行设置)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值