性能测试及相关概念(一)

2023-11-15

目录

一、什么是性能测试

1.1 性能测试概念

1.2 功能测试和性能测试的区别

1.3 影响一个软件性能的因素有哪些

二、一个项目为什么要做性能测试

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

3.1 专业术语:

四、性能测试分类

4.1 基准测试

4.2 负载性能测试

4.3 压力测试

4.4 可靠性测试

五、性能实施流程


一、什么是性能测试

1.1 性能测试概念

测试人员借助性能测试工具,模型系统在不同情况(如系统正常运行、用户达到峰值等)下各种性能指标的表现

性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。

1.2 功能测试和性能测试的区别

功能测试::重点关注的是软件基本的功能有没有实现

性能测试:软件在极端的情况下是否能正常运行

1.3 影响一个软件性能的因素有哪些

硬件设备:服务器内核,内存,操作系统

软件:编程语言,算法

用户:用户量、用户请求

网络环境

......

二、一个项目为什么要做性能测试

1、获取系统性能的指标,作为性能指标的基准 ---》全新的APP上线之后进行基准性能测试

2、验证系统的性能指标是否达到要求(满足需求)

3、发现系统的性能瓶颈,内存泄漏等问题

4、系统正常工作的情况下的最大容量

5、帮助系统运维部门更好的规划硬件配置

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

3.1 专业术语:

并发:软件在一些情况下,同时有大量的用户请求系统

并发用户数:当大量用户同时对系统发起请求的时候,此时的用户数量就是并发用户数

请求数:用户向服务器发起的http请求的数量

并发请求数:大量用户同时访问系统的时候,此时同时发起的http请求数量

并发请求数和并发用户数不一定相等的

系统用户数:访问系统的用户数量有多少

在线用户数:成功登录这个系统对应的用户量

响应时间

1)用户响应时间

用户发起请求开始,到用户收到响应,最终在前端将数据渲染出来展示给用户的这段时间 

2)请求响应时间

服务器收到请求到服务器将请求处理完后发出响应的时间

问题:影响响应时间的因素有哪些

硬件:用户的设备和服务器的设备(内核、CPU、内存、磁盘)

软件:编程语言以及算法实现

用户量以及请求量

事务响应时间:服务器处理一个事务花费的时间

TPS: 每秒通过的事务数量(通过的事务数/事务处理时间)

每秒事务通过数(TPS) 是指每秒系统能够处理的事务数。它是衡量系统处理能力的重要指标。

点击率:每秒用户向Web服务器提交的HTTP请求数,点击率越大,服务器压力越大

这里的点击不是指鼠标的一次点击,一次点击可能有多次HTTP请求

吞吐量:一次请求,用户和服务器之间传送数量

单看吞吐量不能判断一个系统性能好不好,需要结合吞吐率

吞吐率:吞吐量/时间

思考时间:指模拟正式用户在实际操作时的停顿时间,从业务的角度讲,思考时间指的是用户在进行操作时,每个请求之间的间隔

例如:去百度搜一本书,会返回一系列的资源,找到想看的书后,会点击第二次进入,这这段时间就是思考时间

资源利用率:不同系统资源的使用情况。包含CPU,内存,硬盘,网络等

四、性能测试分类

4.1 基准测试

1)什么是基准测试

让系统在正常情况下运行,观察性能指标  

2)为什么对一个系统进行基准测试

系统的第一个版本,研发团队也不知道系统的性能达到什么样的水平,这时进行性能测试,其目标是获得系统标准配置下,有关的性能指标数据,作为将来性能改善的基准

4.2 负载性能测试

验证系统在一定压力情况下运行,观察系统性能是否会出现"拐点" 

4.3 压力测试

让系统在超负情况下或者某项性能指标已经达到饱和的状态下运行,观察性能指标

通常会导致系统崩溃,就是去看看多少用户会让系统崩溃

4.4 可靠性测试

让系统去连续运行一段时间,查看系统性能指标是否出现异常

五、性能实施流程

功能测试流程:需求分析,测试计划,测试设计,测试实施,上线

性能测试流程:需求分析,测试计划,选择一款性能测试工具,设计性能测试脚本,执行脚本,产出性能测试报告

性能测试中发现的性能问题不叫bug,叫系统的性能瓶颈

性能测试中发现的性能问题,开发修复的时候叫优化性能瓶颈

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

性能测试及相关概念(一) 的相关文章

  • KDD Cup竞赛介绍

    转自 http huzhyi21 blog 163 com blog static 1007396200981534952541 KDD Cup简介 KDD Cup is the annual Data Mining and Knowled
  • Win10系统VS2019+Cmake+gflags2.2.2环境配置

    1 gflags 1 1 简要介绍 gflags是google开源的一套命令行参数解析工具 使用C 开发 具备Python接口 可以替代getopt gflags使用起来比getopt方便 但是不支持参数的简写 例如getopt支持 lis
  • LLM-项目详解-KnowLM:信息抽取大模型

    GitHub zjunlp KnowLM Knowledgable Large Language Models Framework 随着深度学习技术的快速发展 大型语言模型如ChatGPT在自然语言处理领域已经取得了显著的成就 然而 这些大

随机推荐

  • c++的构造函数初始化列表

    C 类构造函数初始化列表 构造函数初始化列表以一个冒号开始 接着是以逗号分隔的数据成员列表 每个数据成员后面跟一个放在括号中的初始化式 例如 class CExample public int a float b 构造函数初始化列表 CEx
  • PCB设计误区-电源是不是必须从滤波电容进入芯片管脚(终结篇)

    PCB设计误区 电源是不是必须从滤波电容进入芯片管脚 终结篇
  • Mysql架构和InnoDB存储引擎流程

    一 整体架构和流程 二 流程图解析 这一共分为四个步骤 1 前台操作触发Mysql服务器执行请求 2 InnoDB存储引擎 缓冲池中完成更新的基本操作 3 Redo Log和BinLog保证事务的可靠性 4 将事务的操作持久化 一 a 前台
  • 在TypeScript使用React forwardRef

    React forwardRef 用于获取子结点的DOM元素引用 当结合TS使用时 需要注意类型断言 import forwardRef useEffect from react const Test forwardRef
  • Verilog十大基本功8 (flipflop和latch以及register的区别)

    来自1 https www cnblogs com LNAmp p 3295441 html 第一次接触Latch是在大二学习数电的时候 那时候Latch被翻译成锁存器 当时还纠结着锁存器和寄存器的区别 要是当时我知道他俩的英文名叫latc
  • Unity3D 画线函数(实现和虚线)

    1 若只需要在调试场景Scene里查看 不需要在Game运行场景看到 可以使用 Debug Draw 这个函数一般在Update Fixed Update LateUpdate里调用 并且不能设置材质 不过可以指定颜色 例子如下 void
  • 蓝牙之十八- bluetooth pair

    蓝牙之十八 bluetooth pair 在蓝牙核心规范2 1之后 蓝牙配对除了传统的PIN Code Pairing方式外 新增了Secure Simple Pairing配对方式 根据核心规范4 2 简单配对主要有两种目的 蓝牙配对过程
  • BDTC2014中国大数据技术大会

    2014中国大数据技术大会32位核心专家演讲PDF下载汇总 重磅资料 下载地址 http download csdn net detail zhongwen7710 8295907 2014中国大数据技术大会32位核心专家演讲PDF目录题目
  • 学习笔记 JavaScript ES6 声明方式const(一)

    今天学习ES6当中定义常量 先来复习下ES5当中是如何定义常量的 通过如下方法在一个对象上定义新的属性来定义一个常量 见如下代码 这个方法有3个参数 第1个参数是在哪个对象上定义属性 第2个参数是属性名称 第3个参数是对象 Object d
  • 孩子学习机器人法则

    现在社会学习机器人的好处有很多 由于小孩子正处于增长知识 发挥自身应有能力的年纪 格物斯坦表示让小孩子学习一门理论前沿性和实用性都较高的机器人编程教育对小孩子未来发展是非常有益的 首先机器人教育不是孤立存在的 机器人技术是多种学科综合的学科
  • Vue 使用 axios post请求后台数据时 404

    今天遇到Vue 使用 axios post请求后台数据时 404 使用postman 就能获取到 网上找了大半天 终于找到了解决方法 传送门 https www jianshu com p b10454ed38ba 转载于 https ww
  • C语言的一个正则表达式pcre

    1 简介 在C C 中 一个比较好的正则表达式是pcre 被很多工具 包括一些商用工具 使用 2 源码下载 安装 2 1 下载 可以从官网http www pcre org 下载 为方便学习 已放在这里http download csdn
  • ctf.show web入门(信息搜集) 1~20

    目录 web1 源码 web2 源码 web3 抓包 web4 robots web5 index phps web6 解压源码泄露 web7 git泄露 web8 svn泄露 web9 vim缓存 web10 cookie web11 域
  • 快速排序全部算法

    快速排序 cpp 定义控制台应用程序的入口点 include stdafx h include stdlib h include stdio h define MAXSIZE 10 typedef struct int keyWord in
  • 代码随想录算法训练营第13天

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 算法训练营第13天 栈与队列总结 347 前 K 个高频元素 使用堆 基本思路 堆 使用大顶堆还是小顶堆 python 中的heapq 347 前 K 个高频元素 这道题的代
  • 用户级线程和系统级线程

    在多线程操作系统中 各个系统的实现方式并不相同 在有的系统中实现了用户级线程 有的系统中实现了内核级线程 1 内核级线程 1 线程的创建 撤销和切换等 都需要内核直接实现 即内核了解每一个作为可调度实体的线程 2 这些线程可以在全系统内进行
  • 于仕琪C/C++ 学习笔记

    C 函数指针有哪几类 函数指针 lambda 仿函数对象分别是什么 如何利用谓词对给定容器进行自定义排序 传递引用和传递值的区别 传递常引用和传递引用之间的区别 传递右值引用和传递引用之 间的区别 函数对象应该通过什么传递 什么是万能引用
  • 【华为OD机试真题 JAVA】服务器广播

    JS版 华为OD机试真题 JS 服务器广播 标题 服务器广播 时间限制 1秒 内存限制 262144K 语言限制 不限 服务器连接方式包括直接相连 间接连接 A和B直接连接 B和C直接连接 则A和C间接连接 直接连接和间接连接都可以发送广播
  • Java 设计模式之责任链模式

    责任链模式 Chain of Responsibliity 缩写COR 该模式属于对象的行为模式 多个对象连成一条链 请求沿着这条链进行传递 直到有一个对象处理它为止 这样使得多个对象都有机会处理请求 从而避免了请求的发送者和接收者之间的耦
  • 性能测试及相关概念(一)

    目录 一 什么是性能测试 1 1 性能测试概念 1 2 功能测试和性能测试的区别 1 3 影响一个软件性能的因素有哪些 二 一个项目为什么要做性能测试 三 性能测试常见术语以及衡量指标 3 1 专业术语 四 性能测试分类 4 1 基准测试