基于SpringBoot的博客系统测试报告
一、编写目的
本报告为博客系统测试报告,本项目模拟了csdn,实现了包括了用户登录,发布博客文章,查看博客等功能。
二、项目背景
博客系统采用前后端分离的方法来实现,同时使用了数据库来存储相关的数据,同时将其部署到云服务器上。
前端主要有三个页面构成:登录页、博客详情页、博客正文页。其结合后端实现了以下的主要功能:登录、增加博客文章,修改博客正文以及退出登录等功能。
三、相关模块
1.登录模块:登录时用Session获取用户表,在获取用户id来使后端将用户信息存储在Session中,在登录时通过获取用户对应的账号以及密码进行校验,如果都匹配则给予token令牌放行,登录通过,如果校验失败则需要重新输入登录信息,再次进行登录校验。
2.主页模块:用户通过请求发送数据到后端,后端获取抽奖人员id并通过RequestMapping注解来处理前端的请求并返回响应。
3博客增删改模块:通过后端实现了发布博客,修改博客正文,查看博客正文等功能。
四、测试环境
硬件配置
内存:8.00 GB
软件配置
Windows11,Chrome浏览器(功能测试)
拦截统一:通过拦截器对http请求进行统一拦截并采用统一的响应数据格式。
五、测试功能
该在线抽奖系统主要实现了以下几个功能:登录,查看博客列表,查看博客正文,修改博客正文。
登录功能:
管理员登录页面没有实现注册功能,用的是原先sql脚本里注入的数据。登录成功后就会跳转到博客详情页面。在右上角有退出登录按键,但是在未登录情况下强制访问页面会强制返回到登录页。
博客详情页面:
博客详情页简单展示了用户信息,发表过的所有博客,点击博客列表进入正文查看博客内容。
博客编辑页面:
查看博客正文点击编辑,或者点击写博客进入博客编辑页面。
个人Gitee访问:
点击个人Gitee访问GitHub。
六、测试过程
功能测试:
测试用例如下图
实际执行测试的部分操作步骤/截图
1.正常登录
2.登录成功进入博客系统页面
3.点击写博客,进入博客正文编辑页面
4.点击查看全文,查看博客正文
5.点击删除,删除博客正文
6.点击写博客,进入博客正文编辑页面
7.发布博客
8.个人Git地址页
点击跳转到个人Git页面
自动化代码编写:
根据脑图进行测试用例的编写,可以按照每个页面一个测试类的方式来组织。
首先,需要单独创建一个公共属性类,以方便进行代码复用。
接下来,在各个测试类中进行测试用例的编写。为了便于运行以及修改,可以使用测试套件。此外,启动和现场截图是频繁进行复用的操作,因此可以单独创建一个类进行存储,并在需要的时候进行调用。
在编写测试用例时,需要注意添加隐式等待,以确保页面能够正确加载和显示。这样可以有效避免因页面未完全加载导致的测试失败情况。
总之,按照脑图的规划,可以将测试用例按照页面进行分组,结合测试套件和公共属性类,以及单独存储启动和现场截图的类,来进行测试用例的编写和组织。
1. 添加相关依赖pom.xml
<dependencies>
<!-- 添加selenium依赖-->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.0.0</version>
</dependency>
<!-- 保存屏幕截图需要用到的包-->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
<!-- 添加junit5依赖-->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.8.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-suite</artifactId>
<version>1.8.2</version>
<scope>test</scope>
</dependency>
</dependencies>
2. 新建包并在包下创建测试类以及公共类
以下是所建立的是common公共包和Tests测试包:
1公共类
创建驱动、保存现场截图
注意:在保存现场截图的时候命名是按时间来进行文件夹的划分,然后图片的名称要体现出测试类的类名,方便进行问题的追溯。
注意文件名的动态获取,注意时间格式的设置。
2登录页面测试
创建驱动,并打开页面
测试页面是否正常打开
测试正常登录:多参数测试
测试用户注册:多参数测试
3编辑页测试
测试能否正确添加正文内容
测试正文是否可以正确发布
4详情页测试
测试点击编辑是否正确跳转到正文编辑页
测试点几删除是否删除博客正文
5点击主页
测试点击博客是否正常查看博客正文
性能测试:
使用Jmeter进行简单性能测试:针对登录、博客列表页、博客详情页,进行简单的性能测试。对项目功能进行性能测试