课程名称:
软件测试技术
试用账号:
用户名:everyone
密码:123456789
一、综述
- 制作教师管理系统,并进行系统测试。
- 使用Junit对三层架构的数据访问层、业务逻辑层进行测试。
- 使用Selenium对教师的添加、查询、修改与删除,对系部的添加、查询、删除进行功能测试。
- 使用JMeter进行性能测试(基于云服务器)。
- 使用SourceMonitor进行代码分析。
- 项目网址:https://javaweb.moeneko.top/
- 项目代码Git仓库:https://gitee.com/HatsuneMona/JavaWeb_Study
二、系统需求分析
1. 功能需求
教师管理系统主要实现查询在校所有教师的功能、新增系部等功能。所包含的主要功能如下所示:
![](https://kodo.cdn.moemona.com/wp-content/uploads/2020/04/image-1.png)
- 添加新教师
添加新的教师,其中包括教职工编号、教职工姓名、工龄、任职系部、性别五种信息。
- 删除教师
删除一名已有教师。
- 修改教师信息
修改一名教师的信息,其中教职工编号不能修改。
- 查询教师信息
查询全部,或指定要查询的教师编号,进行查询。查询界面可选择要操作的教师进行修改或删除的操作。
- 添加新系部
添加新的系部,需要系部编号、系部名、系部主任(编号)等信息。
- 查询系部
查询所有系部。
- 删除系部
删除指定系部。
2. 非功能性需求
- 可用性
本系统已部署到云服务器上,可以24小时,在任何地方访问到本系统。
- 性能需求
系统尽可能快速地对用户的操作进行相应。
- 安全性要求
本系统对密码的保存与验证均采用MD5方式加密。
采用Https加密传输网页数据。
- 兼容性要求
兼容主流浏览器访问。
三、单元测试
1.针对DBUtil(数据库连接模块)的测试
![](https://kodo.cdn.moemona.com/wp-content/uploads/2020/04/image-2-1024x158.png)
2.针对DeptDAO(系部数据库接口)的测试
a) 系部添加
![](https://kodo.cdn.moemona.com/wp-content/uploads/2020/04/image-3-1024x224.png)
测试用例:(非主键值略)
系部编号(主键) | 返回值 | 测试结果 |
55 | 1 | 正确添加 |
55 | 0 | 添加失败 |
66 | 1 | 正确添加 |
77 | 1 | 正确添加 |
null | / | 数据非法,操作失败 |
b) 系部查询
![](https://kodo.cdn.moemona.com/wp-content/uploads/2020/04/image-4-1024x229.png)
测试用例:(非主键值略)
查询系部编号 | 返回系部列表大小 | 测试结果 |
1 | 1 | 有一个编号为1的系部 |
null | 15 | 总共有15个系部 |
34 | 0 | 没有编号为34的系部 |
2 | 1 | 有一个编号为2的系部 |
c) 系部删除
![](https://kodo.cdn.moemona.com/wp-content/uploads/2020/04/image-5-1024x235.png)
测试用例:(非主键值略)
删除系部编号 | 返回值 | 测试结果 |
55 | 1 | 删除成功 |
null | / | 数据非法,无效操作 |
35 | 0 | 删除失败 |
2 | 1 | 删除成功 |
3.针对TeacherDAO(教师相关数据库接口)的测试
a) 添加老师
与DeptDAO(系部相关数据库接口)类似,略。
若添加的教师所选择的系部没有在系部表中,则该教师会添加失败。
b) 查询老师
与DeptDAO(系部相关数据库接口)类似,略。
c) 删除老师
与DeptDAO(系部相关数据库接口)类似,略。
d) 修改老师
![](https://kodo.cdn.moemona.com/wp-content/uploads/2020/04/image-6-1024x638.png)
4.针对UserDAO(用户相关数据库接口)的测试
a) 添加用户
与DeptDAO(系部相关数据库接口)类似,略。
b) 用户登录
![](https://kodo.cdn.moemona.com/wp-content/uploads/2020/04/image-7-1024x228.png)
测试用例:(非主键值略)
输入的用户名 | 输入的密码 | 数据库返回值 | 测试结果 |
testuser | 12345678 | 1 | 登录成功 |
null | Xxx | / | 失败 |
root | Asd369 | 0 | 登录失败 |
Stu1 | 9xxs3d | 0 | 登录失败 |
c) 用户注销
![](https://kodo.cdn.moemona.com/wp-content/uploads/2020/04/image-8.png)
四、功能测试
1.使用Selenium IDE进行系统的功能测试
测试项目 | 结果 |
录入教师测试_正常录入 | 成功 |
录入教师测试_非法录入 | 成功 |
教师修改测试 | 成功 |
教师删除测试 | 成功 |
教师查询测试 | 成功 |
登出测试 | 成功 |
登录模块测试_正常登录 | 成功 |
登录模块测试_非法登录 | 成功 |
系统界面自适应测试 | 成功 |
系部添加、查询、删除测试 | 成功 |
![](https://kodo.cdn.moemona.com/wp-content/uploads/2020/04/image-9.png)
五、 代码规范性验证
1.代码格式
代码从编写到最后全部采用Google公司的代码规范。且每次提交到Git前,IDE自动把所有的代码进行格式化与规范。
![](https://kodo.cdn.moemona.com/wp-content/uploads/2020/04/image-10.png)
![](https://kodo.cdn.moemona.com/wp-content/uploads/2020/04/image-11.png)
六、 性能测试
1.JMeter性能测试
![](https://kodo.cdn.moemona.com/wp-content/uploads/2020/04/image-12.png)
七、 结论与总结
在进行系统构造编码的时候时刻需要想着代码的规范性,对代码目录的整理管理有助于写代码时候的思路清晰。
进行系统功能编写的时候,要实时地进行junit单元测试,为以后的代码编写铺好道路,让我们可以将繁化简。
Selenium IDE功能测试工具可以极大地简化我们的功能测试,一次录制脚本,一劳永逸。
将代码放到生产环境的时候遇到很多的问题,这些问题需要我们在构建项目的时候就考虑好,尤其是java版本,Tomcat版本之类的生产环境版本的问题。