图书管理系统项目测试

  • 一.单元测试
    • 1.junit框架
    • 2.测试步骤
  • 二.功能测试
    • 1.功能测试
    • 2.界面测试
    • 3.易用性测试
    • 4.兼容性测试
    • 5.性能测试
    • 6.安全性测试
  • 三.自动化测试
  • 四.性能测试
  • 五.项目展示

一.单元测试

1.junit框架

2.测试步骤

添加依赖如下:

<dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope>
</dependency>

在被测试类中使用快捷键 Ctrl+Shift+T,选择要测试的方法,编写测试类,完成单元测试。

二.功能测试

1.功能测试

(1)登录:
1.输入正确的账号密码,是否正确登录并跳转至主页面
2.账号为空,输入密码,是否提示输入密码
3.输入账号,密码为空,是否提示输入用户名
4.账号密码均为空,是否提示请输入用户名/密码
5.账号或密码不正确,是否提示账号或用户名错误
6.勾选记住我,下次是否可以直接选择账号密码进行登录
7.点击注册账号,是否弹出对应功能框
8.点击账号或密码输入框是否可以下拉显示登陆过的账号密码。
9.密码输入框下的管理密码点击是否可以正常跳转。
(2)新增信息:
1.点击新增按钮,是否弹出新增的各个信息
2.学生管理中学生是否为必填项
3.班级管理中班级是否为必填项
4.图书管理中图书是否为必填项
5.借阅管理中借阅时间,图书,学生是否为必填项
6.新增成功后,是否可以正常退出弹出框
7.新增成功后,是否提示操作成功
(3)修改信息:
1.选中一条或多条信息,是否弹出修改提示框
2.修改完成,点击提交,提示操作成功
3.修改完成,点击关闭,是否取消修改退出弹出框
4.选中多条信息,修改按钮无法点击
5.未选中学生信息,修改按钮无法点击
6.是否姓名\学号\班级\邮箱等信息都可以正常修改
(4)删除信息:
1.选中一条或者多条,是否弹出删除框
2.未选中信息,修改按钮无法点击
3.选中一条或多条信息,点击确认删除,删除成功
4.选中一条或多条信息,点击取消按钮,取消删除,退出弹出框
(5)其他功能:
1.点击刷新按钮,是否正常刷新
2.点击搜索对话框,输入关键字,回车是否显示对应所要搜索的信息
3.点击切换按钮被,是否变成纵向展示信息
4.再次点击切换按钮,是否切换回原来界面
5.点击全屏按钮,是否切换为全屏
6.再次选中全屏按钮,是否退出全屏
7.点击列表按钮,取消或者选中某列,主页面是否可以正常显示
8.点击右下角数字框,是否跳转至相应页面
9.点击左下角数字框,是否正常改变每页显示的条数
10.点击右上角其他功能页面,是否跳转至其他页面

2.界面测试

(1)登录界面
1.背景图片是否可以正常显示
2.“图书管理系统”字样是否在对话框的中央显示。
3.用户名、密码框大小是否合理
4.记住我、用户注册、登录按钮大小布局是否合理
(2)主界面
1.新增修改删除按钮颜色大小布局是否合理
2.左上角用户图像是否正常显示
3.刷新,搜索,全屏,切换.列表按钮是否正常显示
4.左下角是否展示分页记录
5.右下角是否展示分页页码
6.每页是否展示7条记录
(3)字体:
1.页面字体大小粗细是否合理
2.字体颜色是否合理
3.是否有错别字
4.展示的位置是否合理
(4)其他
1.浏览器大小发生变化时,系统页面是否随之变化

3.易用性测试

1.点击搜索框,是否匹配到相应信息
2.搜索框是否实现了模糊匹配
3.界面,布局符合人的意识行为
4.按钮位置明显,易操作
5.按钮区分明显
6.实现一次删除多个需要删除的信息

4.兼容性测试

1.是否适应不同浏览器
2.是否适应不同操作系统(windows Linux MAC)
3.是否适应不同系统版本
4.是否适应不同浏览器版本

5.性能测试

1.单次使用该系统的耗电量
2.cpu及内存利用率的大小
3.登陆成功跳转至相应界面所需时间
4.弱网时执行该操作所需的时间
5.输入URL跳转至登录界面所需的时间

6.安全性测试

1.如果有SQL注入,是否可以正常操作
2.单次操作是否会保存记录

三.自动化测试

测试工具:selenium
使用了unittest框架进行编写脚本,脚本代码如下:

from selenium import webdriver
import unittest
import time
from selenium.webdriver.common.keys import Keysclass Baidu1(unittest.TestCase):def setUp(self):print("------setUp()-------")self.driver=webdriver.Chrome()self.url="http://localhost:8080"self.driver.maximize_window()time.sleep(3)def tearDown(self):print("------tearDown()-------")self.driver.quit()#登录# @unittest.skip("skipping")def test_login(self):driver=self.driverdriver.get(self.url)time.sleep(6)driver.find_element_by_name("username").send_keys("abc")time.sleep(3)driver.find_element_by_name("username").send_keys(Keys.TAB)driver.find_element_by_name("password").send_keys("123")time.sleep(3)driver.find_element_by_name("password").send_keys(Keys.ENTER)time.sleep(6)# 新增# 点击新增def test_add(self):driver=self.driverdriver.get(self.url)time.sleep(6)driver.find_element_by_xpath("//*[@id='stu_table_toolbar_add']").click()driver.implicitly_wait(5)# 输入姓名driver.find_element_by_xpath("//*[@id='stu_table_toolbar_add_form_studentName']").send_keys("one")driver.implicitly_wait(5)# 输入学号driver.find_element_by_xpath("//*[@id='stu_table_toolbar_add_form_studentNo']").send_keys("123")driver.implicitly_wait(5)# 输入身份证号driver.find_element_by_xpath("//*[@id='stu_table_toolbar_add_form_idCard']").send_keys("123456")driver.implicitly_wait(5)# 输入邮箱driver.find_element_by_xpath("//*[@id='stu_table_toolbar_add_form_studentEmail']").send_keys("123QQ.com")driver.implicitly_wait(5)# 点击班级,并选择所在的班driver.find_element_by_css_selector("#stu_table_toolbar_add_form > div:nth-child(2) > div:nth-child(2) > div > button > div > div > div").click()driver.implicitly_wait(5)driver.find_element_by_css_selector("#stu_table_toolbar_add_modal > div.bs-container.dropdown.bootstrap-select.col-md-7.show > div > div.inner.show > ul > li:nth-child(3) > a > span.text").click()driver.implicitly_wait(5)# 提交driver.find_element_by_xpath("//*[@id='stu_table_toolbar_add_form_submit']").click()time.sleep(5)# 修改def test_login(self):driver=self.driverdriver.get(self.url)time.sleep(6)driver.find_element_by_css_selector("#stu_panel > div.bootstrap-table.bootstrap4 > div.fixed-table-pagination > div.float-right.pagination > ul > li:nth-child(4)").click()driver.implicitly_wait(5)driver.find_element_by_css_selector("#stu_table > tbody > tr:nth-child(2) > td:nth-child(2)").click()driver.implicitly_wait(5)driver.find_element_by_css_selector("#stu_table_toolbar_update").click()# 进行修改driver.find_element_by_xpath("//*[@id='stu_table_toolbar_update_form_studentName']").clear()driver.find_element_by_xpath("//*[@id='stu_table_toolbar_update_form_studentName']").send_keys("仙女")driver.implicitly_wait(5)# 提交driver.find_element_by_xpath("//*[@id='stu_table_toolbar_update_form_studentName']").send_keys(Keys.ENTER)time.sleep(5)# 删除def test_login(self):driver=self.driverdriver.get(self.url)time.sleep(6)driver.find_element_by_css_selector("#stu_panel > div.bootstrap-table.bootstrap4 > div.fixed-table-pagination > div.float-right.pagination > ul > li:nth-child(4)").click()driver.implicitly_wait(3)driver.find_element_by_css_selector("#stu_table > tbody > tr:nth-child(3) > td.bs-checkbox").click()driver.implicitly_wait(3)driver.find_element_by_css_selector("#stu_table_toolbar_delete").click()driver.find_element_by_css_selector("#stu_table_toolbar_delete_confirm_modal_submit").click()time.sleep(5)if __name__=="__main__":unittest.main(verbosity=1)

四.性能测试

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

2.三个用户并发测试

3.五个用户并发测试

五.项目展示

1.学生管理页面(登陆进去默认页面)
2.新增

3.修改

4.删除

图书管理系统项目测试相关推荐

  1. pythonweb图书管理系统_部署图书管理系统项目

    部署准备 部署图书管理项目你将使用以下软件 nginx uWSGI CentOS7 部署图书管理项目文件 virtualenv supervisor WSGI.uWSGI python web服务器开 ...

  2. 云借阅图书管理系统的测试项目实践

    一.项目启动,介入了解需求 二.需求分析 三.制定测试方案(计划 + 策略) 四.测试执行流程 五.编写测试用例 六.测试执行 6.1 环境搭建 6.2 准备工作 6.3 执行 6.4 缺陷管理 七. ...

  3. 基于Node与express完成图书管理系统项目

    基于express实现图书信息的增删改查 该项目一共包含三个版本,前两个版本是存储方式不同,第三个版本是渲染方式不同. 实现该项目可以用到两种存储方法,一种是使用静态的json文件存储图书信息,通过对 ...

  4. 根据教程编写及完成图书管理系统项目分享

    使用工具:编译器:Intellij IDEA,数据库:MySQL8.0,Navicat 12,Tomcat:apache-tomcat-8.5.66-windows-x64 (注:部署该系统需要以上工 ...

  5. 影院活动管理系统 项目测试与部署

    1.1系统测试 本系统实现了登录时的用户选择,即用户/管理员.活动的增加,活动内容的更改以及过期活动消息的删除功能等,完美运行,用户信息.活动信息等皆与数据库连接,可在系统内更改数据库信息,也可在数据 ...

  6. Spring Boot图书管理系统项目实战-3.用户登录

    导航: pre:  2.项目搭建 next:4.基础信息管理 只挑重点的讲,具体的请看项目源码. 1.项目源码 需要源码的朋友,请捐赠任意金额后留下邮箱发送:) 2.登录页设计 <!DOCTYP ...

  7. Django学习笔记《一》图书管理系统项目挂载到阿里云

    项目示例 pycharm编译好的项目 阿里云服务器域名 成果展示 如果不能访问,可能端口已经关闭. 遇到的问题一大堆,大量使用网上文章,如有问题,进行留言联系. 简单做一个记录供自己查阅和检索,以备下 ...

  8. 图书管理系统-项目介绍

    1.环境说明 使用语言: jdk: 1.7.0-15 tomcat:7.0 mysql: 5.5.55 编辑器: Eclipse 使用域名: www.library.com 前端框架: bootstr ...

  9. 图书管理系统项目导入

    1.file→open-导入文件 2.必须用JDK1.8以及GBK模式 3.将目录标记为源目录 4.将lib添加为库 5.将moudule下的login文件第21行后面改为大写Loign 6.运行AP ...

最新文章

  1. awk 添加自定义变量
  2. python空类型-python 空类型
  3. Entity Framework CodeFirst For Oracle[转]
  4. 预备AI工程师升级必备:大厂常见图像分类面试题
  5. Atitit.  c# 语法新特性 c#2.0 3.0 4.0 4.5 5.0 6.0   attilax总结
  6. 操作系统 --- 进程和管程的不同
  7. hello my first blog
  8. XP下安装SQL2000企业版
  9. ROS学习笔记13(测试一个简单的消息发布和消息订阅)
  10. 【零基础学Java】—对象的向上和向下转型(二十七)
  11. 机器学习基础(四十六)—— 遗传算法(GA)
  12. Android - UI
  13. scrapy中文网学习笔记
  14. UPCOJ-5344 - 被子 - 瞎搞
  15. Arduino Mega2560 PWM
  16. 封神了,华为天才少年自制硬萌机器人,再次刷屏网络
  17. 电容的电抗|X|,总阻抗|Z|和等效电阻R
  18. TCP/IP面试相关问题
  19. 模拟输入H.264流,输出封装格式文件(API版)
  20. DirectUI界面库

热门文章

  1. 基于element组件商品sku多规格
  2. 删除excel中所有公式并保留数值
  3. CP=CAO PSA OUR 用P3P header解决iframe跨域访问cookie
  4. 虚拟机终端输入git clone https://github.com/.......git无反应,或者出现fatal: 无法访问 ‘https://github.com/.....
  5. 什么样的创业者可能成功?——蒋涛PK Leo
  6. 人月神话读书笔记(一)
  7. java iterable stream,在Java中将Iterable转换为Stream
  8. Qt Creator 或者VS+Qt运行OpenGL程序,部分opengl语句执行,但部分效果没有出现,且报错。
  9. Z平台-数据交换平台应用
  10. 浅谈HFSS软件中端口有源S参数(Active_SParameter)