目录
一、项目背景
二、项目功能
三、测试计划
(1)功能测试
(2)自动化测试
(3)性能测试
一、项目背景
1、个人博客系统是一个操作简单的基于Spring前后端分离的项目,同时使用MySQL数据库来进行数据存储,并对项目进行测试,并完成部署上线,前端由四个页面组成:登录页面,博客列表页,博客详情页以及博客编辑(添加)页,通过以上四个页面实现一个简单的个人博客系统,在这个页面你可以记录自己学习的知识,所见所闻等等分享。为了配合前端页面,后端也实现了以下主要功能:登录、注销,添加博客,查看博客,对自己博客进行再次编辑、删除,以及强制登录等功能;
2、项目没有实现用户注册功能,只能在数据库中添加用户信息来进行校验登录,头像背景都是静态的,固定的,可以通过前端代码实现替换;用户信息中的博客数量和文章分类页没有实现;
二、项目功能
该项目主要是可以实现个人简单的登录,注销,博客记录,查看,编辑,删除等主要功能;
1、登录注销功能:账号是通过提前写入数据库,没有注册功能实现,主页右上角有主页,写博客,注销是三个按钮,分别对应回到主页,写博客,注销(回到登录页面)功能;未登录状态访问其他页面会立即跳转到登录页面。
2、列表页面:成功登录之后,会跳转到列表页,列表每页展示4篇博客,可以对博客列表进行翻页,以查看不同的博客,还可以对博客进行查看全文,对自己的博客可以进行在此编辑或者删除,
3、详情页面:在列表页面点击查看全文,可以跳转到博客的详情页,对于不是自己的博客只有查看功能,对于是自己的博客可以对博客内容进行再次编辑,或者删除。
4、添加博客:登录成功以后,在主页右上角有写博客按钮,会跳转到写博客页面,点击发布发布文章,在对标题和内容进行校验成功之后,会直接跳转到列表页,第一条博客就是最新更新的博客。
三、测试计划
(1)功能测试
1、测试用例
2、实际检测功能截图
正常登录(跳转列表页)
异常登录(弹窗极警告)
查看全文(不是自己的文章,不显示编辑,删除)
查看自己的文章(显示编辑,删除)
写博客(输入博客标题,博客内容就发布成功)
注销(点击注销,跳转登录页)
(2)自动化测试
1、针对个人博客项目进行测试,个人博客主要由四个页面构成:登录页、列表页、详情页和编辑页,主要功能包括:登录、编辑并发布博客、查看详情、删除博客以及注销等功能。对于个人博客的测试主要就是针对主要功能进行测试,然后按照页面书写测试类。
2、自动化测试一般步骤:
1)使用脑图编写web自动化测试用例
2)创建自动化项目,根据用例来实现脚本
3、脑图
4、测试类
5.AutoTestUtils(公共类)
- 初始化浏览器(
createDriver()
)- 打开目标网页(通过构造函数)。
- 保存网页截图(
getScreenShot()
)。
6.PageNoLoginTest(没有登录-网页测试)
- 页面能够正常显示
- 访问各个网页,检查是否除了登录页都能因为没有登录而跳转到登录页
7.BlogLoginTest(登录测试)
- 页面能否正常显示
- 异常登录,是否能警告
- 正常登录,是否能够跳转
8.ListPageTest(列表页测试)
- 页面是否能够正常显示
9.PageDetailTest(博客详情页测试)
- 页面是否正常显示
- 查看全文,内容是否显示正确
10.UpdatePageTest(更新页面测试-测试编辑和删除功能(前提第一篇是自己的文章))
- 页面是否正常显示
- 查看全文,内容是否显示正常
- 编辑和删除按钮是否正常显示
- 点击编辑是否正常跳转到编辑页面
- 编辑页面显示的内容是否是文章的内容
- 测试删除功能
- 删除之后校验删除前后第一篇文章的id(通过url获取)
11.EditBlogTest(添加博客测试)
- 编辑博客页面是否正常
- 添加标题,通过鼠标键盘模拟输入博客正文
- 点击更新文章
- 检查第一篇文章是否是刚刚发布的内容
测试代码:https://gitee.com/tianma-star/blog-system-automation-test/tree/master/BlogAutoTest
(3)性能测试
使用jmeter进行简单性能测试:针对登录、发布博客以及获取列表页,详情页,用户信息进行简单的性能测试,对登录循环读取csv文件不同的用户数据。
由于自己电脑硬件条件有限,开始5000个线程,每秒增加1000个,增加到5000个线程的时候保持运行20秒,此后每秒停止1000个线程。
聚合报告:
响应时间(曲线图)
吞吐率
性能测试报告
(命令生成测试报告)
测试报告网页