1.编写测试用例并执行
按照开发阶段化划分
项目测试顺序:
单元测试——功能测试——自动化测试,性能测试
2.单元测试
public class ImageDAOTest {
@Test
public void queryCountByMd5() {
ImageDAO imageDAO = new ImageDAO();
int n = imageDAO.queryCountByMd5("123123");
assertEquals(1,n);
}
@Test
public 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);
}
@Test
public 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());
}
}
@Test
public void queryOneImage() {
ImageDAO imageDAO = new ImageDAO();
Image image = imageDAO.queryOneImage(0);
System.out.println(image);
}
@Test
public void delete() {
ImageDAO imageDAO = new ImageDAO();
int n = imageDAO.delete(24);
System.out.println(n);
}
}
3.性能测试
采用了Loadrunner的三件套,先用Virtual User Generator 录制脚本,再用Controller模拟虚拟用户对负载压力进行了简单地测试,最后生成Analysis报告进行分析。
4.自动化测试
这里采用了selenium和unittest完成了自动化测试。编写简单地上传和删除图片的脚本。
from selenium import webdriver
import unittest
import time
class imageTest(unittest.TestCase):
def setUp(self):
self.driver=webdriver.Chrome()
self.driver.get("http://127.0.0.1:8080/java_image_server/index.html")
self.driver.maximize_window()
time.sleep(3)
def tesrDown(self):
self.driver.quit()
# 上传
# @unittest.skip("skipping")
def test_upload(self):
self.driver.find_element_by_id("upload").send_keys("E:\\06.jpg")
time.sleep(6)
self.driver.find_element_by_xpath("//*[@id='blog-collapse']/form/div[2]/input").click()
time.sleep(6)
# 删除
# @unittest.skip("skipping")
def test_delete(self):
self.driver.find_element_by_xpath("//*[@id='container']/div[1]/button").click()
time.sleep(3)
alert=self.driver.switch_to.alert
alert.accept()
time.sleep(3)
if __name__=="__main__":
unittest.main()