性能自动化测试之性能测基础与LoadRunner入门
说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家!
关于LoadRunnner性能测试工具,早在之前的《性能测试实战(一)》系列文章中就有过详细介绍使用
文章目录
一、性能测试基础
1.性能测试关键概念
1.1 性能测试的含义
- 测试软件的性能表现,考量软件运行的如何。
✔ 一般关注时间/效率、资源占用等情况。
1.2 响应时间
- 应用系统从用户发出请求开始,到客户端接收到所有数据所消耗的时间。
- 网页响应时间可以细分为网络传输时间、DNS 解析时间、应用服务器处理时间、数据库处理时间等。
1.3 在线用户、并发用户与虚拟用户
- 在线用户表示正在使用软件的用户。
- 并发用户是指同一时刻与服务器进行数据交互的所有用户数量,在线用户未必是并发用户。
- 性能测试工具使用虚拟用户模拟真实用户的行为。
1.4 吞吐量与吞吐率
- 吞吐量指一段时间内服务器处理的总字节数。
- 吞吐率指单位时间内服务器处理的字节数,即吞吐量/测试时间。
1.5 每秒事务数 TPS
- 表示每秒系统处理的事务数。
1.6 点击率
- 指每秒钟用户向服务器提交的 HTTP 请求的数量。
- 点击一次可能会向服务器发出多个 HTTP 请求。
1.7 思考时间/休眠时间/等待时间
- 指用户在进行操作时,每个请求之间的时间间隔。
1.8 资源利用率与性能计数器
-
资源利用率指服务器系统中不同硬件资源被占用的程度,主要包括 CPU 利用率、内存利用率、磁盘利用率、网络等。
-
性能计数器是描述服务器或操作系统性能的一些数据指标。主要是通过添加计数器来观察系统资源的使用情况。
1.9 负载测试、压力测试与并发测试
-
负载测试通过对被测试系统不断的加压,直到超过预定的指标或者部分资源已经达到了一种饱和状态不能再加压为止。此方法主要是为了寻找系统最大的负载能力,为性能调优提供依据。
-
压力测试是当系统已经达到一定的饱和程度(如 CPU、磁盘等已经处于一种饱和状态)时,测试系统处理业务的能力,测试系统是否会出现崩溃等。此方法一般用于系统稳定性测试。
-
并发测试通过模拟用户并发访问,测试多用户同时访问同一应用、模块或数据,观察系统是否存在死锁、系统处理速度明显下降等性能问题。
2.Web 访问原理
3.HTTP 响应状态码
- 状态码由 3 位数字组成,第一位表示响应的类别。
✔ 1xx:指示信息,表示请求已接收,继续处理。
✔ 2xx:成功,表示请求已被成功接收、理解、接受。
✔ 3xx:重定向,要完成请求必须进行进一步的操作。
✔ 4xx:4 开头的代表客户错误。
★ 403 错误
■ 表示资源不可用,服务器上文件或目录拒绝访问。
■ 通常由于服务器上文件或目录的权限设置导致的 WEB 访问错误。
★ 404 错误
■ 告诉浏览者其所请求的页面不存在或链接错误。
■ 通常是在目标页面被更改或移除,或客户端输入页面地址错误后显示的页面。
✔ 5xx: 5 开头代表服务器端错误。
★ 一般的产生原因是由于服务器不支持的组件而出错
二、LoadRunner 的安装
1.安装
说明: 之前博主在《性能测试实战(一)》文章中是将LoadRunner安装到windows server 2003系统中的
- 博主在windows server2008 系统进行演示,首先博主先切换到之前项目使用系统保存的纯净版快照
- 通过虚拟机挂载LR.iso镜像文件,加载出安装程序
- 选择完整安装
- 安装必要的程序,确定即可,自动会一个个安装
- 勾选同意安装
- 安装完.NET Framework后,点击退出即可
- 提示重启电脑,此时重启电脑即可
- 电脑重启后,重复前面的步骤,安装下一个必要程序,安装完成后到入下loadrunner安装页面
- 同意安装下一步
- 等待安装即可
- 安装完成
- 安装完成后,会自动打开软件,并提示试用期多久啥的,全部先关闭
2.汉化
说明: 之前博主在《性能测试实战(一)》文章中安装loadrunner是没有进行汉化的,这里博主对loadrunner进行汉化
- 运行汉化程序
- 选择LoadRunner User Interface安装程序
- 到安装界面
- 期间提示loadrunner文件在使用,也就是右下角的雷达,直接点击继续即可
- 汉化完成后,又会打开loadrunner,此时的loadrunner界面已经汉化了
3.**
- 关掉 Loadrunner 所有界面,用 lm70.dll 和 mlr5lprg.dll 覆盖\HP\LoadRunner\bin 下的同名文件
- 启动 LR 后,点击 configuration->loadrunner license,此时可能有两个许可证信息存在(若没有,请忽略),退出程序;
- 点击 deletelicense.exe 文件,删除刚才得许可证信息,即时原来没有 lisense 最好也运行一下;
- 再次打开 Loadrunner,点击 configuration->loadrunner license->new license,在弹出的 输 入 框 中 输 入 下 面 的 license ***** :
- **成功
- 重新打开loadrunner,没有提示许可证啥的,那就没有问题了
三、LoadRunner 简介
1.三大组件
1.1 VuGen(虚拟用户发生器)
- Virtual User Generator
- 虚拟用户 VU 用于户模拟真实用户,被测服务器会认为与真实用户一样。
- VUGen 用于捕捉用户的业务流,并录制成脚本(虚拟用户脚本)。Vuser 脚本记录了用户与服务器的交互过程,并且包含一系列度量并记录服务器性能的函数,就像一个真实的用户一边做操作,一边拿着秒表记录时间一样。
1.2 Controller(控制器)
-
Controller 负责生成性能测试场景,管理和协调多个虚拟用户,将任务分派给各个 Load Generator 运行测试,联机监控场景(软件系统各个节点的性能),收集结果数据。
✔ 场景(Scenario)
★ 把虚拟用户按照一定规则组织起来模拟真实世界的业务行为。 -
Load Generator(负载机)
✔ 用于实现均衡负载,保证每台负载机均匀施压,否则测试结果将不可靠。
★ 安装完整 LR(含 Load Generator)的计算机录制、增强和分发脚本;
★ 多台 Load Generator 负责执行脚本,运行场景。 -
Agent(代理程序)
✔ 部署在各个客户端,协同得到步调一致的虚拟用户;
✔ 在 Load Generator 中,各物理机要能接收到 Controller 发来的脚本,Agent 负责实时侦听来自控制器的指令,以达到协调各压力生成器中虚拟用户的作用。
1.3 Analysis(分析器)
- 测试场景运行结束后,会在指定目录下生成一个 Access 数据库文件,用于存放测试结果。
- 分析器可以对数据进行分析,并生成图形。
2.LoadRunner 的使用流程
-
阶段1
✔ 了解软件需求
✔ 制定测试计划 -
阶段2
✔ 录制脚本
✔ 增强脚本 -
阶段3
✔ 场景设计 -
阶段4
✔ 运行场景 -
阶段5
✔ 分析结果