性能测试学习笔记

news2024/9/24 19:25:00

一、性能测试是什么?

1.生活案例:

学校选课系统,就会经常崩溃!!!!

2.性能测试的定义

测试人员借助测试工具,模拟系统在不同场景下,对应的性能指标是否达到预期

3.性能测试和功能测试的区别

功能测试性能测试
人工执行测试工具执行
不管在什么场景下,只要能跑起来就行软件在极端情况下,是否能正常运行

4.什么样的表现是性能好的表现,什么样的表现是性能不好的表现?

软件1:打开首页消耗1ms,软件2:打开首页消耗1s

所以请问那个软件性能好呢?

5.影响一个软件性能因素有哪些?

软件硬件用户
算法、编程语言...服务器CPU利用路、内存、磁盘操作频率、cpu核心数...用户并发数,用使用时长,访问频率...

二、为什么要做性能测试?

  • 获取系统性能的指标,作为性能指标的基准(软件摸底)
  • 验证系统的性能指标是否达到
  • 发现性能瓶颈,内存泄漏等问题
  • 系统正常情况下的最大容量
  • 帮助系统运维部门找到更好的规划硬件配置

三、性能测试常见的术语以及性能测试的衡量指标(面试题

1.并发用户数:大量用户同时发送同一个请求

        业务层面的并发用户数:指的是同时向服务器发送请求的用户数量

        后端服务器层面的并发用户数:指的是同时向服务器发送请求的请求数量

2.响应时间:

用户响应时间:用户发出请求到接受到响应的这段时间

请求响应时间:服务器收到请求发出响应的这段时间

影响一个软件的响应的因素:数据库性能、网络带宽、服务器处理性能、软件的算法、逻辑、用户设备

3.事务响应时间

4.每秒事务通过的数量

5.点击量

6.点击率:http的请求率

7.吞吐量:用户一次请求的数据交互量

8.吞吐率:吞吐量/时间(吞吐率越高,性能越高)

9.思考时间:用户操作页面时候调用接口的间隔时间

10.资源利用率:不同系统资源的使用的情况,如cpu,硬盘

四、性能测试的分类

基准性能测试让系统在正常情况下,观察软件性能指标场景:软件刚上线进行性能摸底
负载性能测试让系统处于一定的压力情况下,观察系统性能指标场景:相当于在瓶颈测试
压力测试让系统处于饱和状态下,观察系统性能指标场景:在水快溢出的时候
可靠性测试验证系统在一个时间段内运行,在这个运行时间段,观察系统各项性能的指标是不是正常的

五、性能测试的流程

功能测试的流程:需求分析-->测试计划-->测试设计-->测试执行-->测试评估-->上线

性能测试的流程:需求分析-->测试计划-->选择性能测试工具-->性能测试脚本编写-->测试执行-->测试评估(产出报告)-->上线

补充:性能测试中出现的不符合预期的情况叫做性能瓶颈,修复的过程是优化

六、LoadRunner学习

1.LoadRunner介绍

LoadRunner是一种适用于许多软件体系架构的自动负载测试工具,从用户关注的响应时间、吞吐量, 并发用户和性能计数器等方面来衡量系统的性能表现,辅助用户进行系统性能的优化

2.LoadRunner组成

LoadRunner主要包括三个前台功能组件,分别为VuGen(虚拟用户脚本生成器)、Controller(测 试控制器)和Analysis(结果分析器)。系统会自动调用后台功能组件LG(负载生成器)和Proxy(用户代 理)来完成性能测试工作。

Virtual User GeneratorVuGen 是录制与便携脚本的地方。通过录制或编写脚本来模拟用户的行为,录制好的脚本是不同语言表达的文本文件,在LG执行时被解析和执行。脚 本录制和回放过程是在Proxy支持下完成的。
Controller设计场景、运行场景,是执行负载测试管理和监控的中心。在这里指定具体的性能测试方案,执行性能测试,收集测试 数据,监控测试指标。监控工具将测试过程中收集到的客户机、服务器和网络性能指标数据显示在监控页面 上,便于测试人员对系统表现进行随时掌握。
Analysis对测试过程中收集到的各种性能数据进行计算、汇总和处理,生成各种图表和报 告,为系统性能测试结果分析提供支持。

3.下载安装包

Win10下LoadRunner12 下载安装汉化图文教程(含LoadRunner安装包)_loadrunner12下载-CSDN博客

七、自带的系统

1.WebTours学习

1.1启动方式

进入WebTours的目录找到S塔塔Server.bat

启动窗口(包含ip)

 1.2配置

找到端口号

成功页面

用户信息(第一行就是密码)

八、脚本录制学习

VSG使用

1.创建

 

 如何确定你要测试的程序用的是什么协议?

找开发问问

 2.成功启动

九、脚本加强

1.事务插入

事务的状态默认情况下是 LR_AUTO。一般情况下,我们也不需要修改,除非在手工编写代码时,有可 能需要手动设置事务的状态。可以通过步骤导航器来查看步骤的参数选项。

lr_start_transaction("login");//事务开始函数

	web_submit_form("login.pl", 
		"Snapshot=t3.inf", 
		ITEMDATA, 
		"Name=username", "Value=test08", ENDITEM, 
		"Name=password", "Value=test", ENDITEM, 
		LAST);
lr_end_transaction("login", LR_AUTO);//事务结束函数

2.插入集合

lr_rendezvous("rendezvous1");

注意:集合点经常和事务结合起来使用。集合点只能插入到Action 部分,vuser_init和vuser_end 中不 能插入集合点。

3.插入检查点

对页面上的元素的检查

注意:要放在对应检查的url前面

web_reg_find("Fail=NotFound",
		"Search=All",
		"SaveCount=",
		"Text= Don't forget to sign off when you're done!",
		LAST);

4.参数化

如果用户在录制脚本过程中,填写提交了一些数据,比如要增加数据库记录。这些操作都被记录到了脚 本中。当多个虚拟用户运行脚本时,都会提交相同的记录,这样不符合实际的运行情况,而且有可能引 起冲突。为了更加真实的模拟实际环境,需要各种各样的输入。

注意:参数化完成后要调整log的打印还有运行次数

 

5.打印日志

lr_log_message
lr_ouput_message

十、设计测试场景(Controller)

1.启动

VUG

Controller

设计场景

...

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

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

相关文章

Day34 | 322. 零钱兑换 279.完全平方数 139.单词拆分

语言 Java 322. 零钱兑换 零钱兑换 题目 给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返…

亚信安慧AntDB-T:使用Brin索引提升OLAP查询性能以及节省磁盘空间

前 言 在这个信息量爆炸的时代,数据库面临着海量数据的挑战,如何提升OLAP业务的查询性能、如何节省磁盘空间等问题已经成为了数据库的痛点之所在。本篇着重介绍亚信安慧AntDB-T中Brin索引的实现过程以及应用在OLAP业务中带来的性能提升和存储降低。 亚…

【倍智信息-倍智信息系统0day漏洞】

目录 一、漏洞说明 二、资产测绘 三、漏洞复现 四、批量验证 一、漏洞说明 倍智信息系统使用了组件Spring Actuator 作为 wei Spring acloud提供的一个功能模块,用于管理和监控 Spring 应用程序。如果未正确配置安全性,特别是在生产环境中&…

TinyWebserver的复现与改进(1):服务器环境的搭建与测试

计划开一个新坑, 主要是复现qinguoyi/TinyWebServer项目,并且使用其它模块提升性能。 本文开发服务器配置:腾讯云轻量级服务器,CPU - 2核 内存 - 2GB,操作系统 Ubuntu Server 18.04.1 LTS 64bit 打开端口 需要打开服务器3306、80…

字节跳动2025校园招聘内推

快来投递简历吧:https://job.toutiao.com/s/ir2RpsLR 快来投递简历吧:https://job.toutiao.com/s/ir2RpsLR

Vue3 组件通信

目录 create-vue创建项目 一. 父子通信 1. 父传子 2. 子传父 二. 模版引用(通过ref获取实例对象) 1.基本使用 2.defineExpose 三. 跨层通信 - provide和inject 1. 作用和场景 2. 跨层传递普通数据 3. 跨层传递响应式数据 4. 跨层传递方法 create-vue创建项目 npm ini…

使用Charles Proxy进行更好的移动的应用程序测试

许多移动的和Web应用程序测试人员普遍存在的一个错误是认为大多数测试只需要观察和与用户界面(UI)本身的交互。另一方面,当我们开始看到甚至操纵幕后发生的事情时,更具体地说,我们的应用程序正在向后端服务发送数据和从…

堆的实现(偷懒版)

🌹个人主页🌹:喜欢草莓熊的bear 🌹专栏🌹:数据结构 目录 前言 一、堆的实现 1.1 堆的向下调整算法 思路: 1.2 堆的向上调整算法 1.3 堆的创建 1.4 堆的复杂度计算 向下调整建堆的复杂度…

4款智能ai 写作工具助你探索智能写作的无限可能!

智能 AI 写作已经成为一个十分热门的工具。因为它可以从新闻报道到小说创作,从广告文案到学术论文,各个领域都可以给我们很有效的写作帮助。今天,我就给大家介绍4个在网上非常火的智能AI 写作工具。 1、笔灵写作助手 直通车 :https://ibilin…

基于Java中的SSM框架实现软件bug管理系统项目【项目源码+论文说明】计算机毕业设计

基于Java中的SSM框架实现软件bug管理系统演示 摘要 随着我们的智能生活到来,人们越来越意识到计算机生活在工作中的重要性,职场上大部分职业都是需要我们会熟练运用计算机知识的,所以我们要掌握计算机技能,这样才能在以后的职业生…

【学习笔记】Matlab和python双语言的学习(多目标规划)

文章目录 前言一、多目标规划1.特点2.一般形式3.多目标规划的解4.线性加权法 二、典型示例-----化工厂生产问题三、代码实现----Matlab四、代码实现----python总结 前言 通过模型算法,熟练对Matlab和python的应用。 学习视频链接: https://www.bilibili…

XJTUSE-离散数学-关系

集合的叉积 二元组(a,b) (a,b) (c,d) <> ac,bd m元组 叉积的结合律 关系 R 是 的子集&#xff0c;称为一个二元关系 前域&#xff0c;后域的概念 关系的表示方法 图表示法 矩阵表示法 关系的运算 逆运算: 逆运算的一些定理 复合关系 and 闭包运算 …

如何创建一个Gralde项目

如何创建一个Gralde项目 1. 使用IDEA创建一个Gradle项目&#xff1a; 1.1 打开Idea&#xff0c;新建项目&#xff1a; 选择File-> New -> Project 1.2 在项目类型列表中找到并选择Gradle 1.3 验证Gradle项目 可以通过运行 gradle.tasks 命令来验证项目是否正确创建&a…

【C++ Primer Plus】学习笔记 5

文章目录 前言一、指针和自由存储空间1. 声明和初始化指针2. 指针的危险3. 指针和数字4. 使用 new 来分配内存5. 使用 delete 释放内存6. 使用 new 来创建动态数组1.使用new创建动态数组2.使用动态数组 二、指针、数组和指针算术1. 指针小结1.声明指针2.给指针赋值3.对指针解除…

PCL 曲线4点细分算法

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 四点细分算法(Four-Point Subdivision Scheme)是一种用于生成平滑曲线的细分算法。与 Chaikin 逼近型细分算法不同,四点细分算法通过插入新的控制点来细化曲线,并生成一条逐步逼近的平滑曲线。该算法通常用于生…

Vue组件间传值总结

1.组件可以由内部的Data提供数据展示&#xff0c;也可以由父组件ajax取到数据后通过prop的方式传值进子组件。 样例: 子组件电影组件&#xff0c;展示标题和评分&#xff0c;声明属性props:["title","rating"] <template><div><h1>{{…

8.8作业

LVS 四层结构&#xff08;最多实现到iso第四层&#xff1a;传输层的功能 部署NAT模式集群案例 创建3台主机&#xff0c;分别为&#xff1a;lvs 、 webserver1 、 webserver2&#xff0c;其中lvs有两张网卡分别是net网卡为外网和仅主机内网 主机名网卡IP地址网关 lvsnet和主机…

哪些区块链有利可图?揭秘最赚钱公链背后的数据!

今天&#xff0c;我们将探索按收⼊排名前4位的L1和L2&#xff0c;并探讨这些区块链实际保留了多少收⼊。毕竟&#xff0c;收入能力是判断一条链是否能持续发展的重要之标之一。在此&#xff0c;我们将收益定义为&#xff1a;总收⼊减去代币发⾏量。 Layer 1 以太坊Ethereum 就…

LeeCode Practice Journal | Day37_DP05

完全背包 有N件物品和一个容量为W的背包&#xff0c;第 i 件物品的重量是weight[ i ]&#xff0c;价值为value[ i ]&#xff0c;每件物品都有无限个&#xff0c;求解使用背包物品价值总和达到最大的装包方案 二维 static int CompleteKnapsack2D(int[] weights, int[] value…

第三篇远程连接工具介绍及使用

目录 一、远程连接工具的介绍 1、作用 2、常用的远程连接工具 1) XShell 2) FinalShell 3) PuTTY 4) SecureCRT 5) MobaXterm 6) WinSCP 7) NxShell 3、Xshell 安装使用 1&#xff09;Xshell 安装 2&#xff09;Xshell 使用​编辑 4、Finalshell 安装使用 1&…