当前位置: 首页 > article >正文

项目实战一-性能测试筑基

在这里插入图片描述

这里写目录标题

  • 一、为什么程序会出现性能问题、性能问题是怎么出现的?
  • 二、功能测试和性能测试的区别是什么?
  • 三、核心性能指标
    • 1、用户角度核心
      • a、响应时间:
      • b、并发量
    • 2、成本角度
    • 3、运维角度
    • 面试题、并发量和吞吐量得区别?
      • a、吞吐量
      • b、并发量
  • 四、性能测试核心三步骤
    • 1、性能需求
      • a、学会梳理需求
      • b、业务场景:
      • c、性能指标
      • d、性能测试执行思路(用例)
    • 2、执行性能测试
    • 3、性能结果分析

一、为什么程序会出现性能问题、性能问题是怎么出现的?

任何程序的运行都需要资源(CPU、内存、磁盘、网络)
资源不是无限的

  • 程序运行就会受限
  • 每一个请求后端处理都占用资源
  • 一个图片查看请求
    在这里插入图片描述

在这里插入图片描述

二、功能测试和性能测试的区别是什么?

在这里插入图片描述

三、核心性能指标

TPS
QPS
HPS
RT(响应时间)
错误率
并发量

1、用户角度核心

a、响应时间:

一次操作的完成时间
等待处理+处理时间

在这里插入图片描述

b、并发量

相对并发和绝对并发的区别

线程数=绝对并发
发起请求之后,会继续请求
一个请求500ms完成,又发起一个请求500ms完成
此时:1个线程——》2个并发/s——》相对并发

一个线程在单位时间内(秒)发起的总共请求数量 = 相对并发

2、成本角度

资源占用率
在这里插入图片描述

3、运维角度

吞吐量:一进一出;输入——》处理——》输出
QPS:

每秒查询率
针对查询类请求处理,每秒能处理多少查询,数据库中不涉及修改数据

TPS

每秒处理的事务数
涉及数据变更的操作——》从数据库微观——》事务,多个操作
反应程序的处理能力综合体现:TPS越大越好

面试题、并发量和吞吐量得区别?

a、吞吐量

是指系统在单位时间内能够处理的请求数量或事务数量。它常用于评估系统的性能和容量。
在软件测试领域,吞吐量通常用来衡量系统在一定负载下能够处理的请求或事务的数量。对于一个高并发的系统,吞吐量的大小直接关系到系统的性能和稳定性
例如,一个电商网站每秒钟能够处理100个订单,那么它的吞吐量就是100 TPS(Transactions Per Second)。另一种计算方式是通过每秒钟处理的请求数量来衡量。

在进行性能测试时,我们通常会通过模拟真实用户的行为或者生成大量的请求来测试系统的吞吐量。通过监测系统在不同负载下的吞吐量,可以评估系统的性能瓶颈、优化效果以及系统是否能够承受预期的工作量。

b、并发量

是指系统能够同时处理的请求数量或事务数量。它描述了系统在同一时间段内可以同时执行的任务数。

在软件测试和系统设计中,并发量是一个重要的指标,用来衡量系统的并发处理能力和性能。并发量通常与系统的资源、线程数量以及处理能力相关。
用户并发量:表示系统能够同时处理的用户请求或并发连接数量。例如,一个Web服务器能够同时处理1000个并发用户请求,那么它的并发量就是1000。

并发量对于系统设计和性能优化非常重要。如果系统的并发量超过了系统所支持的范围,可能会导致系统性能下降、响应时间延长甚至系统崩溃。因此,在进行系统设计和性能测试时,需要充分考虑并发量,并保证系统能够合理处理并发请求,确保系统的稳定性和性能

在这里插入图片描述

四、性能测试核心三步骤

1、性能需求

极端:你给我一个性能报告

全面测试
看起来没有要求,其实全部要求了

a、学会梳理需求

性能测试不能脱离实际需求,所以不论是测试哪一种场景,有哪方面得性能需求,我们在执行测试的时候,都会涉及具体的业务场景

产品经理:比竞品要快一点
在这里插入图片描述

b、业务场景:

app首屏广告加载

c、性能指标

在这里插入图片描述

d、性能测试执行思路(用例)

采用思路2
在这里插入图片描述

2、执行性能测试

在这里插入图片描述

3、性能结果分析

在这里插入图片描述


http://www.kler.cn/a/156099.html

相关文章:

  • 开源模型应用落地-qwen模型小试-Qwen2.5-7B-Instruct-tool usage入门-Qwen-Agent深入学习(四)
  • 使用 unicorn 和 capstone 库来模拟 ARM Thumb 指令的执行(一)
  • PNG图片批量压缩exe工具+功能纯净+不改变原始尺寸
  • kafka面试题解答(四)
  • SHELL脚本(Linux)
  • 【Linux】TCP原理
  • 【PTA-C语言】编程练习3 - 循环结构Ⅰ
  • 蓝桥杯物联网竞赛_STM32L071_8_ADC扩展模块
  • 什么是Anaconda
  • jsp高校教师调课管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目
  • GeoServer漏洞(CVE-2023-25157)
  • 491. 递增子序列
  • Golang语言基础之切片
  • 一些后端测试的东西
  • day5 两数之和为x
  • SSM SpringBoot vue社团事务管理系统
  • mysql中的锁及其作用
  • 【迅搜05】索引配置(二)字段定义与设计
  • Vue经典面试题源码级分析【一】
  • python之UDP网络应用程序开发
  • 传感器:探索Android中的传感器功能与使用
  • Linux 进程状态
  • Linux socket编程(9):IO复用之poll和epoll详解
  • 【算法】单调队列 滑动窗口最大值
  • 51单片机项目(19)——基于51单片机的传送带产品计数器
  • 轻量封装WebGPU渲染系统示例<42>- vsm阴影实现过程(源码)