文章目錄
一.單元測試
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()