性能测试基础知识(一)性能测试的分类

news2024/12/23 19:23:47

性能测试的分类

  • 一、什么是性能测试?
  • 二、性能测试的目的
  • 三、性能测试的分类
    • 1、基准测试
    • 2、并发测试
    • 3、负载测试
    • 4、压力测试
    • 5、其他测试

一、什么是性能测试?

性能测试是在一定的负载1条件下,系统的响应时间等特性是否满足特定的性能需求。需要有“系统”的视角来分析被测试系统,主要目标是确保系统在一定的软硬件资源配置条件下达到一定的性能指标。

二、性能测试的目的

1、评估当前系统性能能力
2、寻找性能瓶颈,性能调优
3、预测未来性能

三、性能测试的分类

1、基准测试

(1)概念:
在一定的软件、硬件及网络环境下,模拟一定数量虚拟用户运行一种或者多种业务,将测试结果作为基准数据,在系统调优或者系统测评中,通过运行相同的业务场景并比较测试结果,确定调优是否达到效果/为系统的选择提供决策数据。一般通过配置测试得到数据,并将这个数据作为基准来比较每次调优后的性能是否得到改善。
(2)实际应用:
开始其他类型性能测试前,可先配置线程组属性为单用户循环100次(只是举个例子,设置如图),监控响应时间,TPS,事务成功率等性能指标。若基准测试的性能指标不通过,需提交开发修改直到基准测试结果通过后再开展后续性能测试。
在这里插入图片描述

2、并发测试

(1)概念:
模拟多个用户并发访问同一应用、同一存储过程、数据记录以及其他并发操作,测试是否存在死锁、数据错误、资源争用等故障。
(2)实际应用:
例如抢票、预约接种、双11的0点秒杀等同时段多用户在线进行同一操作的场景,执行脚本过程中要监控服务器资源情况,包括CPU利用率、内存利用率等。下图附上100并发用户持续运行10分钟的线程组设置。
在这里插入图片描述

3、负载测试

(1)概念:
在一定的软件、硬件及网络环境下,通过运行一种或者多种业务在不同虚拟用户数量情况下,测试服务器的性能指标是否在用户的要求范围内,用于确定系统所能承载的最大用户数、最大有效用户数以及不同用户数下的系统响应时间及服务器的资源利用率。
负载测试强调的是在一定的环境下系统能够达到的峰值指标。不仅对硬件处理能力、各种服务器的连接能力等进行,以此测试系统在不同容量级别下是否能够达到指定的性能。
巧记:对系统不断加压,直到系统到达瓶颈,找到系统最大的负载能力,就像(举重运动员)会一直给自己加重量,直到自己没办法举起后就找到他的最终负载能力。
(2)实际应用:
测试xx游戏高峰时段可容纳多少人同时在线,当初看微微一笑很倾城电视剧时,男主角项目演示时就说到这个,他们做的游戏可以容纳很多人同时在线游戏,并且系统还很流畅(真不错!)

4、压力测试

(1)概念:
在一定的软件、硬件及网络环境下,通过模拟大量虚拟用户向服务器产生负载,使得服务器的资源处于极限状态下长时间持续运行,以测试服务器在高负载情况下能否稳定工作。压力测试强调的极端情况下系统的稳定性,此时处理能力已经不重要了。
(2)实际应用:
在强负载(大数据量、多并发用户)情况下进行性能测试,监控性能指标及系统稳定性,可以理解为是一个运动员负重后进行跑步。

5、其他测试

主要理解上面4种分类,这几种比较好理解,笔者就不赘述了,想详细了解的可以百度词条看看。
(1)稳定性测试
(2)配置测试
(3)综合场景测试

wu~~又是学到知识的一天!
(来都来了~就点个赞吧!cheer)
在这里插入图片描述

参考文件:国际最新系统和软件质量模型-质量要求和测试细则


  1. 当众多终端用户对系统进行访问时,用户越多,服务器需要处理的客户请求就越多,从而形成负载。 ↩︎

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

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

相关文章

Appium 并发多进程基于 Pytest框架详解

目录 前言: 改造思路: 实现: 最后: 总结: 前言: 之前通过重写unittest的初始化方法加入设备参数进行并发,实现了基于unittest的appium多设备并发,但是考虑到unittest的框架实在…

幼儿园门禁如何应用人脸识别技术?3大优势你知道几个

随着社会的发展和科技的进步,人脸识别技术逐渐渗透到各个领域,为我们的生活带来了许多便利和安全。在幼儿园这个特殊的场所,保证幼儿的安全和管理是至关重要的。 通过人脸识别技术,幼儿园可以准确、快速地辨识幼儿、家长和教职工的…

yolov8 目标检测与跟踪

参考: 参考: https://github.com/ultralytics/ultralytics https://github.com/TommyZihao/Train_Custom_Dataset/blob/main/%E7%9B%AE%E6%A0%87%E8%BF%BD%E8%B8%AA/%E5%85%AC%E5%BC%80%E8%AF%BE/ https://www.rstk.cn/news/42041.html?actiononClick …

Docker部署gitlab-runner

gitlab-runner 1.部署 Linux使用二进制的方式Docker中使用容器的方式启动gitlab-runnerHelm包的方式安装gitlab-runner Docker中使用容器的方式启动gitlab-runner 1.安装gitlab runner docker run -d --name gitlab-runner --restart always \ -v /srv/gitlab-runner/conf…

基于U-Net网络实现图像分割

目录 1、作者介绍2、U-Net网络及数据集介绍2.1 U-Net网络2.2 数据集介绍2.2.1 VOC_2012数据集2.2.2 眼球毛细血管数据集2.2.3 医学图像数据集 3、U-Net实现图像分割3.1 U-Net实现图像分割实验(简易版本)3.1.1 环境配置3.1.2 数据集准备3.1.3 代码实现3.1…

《项目实战》使用JDBC手写分库

文章目录 1、概要2、整体架构流程3、技术名词解释4、技术细节4.1、指定分库规则4.2、安装Mysql数据库以及建库建表4.3、创建Java项目4.3.1、使用 Idea创建Maven项目4.3.1.1、修改pom.xml配置 4.3.2、编写分库/路由规则 DbRouter4.3.3、编写数据库交互工具 DaoUtil4.3.4、编写数…

MyBits的创建与使用

文章目录 前言MyBits的优点这里简单回忆下用JDBC的流程 MyBits的调用流程MyBits的配置传递参数之# 与 $ 的区别 当mysql与程序属性映射不一致时的解决方案 前言 上篇博客讲述了 Spring后端与前端进行交互的过程, 而这篇博客将讲述Spring与数据库的交互 , 众所周知 后端与数据库…

1.1数据结构绪论

一、数据结构 学习如何使用程序代码把现实世界的问题信息化 二、数据的基本概 1、数据:信息的载体,是描述客观世界属性的数、字符及被计算机程序识别和处理的集合。 早期计算机处理的数据——纯数值类型;现代计算机处理数据——非数据类型 …

融合创新:AI虚拟数字人与3D VR全景引领未来旅游潮流

导语: 随着科技不断发展,AI虚拟数字人和3D VR全景技术的融合正引领着创新的潮流。这种融合不仅仅是对传统导览的升级,更为各个领域带来了全新的创新应用。让我们一起探索AI虚拟数字人与3D VR全景融合的创新应用,看看它们如何在多…

快速解决Github无法访问的问题

Github访问慢,是困扰很多人的问题,今天就出一个解决方案,按照下面思路,可以实现快速访问Github,来查看我们需要的资源。 目录 一、获取DNS 二、修改hosts文件内容 2.1 修改hosts权限 2.2 修改hosts内容 三、轻…

以指标驱动,企业数智化迈向新阶段

近年来,我国数字经济蓬勃发展,数据成为推动经济社会发展的新要素。国家十四五规划指出,要激活数据要素潜能,加快建设数字经济,需要重点实施“上云用数赋智”行动,推动数据赋能全产业链协同转型。为进一步迈…

保姆级教你用Python制作超级玛丽游戏“爷青回~”(文末赠书)

名字:阿玥的小东东 学习:Python、C/C 主页链接:阿玥的小东东的博客_CSDN博客-python&&c高级知识,过年必备,C/C知识讲解领域博主 目录 贪吃蛇游戏 弹珠游戏 超级玛丽(爷青回~) 完整代码如下: 总…

SpringBoot 实现 PDF 添加水印

SpringBoot 实现 PDF 添加水印 使用场景方式一:使用 Apache PDFBox 库方式二:使用 iText 库方式三:Free Spire.PDF for JavaDemo 使用场景 PDF(Portable Document Format,便携式文档格式)是一种流行的文件…

LIME论文阅读笔记

这是暗图增强领域一篇经典的传统方法论文,发表在TIP这个顶刊 文章基于的是这样一个公式: L R ⋅ T LR\cdot T LR⋅T 其中, L L L是暗图, R R R是反射分量, T T T是illumination map,并且对于彩色图像来说…

OpenCV reshape函数

reshape函数 在opencv中,reshape函数比较有意思,它既可以改变矩阵的通道数,又可以对矩阵元素进行序列化,非常有用的一个函数。 函数原型: C: Mat Mat::reshape(int cn, int rows0) const参数比较少,但设…

DJ3-5 TCP:流量控制、连接控制

目录 一、流量控制 二、连接管理 1. 建立连接(三次握手) 2. 关闭连接 3. TCP 连接的生命周期 一、流量控制 一条 TCP 连接的每一侧主机都为该连接设置了接收缓冲区。 TCP 的接收方的接收缓冲区: 1. 提供流量控制服务的原因 应用进程会…

Burpsuit使用03:拦截请求并修改响应

burpsuite是渗透的必备工具,使用它可以进行一些截包分析,修改包数据、暴力破解、扫描等功能,使用最多的场景应该是设置代理拦截数据包分析数据和爆破。 文章目录 拦截请求并修改响应Intercept is offForwardDropAction 拦截请求并修改响应 拦…

5.4、docker-compose

h ttps://www.runoob.com/docker/docker-compose.html Docker Compose docker-compose.yml 配置文件编写详解_docker-compose.yml 编写_种子选手的博客-CSDN博客 docker-compose.yml 配置文件编写详解 1.dockerfile: 构建镜像; 2.docker run: 启动容器;…

upyter Notebook:内核似乎挂掉

项目场景:提示:这里简述项目相关背景:项目场景:深度强化学习在中国股票量化交易上的应用,要求跑赢大盘问题描述提示:这里描述项目中遇到的问题:使用Jupyter Notebook运行时,跑到绘图…

瑞萨RA系列mcu学习笔记--RTT-pwm驱动

方案1:Studio 2.2.6和使用了RASC3.5下使用pwm驱动 开发环境必须说一下,本人在在开发环境的问题上栽了一个跟头, 使用最新版的RTT Studio 2.2.6和使用了RASC4.0的版本生成的公共编译ok,但是一下载到mcu就直接不能运行&#xff1a…