努力经营当下,直至未来明朗!
普通小孩也要热爱生活!
一、项目背景
- 个人博客系统采用前后端分离的方法来实现,同时使用了数据库来存储相关的数据,同时将其部署到云服务器上。前端主要有四个页面构成:登录页、列表页、详情页以及编辑页,以上模拟实现了最简单的个人博客系统。其结合后端实现了以下的主要功能:登录、编辑博客、注销、删除博客、以及强制登录等功能。
- 但是该项目没有设计用户注册功能,只能提前在数据库中存储用户信息后经过校验登录;并且用户头像不能自己设定,在进行前端页面的书写过程中已经将头像的图片写为静态了;而用户信息中的文章数以及分类数也没有在后端中具体实现,直接在前端页面中写为了静态的。
- 该个人博客系统可以实现个人用户简单的博客记录,时间、标题、内容以及发布者等都可以进行详细地查看。
二、项目功能
该个人博客系统主要实现了以下几个功能:登录、注销、写博客以及删除博客等功能。
- 登录功能:用户名以及密码已经在后端写入了数据库,没有实现账户注册功能,即:用户名以及密码是已经存在的。登录成功后就会跳转到列表页面。在右上角存在主页和写博客两个按钮,但是在未登录情况下按下均只会跳转到登录页面。
- 列表页面:可以在列表页查看有限数量的博客简介,其包括博客标题、发布时间以及内容概要。在左侧可以看到登录的用户以及文章数、分类数等的模块。在右上角有主页、写博客和注销三个功能:主页即列表页,写博客即博客编辑页,注销即注销用户,回到登录页面。
- 详情页面:在列表页面点击“查看全文”按钮就会跳转到详情页,此时就可以看到该篇博客的完整内容。在右上角同样有主页、写博客、删除和注销四个功能:删除即删除该篇博客,删除之后就会跳转到列表页面,该篇博客就被成功删除。
- 写博客:在登录之后的任意界面点击“写博客”之后就会进入博客编辑页面,此时就可以进行博客的编写,点击“发布文章”后就可以成功发布文章,此时就会跳转到列表页。
三、测试计划
一)功能测试
-
测试用例:
-
实际执行测试的部分操作步骤/截图
1)正常登录:
2)写博客测试:
3)发布成功并查看详情页
4)删除博客
进入详情页,并点击“删除”之后成功删除,如2023-02-27 22:38::53的博客就已经被成功删除。
5)注销:点击“注销”后回到登录页
二)自动化测试
自动化测试参考:
自动化测试
三)性能测试
使用loadrunner进行简单性能测试:针对登录、编写并发布博客以及删除博客、注销等功能进行简单的性能测试。
然后在实现的过程中,插入集合点以及事务等,并通过设置来实现用户的并发操作。
登录测试
-
添加访问地址
-
通过开发者工具查看请求发送的格式,以此来进行性能测试脚本的编写。发现:用户名以及密码是使用form表单的形式来进行发送的。
-
因为用户名以及密码可以有多个,所以可以进行参数化。
-
添加事务以及集合点、检查点:注意检查点一般放在请求之前。
-
设置迭代次数:为了能够更好地遍历到所有的参数,一定要进行保存。
-
检查点:一定注意函数只放在要检查的URL前面,不要随便再往前面放置。(即:只放在需求之前)
-
脚本测试通过
-
设置并发数量进行性能测试,并导出测试报告以及图表
1)设置10个虚拟用户,防止电脑崩溃
2)在Controller中设置场景
3)开始进行运行,性能测试开始(运行中+结束截图)
4)在Analysis中查看性能报告以及报表
① 报告
② 点击率
③ 吞吐量
④ 系统资源
5)分析系统资源
① 剩余的物理内存近70%,即使用了近30%的内存,对于简单的登录功能来说还是较高的内存使用,还有内存优化的空间。
② 当点击率较大时CPU使用也是达到了一个较高的点,CPU利用率较高。
③ 总之,该性能还有优化的空间。
难点
在VUG中编写脚本时,设置检查点运行一直出错,not found。
1)原因:用户名、密码中因为包含中文,中文会被转码,所以在会一直失败。此时登录直接是失败的,并没有跳转到list列表页面。
2)解决方法:使用Xshell在数据库中新增了两条用户数据,全是非中文字符;然后再VUG中修改变量列表,此时重新进行测试,发现运行通过。
3)相关问题:如果直接设置访问list页面的url,并且在该请求之前设置检查点,此时是可以检查到列表页面的元素的。此时明明没有进行登录,但是为什么直接访问列表的url是可以拿到该页面的元素的呢?
答:手动请求的haul就相当于是获取资源,所以就能够拿到页面,也就能够获取到页面信息。
使用postman进行直接访问测试,发现是可以拿到该页面的相关元素的。