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

news2024/11/15 16:20:58

文章目录

  • 前言
  • 一、博客笔记项目性能测试介绍
  • 二、编写性能测试脚本(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进行直接访问测试,发现是可以拿到该页面的相关元素的。

总结

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1928692.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

集合相关知识

string final,不能追加,需要重新new一个 stringbuild,内容 可变,可以重新赋能,能够追加,空间不足创造一个更大的,然后复制过去 stringbufferbuild 线程安全 javac编译,字符串加号…

SpringBoot介绍以及第一个SpringBoot程序

T04BF 👋专栏: 算法|JAVA|MySQL|C语言 🫵 今天你敲代码了吗 文章目录 2.第一个SpringBoot程序2.1Spring Boot介绍2.2使用idea创建Spring Boot程序2.2.1 社区版idea2.2.2专业版idea2.2.3创建SpringBoot项目2.2.4项目代码和目录介绍目录介绍pom文件 2.3Web…

Linux 上 TTY 的起源

注:机翻,未校对。 What is a TTY on Linux? (and How to Use the tty Command) What does the tty command do? It prints the name of the terminal you’re using. TTY stands for “teletypewriter.” What’s the story behind the name of the co…

【边缘计算网关教程】6.松下 Mewtocol TCP 协议

前景回顾:【边缘计算网关教程】5.三菱FX3U编程口通讯-CSDN博客 松下 Mewtocol TCP 协议 适配PLC:松下FP0H 松下XHC60ET 1. 硬件连接 Mewtocol TCP协议采用网口通信的方式,因此,只需要保证网关的LAN口和松下PLC的IP在一个网段即…

STM32怎么把VDD与VSS引脚配置为GPIO?

在 STM32 微控制器中,VDD 和 VSS 引脚是供电引脚,分别用于电源和接地。我收集归类了一份嵌入式学习包,对于新手而言简直不要太棒,里面包括了新手各个时期的学习方向编程教学、问题视频讲解、毕设800套和语言类教学,敲个…

使用base64通用文件上传

编写一个上传文件的组件 tuku,点击图片上传后使用FileReader异步读取文件的内容&#xff0c;读取完成后获得文件名和base64码&#xff0c;调用后端uploadApi,传入姓名和base64文件信息&#xff0c;后端存入nginx中&#xff0c;用于访问 tuku.ts组件代码&#xff1a; <templa…

变量筛选—特征包含信息量

在变量筛选中,通过衡量特征所包含信息量大小,决定是否删除特征,常用的指标有单一值占比、缺失值占比和方差值大小。单一值或缺失值占比越高,表示特征包含信息量越少,不同公司设置不同阈值,一般单一值、缺失值占比高于95%,建议删除。方差值越小,代表特征包含信息量越小。…

JMeter进行HTTP接口测试的技术要点

参数化 用户定义的变量 用的时候 ${名字} 用户参数 在参数列表中传递 并且也是${} csv数据文件设置 false 不忽略首行 要首行 从第一行读取 true 忽略首行 从第二行开始 请求时的参数设置&#xff1a; 这里的名称是看其接口需要的请求参数的名称 这里的变量名称就是为csv里面…

C语言程序设计实例2

C语言程序设计2 问题2_1代码2_1结果2_1 问题2_2代码2_2结果2_2 问题2_3代码2_3结果2_3 问题2_1 函数 f u n fun fun的功能是&#xff1a;计算如下公式前 n n n项的和&#xff0c;并作为函数值返回。 S 1 3 2 2 3 5 4 2 5 7 6 2 ⋅ ⋅ ⋅ ( 2 n − 1 ) ( 2 n 1 ) …

Linux操作系统——数据库

数据库 sun solaris gnu 1、分类&#xff1a; 大型 中型 小型 ORACLE MYSQL/MSSQL SQLITE DBII powdb 关系型数据库 2、名词&#xff1a; DB 数据库 select update database DBMS 数据…

Sql语句之增删改查(CRUD)

Sql语句的书写也被称之为CRUD&#xff0c;即C&#xff08;Create增加&#xff09;R&#xff08;Retrieve添加&#xff09;U&#xff08;Update更新&#xff09;D&#xff08;Delete删除&#xff09;四个操作的首字母。 我们先来看增、删、改这三个相对较为简单&#xff0c;语法…

string+迭代器

int main(){ string s0; string s1("hello word"); cout<<s1<<endl; //遍历string,下标[] for(size_t i0;i<s1.size();i) { cout<<s1[i]<<""; } cout<<endl; } 注意&#xff1a;这里size_t不算/0 迭代器 int main() {st…

Open3D 生成多个球形点云

一、概述 使用 Open3D 创建一个三角网格的球体&#xff0c;并从中均匀采样点生成点云&#xff0c;同时可以指定球体的半径和中心位置。生成 5 个不同大小和位置的圆球形点云&#xff0c;并将它们合并成一个点云以进行显示。 二、代码实现 import open3d as o3d import numpy …

Django任务管理

1、用django-admin命令创建一个Django项目 django-admin startproject task_manager 2、进入到项目下用命令创建一个应用 cd task_manager python manage.py startapp tasks 3、进入models.py定义数学模型 第2步得到的只是应用的必要空文件&#xff0c;要开始增加各文件实际…

博客都在使用的主题切换使用vue2实现思路

效果展示 步骤 1-变量定义css主题色 2-html初始化主题样式 3-vuex存储主题变量&#xff0c;点击触发修改根元素html的样式 4-method触发方法 mutation使用commit action使用dispatch 5-App组件引入该css文件&#xff0c;使用即可 6-将其加入本地存储&#xff0c;刷新后保持主…

【Git分支管理】分支合并冲突及其解决

目录 0.合并冲突 1.创建和切换dev1 ​2.dev1 bbb on dev branch ​3.master ccc on dev branch 4.dev1和master合并冲突 5.合并冲突解决 ​6.git log查看合并流程图 先提交再合并 0.合并冲突 在使用git进行合并操作的时候&#xff0c;在合并两个分支的时候就有可能出…

鹧鸪云户用业务管理系统:全流程管理+源码部署

在当今数字化转型的浪潮中&#xff0c;企业对于高效、灵活且定制化的业务管理系统需求日益增长。为满足这一市场需求&#xff0c;鹧鸪云户用业务管理系统应运而生&#xff0c;它以“全流程管理源码部署”为核心优势&#xff0c;为企业提供了一套集成化、可扩展且易于维护的解决…

最新版康泰克完整版- Kontakt v7.10.5 for Win和Mac,支持m芯片和intel,有入库工具

一。世界最受欢迎的采样器的新篇章 Native Instruments Kontakt是采样器领域的标准&#xff0c;您将获得高质量的滤波器&#xff0c;在这里您将找到经典的模拟电路和最现代的滤波器。每一个都可以根据您的口味进行定制&#xff0c;并且由于它&#xff0c;您可以获得前所未有的声…

1.6.丢弃法

丢弃法 动机&#xff1a;一个好的模型需要对输入数据的扰动足够健壮&#xff0c;丢弃法就是在层之间加入噪音。也可以在数据中使用噪音&#xff0c;等价与Tikhonov正则 无偏差的加入噪音 ​ 对于数据 x x x&#xff0c;加入噪音后的 x ′ x x′的期望值是不变的&#xff0c;…

一文说透Springboot单元测试

你好&#xff0c;我是柳岸花开。 一、单元测试说明 1 单元测试的优点与基本原则 一个好的单元测试应该具备以下FIRST 原则和AIR原则中的任何一条&#xff1a; 单元测试的FIRST 规则 Fast 快速原则&#xff0c;测试的速度要比较快&#xff0c; Independent 独立原则&#xff0c;…