【LoadRunner】博客笔记项目 性能测试报告

文章目录

  • 前言
  • 一、博客笔记项目性能测试介绍
  • 二、编写性能测试脚本(VUG)
  •       2.1 测试脚本编写步骤
  •       2.2 脚本总代码和结果分析
  • 三、创建测试场景(Controller)
  •       3.1 测试场景创建实现步骤
  • 四、生成测试报告(Analysis)
  •       4.1 测试报告
  •       4.2 报表分析
  • 五、遇到的问题
  • 总结


前言


一、博客笔记项目性能测试介绍

使用loadrunner进行简单性能测试:

(1)测试功能:

针对登录、编写并发布博客以及删除博客、注销等功能进行简单的性能测试。

(2)测试进阶:
然后在实现的过程中,插入集合点以及事务等,并通过设置来实现用户的并发操作。


博客笔记页面展示:
博客登录页:

博客列表页:

博客详情页:


二、编写性能测试脚本(VUG)

2.1 测试脚本编写步骤

1、创建项目

由于我们测试的博客系统是一个Web项目,因此需要创建一个Web性能测试脚本。


2、代码编写

(1)访问博客笔记系统登录页面实现:
使用web_url 函数访问到博客笔记系统登录页面,为后续操作做准备。


(2)输入登录账号和密码进入博客详情页

使用web_submit_form函数访问到博客笔记系统详情页面

使用form函数是因为登录页面中NetWork,本web是使用form表单形式进行提交请求的。


(3)性能测试脚本的增强操作

1.添加事务

lr_start_transaction 开启事务
lr_end_transaction 结束事务

2.添加集合点:

lr_rendezvous 集合点设置(若存在事务则在开启前面进行设置)


3.添加检查点:

在页面中查找某元素是否存在(如避免用户的越权行为)
web_reg_find (注意:也是加在前面的,但是如果存在事务则可以是在开启事务之后)


2.2 脚本总代码和结果分析

代码总结:

Action()
{   
	
	//开始事务
	lr_start_transaction("index_trans");
	//进入博客笔记登录页
	web_url("index",
		"URL=http://81.70.49.37:8080/BlogSystem/blog_login.html",
		"TargetFrame=",
		"Resource=0",
		"Referer=",
		LAST);
	//插入登录集合点
	lr_rendezvous("login_rendezvous");
    //设置登录事务
	lr_start_transaction("login_trans");
	
	//插入登录后检查点
	web_reg_find("Text=注销用户",
		LAST);
	//登录后进入博客笔记详情页
	web_submit_form("login",
		ITEMDATA,
		"Name=username", "Value=zhangsan", ENDITEM,
		"Name=password", "Value=123", ENDITEM,
		LAST);
    //结束事务
	lr_end_transaction("login_trans", LR_AUTO);
	lr_end_transaction("index_trans", LR_AUTO);

	return 0;
}

执行结果和分析:


测试脚本通过:


三、创建测试场景(Controller)

3.1 测试场景创建实现步骤

步骤(1)设置虚拟用户并发数量

设置5个虚拟用户,防止电脑崩溃


步骤(2)在Controller中设置场景

1.Action  type lnitialize

设置每隔多久初始化一次


2.Action  type  Start Vusers

没10s上台2个用户。


3.Action  type  Duration

总持续运行时间3分钟


4.Action  type  Stop  Vusers

每8s退出两个用户


步骤(3)开始进行运行,性能测试开始

运行结果图:


四、生成测试报告(Analysis)

4.1 测试报告

测试报告图示:


4.2 报表分析

(1)点击率报表:


(2)吞吐量报表:


(3)平均事务响应时间:


分析结果总结:
① 剩余的物理内存近70%,即使用了近30%的内存,对于简单的博客系统的核心功能来说还是较高的内存使用,还有内存优化的空间。
② 当点击率较大时CPU使用也是达到了一个较高的点,CPU利用率较高。
③ 总之,该性能还有优化的空间。


五、遇到的问题

问题1:

在VUG中编写脚本时,设置检查点运行一直出错,not found。
1)原因:用户名、密码中因为包含中文,中文会被转码,所以在会一直失败。此时登录直接是失败的,并没有跳转到list列表页面。
2)解决方法:使用Xshell在数据库中新增了两条用户数据,全是非中文字符;然后再VUG中修改变量列表,此时重新进行测试,发现运行通过。


问题2:

如果直接设置访问list页面的url,并且在该请求之前设置检查点,此时是可以检查到列表页面的元素的。此时明明没有进行登录,但是为什么直接访问列表的url是可以拿到该页面的元素的呢?
解析:手动请求的haul就相当于是获取资源,所以就能够拿到页面,也就能够获取到页面信息。使用postman进行直接访问测试,发现是可以拿到该页面的相关元素的。

总结

  • 14
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值