软件测试(性能测试) (七)

本文详细阐述了性能测试的概念、与功能测试的区别,涉及影响因素、目的、衡量指标,以及LoadRunner的使用、WebTours示例和性能测试执行流程。讲解了如何使用LoadRunner进行性能测试,包括设置、脚本录制、加强和分析报告的过程。
摘要由CSDN通过智能技术生成

1. 性能测试的相关概念

  • 性能测试的定义:
    • 测试人员借助测试工具,模拟系统在不同场景下对应性能指标是否达到预期。
  • 性能测试和功能测试有什么区别:
    • 功能测试依靠人力完成,不管什么场景下只要能够正常运行即可,
    • 性能测试依靠工具完成,测试软件在一些软件的情况下是不是能够正常运行。
  • 影响一个软件性能的因素:
    • 硬件:
      服务器CPU利用率,内存,磁盘操作频率,CPU核心数
    • 软件:
      算法,编程语言
    • 用户:
      用户数量,用户使用时长,用户访问频率

2. 为什么要做性能测试 ?

  • 获取系统的性能指标,作为性能指标的基准
  • 验证系统的性能指标是否达到性能需求
    • 应用程序是否能够满足系统要求的各种性能指标
    • 应用程序是否能处理预期的用户负载并有盈余能力
    • 应用程序是否能处理业务所需要的事务数量
    • 在预期和非预期的用户负载下,应用程序是否稳定
  • 是否能够确保用户真正使用软件时获得舒适的体验
  • 发现系统的性能瓶颈,内存泄漏等问题
  • 系统正常工作的情况下的最大容量
  • 帮助系统运维部门能够更好的规划硬件配置

3. 性能测试相关术语、衡量指标

  • 并发数用户数:
    • 业务层面的并发用户数:
      指同时向服务器发送请求的用户数量
    • 后端服务器的并发用户数:
      指的是同时向服务器发送请求的请求数量
  • 用户数:
    • 系统用户数:
      系统注册的用户
    • 在线用户数:
      成功登录系统用户数
    • 并发用户数:
      大量的用户访问系统,此时访问的用户数就是并发用户数
  • 响应时间:
    • 用户响应时间:
      应用系统从发出请求开始到客户端接收完成所有的字节数据所消耗的时间。
    • 请求响应时间:
      服务器收到请求到发出响应这段时间。
    • 影响一个软件响应时间的因素:
      数据库性能,网络带宽,服务器处理性能,软件算法、逻辑,用户设备
  • 事务响应时间(TPS):
    • 处理一个事务需要的时间。
  • 每秒事务通过数量:
    • 每秒完成的事务数,通常指每秒成功的事务数。
  • 点击率:
    • 点击率代表用户每秒向Web服务器提交的HTTP请求数,点击率越大服务器压力越大。一次鼠标点击可能会有多次HTTP请求。
  • 吞吐量:
    • 用户一次请求和服务器之间的数据交互量。
  • 吞吐率:
    • 单位时间内用户和服务器之间的数据交互量。
  • 思考时间:
    • 用户每一个操作之间的时间间隔。
  • 资源利用率:
    • 不同系统资源的使用情况,包含:CPU、内存、硬盘、网络等。

4. 性能测试分类

  • 基准性能测试:

    • 让系统在正常情况下运行,观察软件的性能指标
    • 应用场景:项目刚上线需要进行性能摸底。
  • 负载性能测试:

    • 验证软件在一定压力情况下运行,观察性能是否出现拐点
  • 压力性能测试:

    • 系统处于饱和情况下,观察系统性能指标
  • 可靠性测试:

    • 验证系统在一个持续的时间段内运行,在这个时间段内观察系统各项性能指标是否正常:1day —> 1week —> 1month —> 1seasion —> 1year

5. 性能测试执行流程

  • 功能测试流程:

    • 需求分析 -----> 测试计划 ----> 测试设计 -----> 测试执行 -----> 测试评估(测试报告)----> 上线
  • 性能测试流程:

    • 需求分析 ----- 测试计划 ------ 选择一款性能测试工具 ---- 性能测试脚本编写 ---- 执行性能测试 ---- 产出性能测试报告

性能测试中出现了不符合预期的情况叫性能瓶颈,开发修复的过程叫优化。

示例:

  1. 基准性能测试:
    需求分析:摸底接口可以容纳的用户数量。
    工具:Loadrunner
    针对需求写脚本

在这里插入图片描述

6. 使用LoadRunner进行性能测试

  • LoadRunner三大组件之间的关系
    • VUG:录制、编写脚本
    • Controller:设计场景、运行场景
    • Analysis:产生性能测试报告
  • 为什么选择LoadRunner ?
    • Jemter没有录制功能
    • Ld可以设计丰富的测试场景
    • Ld可以产出丰富的测试报告
  • LoadRunner 的 Web Tours系统
  • WebTours 启动:
    进入LoadRunner文件夹 —> WebTours —> StartServer.bat双击
    在这里插入图片描述在这里插入图片描述
    启动成功:在这里插入图片描述
  • 修改 WebTours 端口:
    进入 WebTours —> conf —> httpd.conf 打开 在这里插入图片描述在这里插入图片描述在这里插入图片描述
  • 访问 WebTours:
    浏览器地址栏输入 本地ip+1080端口+WebTours
    在这里插入图片描述
  • 注册 WebTours 用户
    在这里插入图片描述在这里插入图片描述
    注册成功在这里插入图片描述
  • WebTours的配置: 在这里插入图片描述在这里插入图片描述在这里插入图片描述
  • 使用 VUG 录制脚本
  1. 创建文件

File —> New Script and Solution :
在这里插入图片描述
2. 选择 Web - HTTP/HTML ,点击create
在这里插入图片描述
进入到脚本页面:
在这里插入图片描述
3. 点击录制按钮,
在这里插入图片描述
4. 配置录制脚本的存放位置和录制方式:
在这里插入图片描述
5. 配置录制脚本的浏览器:
在这里插入图片描述
6. 配置录制脚本的访问路径:
在这里插入图片描述
7. 点击 Start Recording 开始录制:
在这里插入图片描述在这里插入图片描述
脚本录制过程video:

VUG录制脚本

  1. 删除无关脚本
    在这里插入图片描述
    保留测试相关脚本:
    在这里插入图片描述
  2. 编译:

在这里插入图片描述
编译通过:
在这里插入图片描述
10. 运行(回放)

在这里插入图片描述
修改思考时间:
在这里插入图片描述

7. LoadRunner脚本加强

  • 插入事务
  1. View —> Steps Toolbox 在这里插入图片描述
    2.开始事务 , 搜索:lr_start_sub_transaction, 点击
    在这里插入图片描述

  2. 添加事务名,点击OK
    在这里插入图片描述

  3. 插入事务成功:
    在这里插入图片描述

  4. 插入结束事务:lr_end_transaction(“login”,LR_AUTO)
    事务必须有开始有结束,开始的事务和结束的事务之间的事务名称必须一致。
    在这里插入图片描述在这里插入图片描述
    插入事务完成:
    在这里插入图片描述

6.运行结果:
在这里插入图片描述

如果事务名不一致:
在这里插入图片描述
运行结果:
在这里插入图片描述
7. 快速添加事务:
在这里插入图片描述

  • 插入集合点

将任务拦截到集合点,统一释放构成并发的效果。

  1. View —> Steps Toolbox —>搜索 lr_rendezvous();
    在这里插入图片描述
    运行结果:
    在这里插入图片描述
  • 插入检查点

使用 web_freg_find 函数实现

确定要检查的内容:
在这里插入图片描述
在这里插入图片描述

配置检查函数:

在这里插入图片描述
在这里插入图片描述
检查函数插入成功:
在这里插入图片描述
运行结果:通过
在这里插入图片描述

  • 参数化:

选定要实现参数化的变量 —> 点击鼠标右键 —> Replace with Parameter —> Create New Parameter
在这里插入图片描述
弹出对话框
在这里插入图片描述
选择NO,否则所有 username 的字符串都会被替换
在这里插入图片描述

参数化成功:
在这里插入图片描述
修改参数化的配置:
在这里插入图片描述
添加参数:
在这里插入图片描述在这里插入图片描述
运行结果:在这里插入图片描述
修改参数化打印日志:
在这里插入图片描述
在这里插入图片描述
可以修改运行次数:
在这里插入图片描述
运行结果:
在这里插入图片描述

  • 打印日志

通过 lr_log_message 函数实现日志打印

在要插入打印日志的位置点击鼠标右键 —> Insert —> Log Message
在这里插入图片描述
在这里插入图片描述

通过 lr_output_message 函数实现日志输出

在这里插入图片描述
在这里插入图片描述

8. 性能测试的实施过程

  1. 通过VUG(双击Controller也可以) 搭建测试场景
  1. Tools —> Create Controller Scenario
    在这里插入图片描述
  2. 选择 Manual Scenario
    在这里插入图片描述
  3. 配置场景:
    在这里插入图片描述
  4. 场景脚本配置:
    在这里插入图片描述
  5. 初始化设置:
    点击 Initialize
    在这里插入图片描述
  6. 启动设置:
    点击 Start Vusers
    在这里插入图片描述
  7. 设置持续运行时间:
    点击 Duration
    在这里插入图片描述
  8. 退出运行设置:
    点击 Stop Vusers
    在这里插入图片描述
  1. 配置运行场景:

1 .点击 Run
在这里插入图片描述
2. 进入到运行场景:

  • 虚拟用户的状态:
    在这里插入图片描述
  • 场景操作区:

在这里插入图片描述

  • 运行结果统计:
    在这里插入图片描述
  • 监控指标区:
    在这里插入图片描述
  • 监控指标图表区:
    在这里插入图片描述

监控电脑资源:

  1. 首先启动下面两个进程:在这里插入图片描述
  2. 选中 System Resource Graphs —> Windows Resources —> 空白处点击鼠标右键 —> 弹出对话框 —> Add Measurements

在这里插入图片描述
3. 添加要监控资源的位置:
Add —> 添加资源地址为localhost —> 点击 OK
在这里插入图片描述
4. 添加具体可监控的指标:
在这里插入图片描述在这里插入图片描述
添加成功:
在这里插入图片描述

  1. 运行场景:在这里插入图片描述
    运行中:
    在这里插入图片描述
    运行结束:
    在这里插入图片描述
    当虚拟用户逐渐启动的时候,Running这条折现逐渐上升,当所有虚拟用户启动完之后,Running这条曲线保持稳定,当虚拟用户运行时间到了,此时Running的曲线逐渐下降。Finish曲线在Running逐渐下降的时候才上升。
    在这里插入图片描述

9. 分析性能测试报告

使用Analysiser分析测试报告

  1. Result —> Analyze Results
    在这里插入图片描述
  2. 进入测试报告页面

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

还可以增加图表:

在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值