个人博客项目测试报告

个人博客项目测试报告


个人博客系统网址: http://124.220.51.144:8020/login.html

0、准备工作:在 idea 社区版中需要安装一些 “csv”的插件,才能避免参数化的过程中出现莫名其妙的报错,如果是 idea 正式版可以直接略过。
image.png
需要安装这三个插件,在参数化 @CsvFileSource idea社区版通过提示创建一下对应的csv文件,才能读取对应的参数,没有安装这三个插件就可能读取不到参数。
0.1、导入正确的自动化测试依赖,可能在项目中有多个版本的包,报错的时候也需要检查自己的依赖导入的版本是否一致。

项目描述:

​ 个人博客系统采用前后端分离的方法来实现,该个人博客系统主要实现了注册,登录,写博客,修改博客,删除博客,退出登录,显示文章详情,显示文章列表等功能,模拟了最简单的个人博客功能;主要用的技术为:SSM,多线程,密码加盐,拦截器,Redis,Mysql,Ajax等技术。同时部署云服务器上,使用数据库来存储用户相关信息。

一、测试用例:

1.1、脑图

image.png

这里面需要设计测试用例有很多,这里只是采取了一部分核心内容开始测试,当然也可以拓展很多的测试用例,不局限于我这张图

二、自动化功能测试用例

T1est_ug.gif

实际执行的测试用例:
1、正常的登录;
2、打开列表详情页;
3、写博客;
4、删除博客;
5、退出登录;

自动化测试的功能有很多,这里只是列出了平常大家都会用到的功能进行测试用例,可以继续拓展的。

用到了那些方法语言测试,可以看一下的参考博客
自动化测试参考博客:
元素定位篇:
https://blog.csdn.net/qq_54219272/article/details/123310772?spm=1001.2014.3001.5502
完结篇:
https://blog.csdn.net/qq_54219272/article/details/123338773?spm=1001.2014.3001.5502

这是python语言,写的自动化测试,但本次测试使用的 java+JUnit

测试代码都是大差不差,只不过 JUnit 需要加入相关的依赖和注解,代码可以借助编译器的提示进行。
JUnit参考博客:https://blog.csdn.net/qq_54219272/article/details/133828453?spm=1001.2014.3001.5501
Gitee自动化代码(JUnit):https://gitee.com/yuanye12123/blog_-junit-test

自动化测试代码编写注意事项:
1、根据脑图来进行测试用例的编写,每一个类对应一个功能;
2、首先创建了一个初始化的类 InitAndEnd,通过static修饰静态变量全局只创建一次驱动对象,保证浏览器的打开和关闭,避免重复创建驱动对象造成的浪费。
3、再来就是测试用例 BlogCases,继承 InitAndEnd;
4、使用测试套件,指定执行测试用例的顺序;
5、注意参数化注解的使用,可能idea社区版的问题有些参数化会有一些小BUG,但是大致下载上面提及准备工作就差不多了;
6、注意添加隐式等待,需要等待页面渲染完成,不然容易报错;
7、使用屏幕截图:方便问题的追溯和问题的解决。

三、性能测试

使用的是LoadRunner 进行简单性能测试,针对登录…进行简单的性能测试;
在是实现过程中,用到了事务,插入集合点,插入检查点,参数化,打印日志,并通过设置来实现用户的并发操作

3.1、使用 VUG 进行登录测试

1、先创建好 VUG 项目,添加访问地址;
image.png
2、通过脚本的录制进行性能测试脚本的编写
image.png
同时再编写脚本的过程种也实现了脚本加强:

  1. 对登录操作添加事务,为了衡量服务器的性能,我们需要定义事务;
    1. 开启事务:lr_start_transaction(“loginStart”);
    2. 关闭事务:lr_end_transaction(“loginStart”, LR_AUTO);
  2. 进行了插入集合点,这是为了实现并发操作设计的集合点,是虚拟用户短暂集合,集合完毕进行放行,产生并发数;
    1. 插入集合点:lr_rendezvous(“login_rendezvous”);
  3. 插入检查点,一定注意函数只放在要检查的URL前面,不要随便再往前面放置,目的是检查服务器是否能够准确返回指定的测试对象;
    1. 插入检查点:web_reg_find(“Fail=NotFound”,“Search=All”,“SaveCount=”,“Text=2023”,LAST);
  4. 设置参数化:用户不可能都是固定的账号或者密码,需要用参数化更灵活的解决用户名及密码有多个的情况;
  5. 打印日志:是否打印出来的东西符合预期
    1. lr_log_message(“登录成功”);
    2. lr_output_message( );

最终脚本测试通过:
image.png

3.2、使用Controller设计场景测试

1、在此次测试中使用10个虚拟用户,太多防止电脑崩溃
2、设计的场景:
image.png
2、场景运行结束截图:
image.png

3.3、生成的Analysis报告

这是生成的总体报告,看测试报告主要是看平均值和标准偏差,标准偏差越大说明越不稳定
image.png

1、点击率
显示性能测试场景中运行期间的每一秒内http向服务器发送的HTP请求数。
image.png
2、吞吐量
用户一次请求和服务器之间的数据交互量,吞吐量的大小直接体现服务器的承载能力
image.png

3、系统资源
a、processor Time
CPU使用时间。被消耗的处理器时间数量,服务器专用于可接受的最大上限一般是80%~85%,也就是常见的CPU使用率。
b、Available Mbytes
可用的物理内存。
image.png

猜你喜欢

转载自blog.csdn.net/qq_54219272/article/details/134021701