单元测试
这里只对imageDAO层进行了单元测试

public class ImageDAOTest {@Testpublic void queryCountByMd5() {ImageDAO imageDAO = new ImageDAO();int n = imageDAO.queryCountByMd5("123123");assertEquals(1,n);}@Testpublic void insert() {ImageDAO imageDAO = new ImageDAO();Image image = new Image();image.setImageName("");image.setSize((long)44189);image.setUploadTime("2021-07-01 12:42:10");image.setMd5("71f7b259105fc5d3b86826945daff728");image.setContentType("image/jpeg");image.setPath("/71f7b259105fc5d3b86826945daff728");imageDAO.insert(image);}@Testpublic void queryAllImage() {ImageDAO imageDAO = new ImageDAO();List<Image> list = new ArrayList<>();list = imageDAO.queryAllImage();System.out.println(list.size());for(Image image : list) {System.out.println(image.getImageName());}}@Testpublic void queryOneImage() {ImageDAO imageDAO = new ImageDAO();Image image = imageDAO.queryOneImage(0);System.out.println(image);}@Testpublic void delete() {ImageDAO imageDAO = new ImageDAO();int n = imageDAO.delete(24);System.out.println(n);}
}

集成测试
根据chrome的开发者工具结合后端进行集成测试

自动化测试
这里采用了selenium和unittest完成了自动化测试。编写简单地上传和删除图片的脚本。

import HTMLTestRunner
from selenium import webdriver
import time
import unittest
import os
import sys
from selenium.common.exceptions import NoAlertPresentException
from ddt import ddt, file_data, unpack, data@ddt
class testCase1(unittest.TestCase):def setUp(self):self.driver = webdriver.Chrome()self.url = "http://localhost:8080/DrawingBed_war/"self.driver.get(self.url)self.driver.maximize_window()time.sleep(3)def tearDown(self):self.driver.quit()#删除图片脚本def test_delete(self):driver = self.driverdriver.get(self.url)time.sleep(3)driver.find_element_by_xpath("//*[@id='container']/div[1]/button").click()time.sleep(3)driver.switch_to.alert.accept()time.sleep(3)driver.switch_to.alert.accept()#上传图片脚本def test_upload(self):driver = self.driverdriver.get(self.url)time.sleep(3)driver.find_element_by_xpath("//*[@id='blog-collapse']/form/div[1]/input").send_keys(r"C:\Users\PC\Desktop\666.jpeg")time.sleep(3)driver.find_element_by_xpath("//*[@id='blog-collapse']/form/div[2]/input").click()time.sleep(3)#查看图片脚本def test_select(self):driver = self.driverdriver.get(self.url)time.sleep(3)driver.find_element_by_xpath("//*[@id='container']/div[1]/img").click()time.sleep(3)if __name__ == '__main__':unittest.main(verbosity=0)

性能测试
采用了Loadrunner的三件套,先用Virtual User Generator 录制脚本,在用Controller模拟虚拟用户对负载压力进行了简单地测试,最后生成Analysis报告进行分析。

项目展示

上传文件

上传成功

图片服务器项目测试

界面
布局
1,图片比较多时,每一行最多五张图片,剩下的折行展示
2,每张图篇的大小一一致,都是200px*200px
3,每一张图片都在一个div框里面,图片左下角有图片名称,删除按钮
4,每一页最上面是logo,标题,接下来右边是图片上传按钮,最后一部分展示的是已经上传到服务器上的图片。
文字的测试(标题,图片名称,按钮名称)
字体的大小
展示的位置
字体是否成功展示
页面上图片文件的名称是否按照设置的大小,字体形式展示
是否和需求一致
图片
图片是否完全展示,即上传的图片和展示的图片内容一致
每一行的图片个数相等,展示风格一致
图片的放大
点击图片本身可以放大图片
点击图片右边的放大按钮,也可以放大图片
可以连续查看放大图片
页面最多展示多少张图片
补充
插入的图片顺序是否是展示的顺序
浏览器大小发生改变,图片是否可以正常展示
图片名称过长时页面展示是否美观,是否影响其他图片
功能测试
1,上传功能
(1)点击选择上传按钮,可以出现电脑中资源选择的页面
(2)点击选择上传按钮,可以出现电脑中资源选择的页面,选中一张图片,点击打开按钮,方框中“未选择任何页面”——>“图片名称”
(3)点击上传按钮
页面会刷新,展示出刚刚上传的图片
存放图片的位置会有新的文件出现
数据库中会插入一条新的数据
(4)上传图片格式为JPG,PNG格式的图片均可以上传成功,其他后缀的文件提示文件格式不正确
(5)不选择任何文件,直接点击上传,应该有提示“请您选择一张图片”
(6)上传整个文件夹,无法上传,只会打开该文件夹
无法上传文件夹
(7)不允许一次性上传多个文件(无法选中多个图片文件
无法进行批量上传图片
(8)上传文件大小大于磁盘空间剩余大小,提示“磁盘空间不足,上传失败!”
(9)磁盘空间剩余0上传文件,提示“磁盘空间不足,上传失败!”
(10)上传除了图片以外的其他类型的图片,上传失败。
(11)上传不存在的图片,会显示不出来
(12)上传一个图片名称和数据库中图片名称相等的
图片名称相同,图片内容相同,提示上传图片重复
图片名称相同,图片内容不同,会上传成功
(13)上传图片的大小有没有限制
2,删除功能
(1)选择某一张图片下面的删除功能,点击,会出现提示删除弹框,点击确定,图片成功从页面上删除。
(2)不能进行批量删除(有删除全部图片按钮)
(3)删除某一张图片之后,页面整体图片为会发生重新排版
(4)删除图片后,在服务器存放图片的路径下,该图片是否消失
(5)删除图片后数据库中存放该图片的数据也相应被删除
(6)删除相同名称的其中一个图片,不会对其它名称相同的图片产生影响。
3,图片展示(加载)
(1)进入主页面,可以看到已经上传到图片服务器上的所有图片(但没有分页功能)
(2)当我们成功上传一个图片的时候,我们页面会重新加载,展示出新上传的图片
(3)图片数量多了可以分页展示吗?
(4)删除图片,页面重新加载排版
(5)删除,上传,进入主页面,页面渲染正常
4,异常情况
(1)数据库服务未启动,上传文件失败
(2)弱网(不同网络的情况下)

2G ,3G,wifi x信号不好
上传
图片加载(展示)
删除
功能稳定(采用自动化测试)
(3)加载(展示)已经损坏的文件,web前端页面不再展示
文件本身损坏
文件的名称被篡改
如何操作:删除,篡改文件名称
(4)上传已经损坏的文件,提示“该文件已经损坏,请停止上传)
(5)在上传的过程中,停止服务,查看是否上传成功
停止服务方案
停止Tomcat
服务器关机
在点击上传按钮之前停止服务,图片上传失败
在点击上传按钮之后停止服务,图片上传成功
上传了以后,断网或者tomact关闭,图片是否能正常显示?
(7)图片上传过程中,重启服务,图片是否可以正常展示?
5,网络测试
弱网
中国移动
中国联通
中国电信
兼容性测试
1,各种浏览器访问该服务(上传,删除,图片的展示)
(1)谷歌
(2)火狐
(3)IE(有点排版问题)
(5)edge
参照所有的功能测试和界面测试测试用例
2.每一个浏览器的不同系统版本
谷歌浏览器市场上主要的版本
3,不同的操作系统
测试方法
自动化测试
易用性测试
1,上传图片时,只要选中图片输入框,即可上传图片。(不一定非的是按钮)
2,页面功能按钮设计直观易用
(1)上传图片的按钮在右上方,符合用户的操作习惯
(2)删除图片的按钮在每一张图片的下方,并且标注为醒目的颜色
安全测试
1,上传带有病毒的文件,会有提示“该文件携带病毒,不允许上传”(没有实现)
2,上传图片超过最大限制值,服务器是否会崩溃
性能测试
1,上传速度
2,删除速度 用户可以接受的范围之内 3/5/8
3,图片超过50张时展示,加载速度
4,多个用户进行上传,删除,加载图片功能时 loadrunner

图片服务器项目测试用例相关推荐

  1. 课程设计题目:图片服务器项目的全面测试

    源包地址:(32条消息) 软件测试课程设计或者大作业-图形服务器-软考文档类资源-CSDN文库 目录  注意:很多图都上传不上去,懒得上传了,自己打开源包里面啥都有 一.课程设计内容 1 二.课程设计 ...

  2. 图片服务器项目编写设计

    待到秋来九月八,我花开后百花杀 项目背景 项目所涉及知识点 服务器设计 数据库设计 服务器API(前后端交互接口)设计 涉及知识点 正式设计接口功能(约定HTTP协议格式) 编写源代码开发 数据库操作 ...

  3. 图片服务器项目+测试总结

    图片服务器项目: 网盘百度链接:https://pan.baidu.com/s/1YIGnhy6QxoLBzf4CGjtM2A 提取码:1111 项目分析+代码 1.项目分析 过程分析:请求:浏览器- ...

  4. 图床/图片服务器项目详细设计

    项目目录 1.前言 1.1 项目背景 1.2 项目意义 1.3 涉及的知识点 2.总体设计 2.1 需求规定 2.1.1 软件功能的规定 2.1.1.1 系统功能 2.1.1.2 数据流图 2.1.1 ...

  5. 图片服务器项目编写思路

    引言:在QQ中更换头像时,点击上传本地照片时,看到下面这个窗口有了想法,自己是否也可以做出类似的图片服务器呢?(当然自己的肯定没有这个高大上~~~~~~) 一. 项目背景 现在很多网页都可以见到上传图 ...

  6. 图片服务器测试用例(测试点)

    图片服务器测试用例 1. 界面 1.1 布局 每一页最上面是logo,标题,接下来右边是图片上传按钮,最后一部分展示的是已经上传到服务器上面的图片,图片下面是图片名字和删除的按钮 图片比较多的时候,每 ...

  7. javaweb项目创建图片服务器

    javaweb项目,创建tomcat图片服务器,用于保存用户上传的头像等图片信息.前期项目的新建和正常访问的调试不再说明,本文章仅讲解如何创建一个图片服务器. 1.WebContent下新建imgFi ...

  8. 项目:图片存储系统(图片服务器)

    图片存储系统 项目描述: 实现一个 HTTP 服务器,用该服务器来存储图片,针对每个图片提供一个唯一的url, 使用 url 对图片进行访问, 提供对图片的增删改查能力,同时搭配简单的页面辅助完成图片 ...

  9. 使用 Nginx 搭建图片服务器

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者 | ITDragon龙 链接 | cnblogs.com/i ...

最新文章

  1. 牛客网 牛客练习赛13 A.幸运数字Ⅰ
  2. 从SOURCE_BUFFER单元开始存放了20个字母A, 编程将这20个字母A的字符串传送到DEST_BUFFER开始的单元中.
  3. boost::function_types::has_property_tag用法的测试程序
  4. u盘启动蓝屏 索尼vaio_U盘重装系统出现蓝屏?不要急,这四个手段轻松帮你解决!...
  5. java 终态类,javaoo,继承,抽象类,终态类,访问修饰符!
  6. fc588热敏打印机驱动_为称重仪表设计热敏打印模块 - 工业自动化称重仪表
  7. sql server 锁与事务拨云见日(下)
  8. 超实用Mac软件分享(二)
  9. 实验1-利用Debug查看CPU寄存器和内存+利用机器指令和汇编指令编程
  10. CodeForces Round #295 Div.2
  11. 怎么源码安装 PKGCONFIGPATH设置转
  12. QVector、QList、QLinkedList 类
  13. 母版页与用户控件区别(思维导图整理)
  14. 决策树之CART(分类回归树)详解
  15. 软件人才争夺战日趋白热化
  16. Nosql - redis 的学习
  17. 基于STM32的OLED多级菜单GUI实现(简化版智能手表)
  18. 王者4K高清壁纸合集
  19. 分布式对偶平均法(DDA)
  20. linux 查看.img文件,linux img文件 分区挂载

热门文章

  1. 服务器系统2008怎么安装net,用于服务器核心的 Microsoft .NET Framework 4(只能安装在win 2008服务器上)...
  2. 常用概率分布的矩母函数、特征函数以及期望、方差的推导
  3. 28岁程序身价过亿,从字节提前“退休
  4. oracle存储过程建表写法,用oracle存储过程创建表
  5. BDD100k数据集训练YOLOv5
  6. STM8L101 与 STM8S103区别
  7. Linux系统移植——Linux下USB存储设备操作
  8. 基于C#实现的双人对战与道具赛的俄罗斯方块小游戏
  9. 互联网发展如此迅速,java凭什么在5G时代站稳脚跟!
  10. 衍架式机器人_桁架(机器人)自动上下料机械手