图片服务器测试文档
程序员文章站
2022-04-10 14:37:09
...
文章目录
一.单元测试
1.1测试模块
因为要对数据进行增删查改操作,我认为这个模块如果出现错误,后果很严重,对后续编码会带来很大问题,所以对该模块用JUnit进行单元测试。
1.2测试框架
Java常用的测试框架是JUnit,分别对增删查改方法进行代码编写,来测试它是否有BUG。
public class ImageDaoTest {
@Test
public void insert() {
//图片有属性进行测试
Image image=new Image();
image.setImageName("03演示图片.jpg");
image.setSize(1416260) ;
image.setUploadTime("20200604");
image.setContentType(" image/jpeg") ;
image.setPath("./image/d54c32d23621fb9ba448c71f1996c871");
image.setMd5("d54c32d23621fb9ba448c71f1996c871");
ImageDao imageDao=new ImageDao();
imageDao.insert(image);
//图片为空测试
Image i2=new Image();
imageDao.insert(i2);
}
@Test
public void selectAll() {
ImageDao imageDao=new ImageDao();
List<Image> list=imageDao.selectAll();
for(Image image:list){
System.out.println(image.getImageName());
}
}
@Test
public void selectOne() {
ImageDao imageDao=new ImageDao();
//id存在
Image image1=imageDao.selectOne(113);
System.out.println(image1.getImageName());
//id不存在(报错--空指针异常)
//Image image2=imageDao.selectOne(1);
//System.out.println(image2.getImageName());
}
@Test
public void delete() {
ImageDao imageDao=new ImageDao();
//id存在
imageDao.delete(113);
//删除不存在的id(报错)
//imageDao.delete(1);
}
@Test
public void selectByMd5() {
ImageDao imageDao=new ImageDao();
//md5存在
Image image=imageDao.selectByMd5("d54c32d23621fb9ba448c71f1996c871");
//Image image2=imageDao.selectByMd5("4c32d23621fb9ba448c71f1996c871");
//md5不存在(报错)
System.out.println(image.getImageName()+image.getImageId());
// System.out.println(image2.getImageName()+image2.getImageId());
}
}
BUG:
- 插入空依然可以成功写入到数据库中,按道理是不应该的
- 根据id查找图片,id存在查找成功,id不存在报错(空指针异常)
- 删除指定id图片,删除成功,id不存在报错
- md5是用来判断数据库中是否有相同md5的数据,指定md5查找成功,md5不存在会报错。
二.功能测试
2.1界面测试
2.2上传功能
2.3删除功能
2.4 异常情况
2.5 图片展示
三.兼容测试
四.安全性测试
五.易用性测试
六.自动化测试
from selenium import webdriver
import unittest
import time
class imageTest(unittest.TestCase):
def setUp(self):
self.driver=webdriver.Chrome()
self.driver.get("http://localhost:8081/image_server/index.html")
self.driver.maximize_window()
def tearDown(self):
self.driver.quit()
def test_upload(self):
self.driver.find_element_by_name("upload").send_keys("C:\\Users\\11506\\Pictures\\2017-05\\03演示图片.jpg")
time.sleep(3)
self.driver.find_element_by_xpath("//*[@id='blog-collapse']/form/div[2]").click()
time.sleep(3)
def test_delete(self):
self.driver.find_element_by_xpath("//*[@id='container']/div[1]/button").click()
alert=self.driver.switch_to.alert()
alert.accept()
if __name__=="__main__":
unittest.main()