软件测试---性能测试

1.常见的性能问题有哪些

 如图所示

        系统内部以及软件的代码实现

        1,资源泄漏,包括内存泄漏。

        2,CPU使用率达到100%,系统被锁定等。

        3,线程死锁,阻塞等造成系统越来越慢。

        4,查询速度慢,或者列表的效率低。

        5,受外部系统影响越来越大

        6.软件的服务器崩溃,导致用户无法使用

2.性能测试是什么

        性能测试是一项综合性的工作,致力于暴露性能问题,评估系统性能趋势。性能测试工作实质上是利用工具去模拟大量用户操作来验证系统能够承受的负载情况,找出潜在的性能问题分析并解决;找出系统性能变化趋势,为后续的扩展做准备。

        一般地,它主要是针对系统的性能指标制定性能测试方案,执行测试用例,得出测试结果来验证系统的性能指标是否满足既定值。性能指标里包括系统各个方面的能力,如系统并发处理能力,系统响应时间,批量业务处理能力等等

3.性能测试和功能测试之间的区别

                功能测试:人工来完成,保证程序能运行就可以,不管在什么场景下,能运行就ok

                性能测试:借助工具来完成,在一些极端的情况下,需要保障软件能够正常工作

4.什么样的系统/软件表现属于性能好,什么样软件表现属性性能不好

                当两个软件都有同样的功能,软件1使用此功能的响应时间是1秒 软件2使用此功能的响应时间是1ms 说明软件2表现属于性能好 软件1表现不好 

5.为什么要进行性能测试

                获取系统性能的指标,作为性能指标的基准

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

                应用程序是否能够满足系统要求的各中性能指标

                应用程序是否能处理预期的用户负载并有盈余能力

                应用程序是否能处理业务所需要的事务数量

                在预期和非预期的用户负载下,应用程序是否稳定是否能确保用户在真正使用软件                          时获得舒服的体验

                发现系统的性能瓶颈,内存泄漏等问题。系统正常工作的情况下的最大容量。

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

6.常见的性能指标以及性能测试专用的术语

              1.  我们衡量性能指标常见的有以下几个 

                

                  2.专业术语

                并发用户数

                     假如在双十一的时候,有一百万的用户,同时操作淘宝系统,此时淘宝系统的承载                        压力特别大,这里我们就可以看到

                     并发的条件:大量用户,同时操作  并发数:此时大朗用户数并发数

              并发用户会对系统造成压力,首先对系统用户数,在线用户数,并发用                                            户数做一个区分

                系统用户数:数据库中保存的用户数量,

                在线用户数:登录成功后的用户数量

                并发用户数:当系统达到并发的时候,用户的数量即为并发用户数

           业务层面的并发用户数:指的是同时向服务器发送请求的用户数量。

           后端服务器层面的并发用户数:指的是同时向服务器发送请求的请求数量

        响应时间/平均响应时间(RT/ART)

从用户视角来考虑,响应时间反映了完成某个操作所需要的时间,标准定义是,应用系统从发出请求开始,到客户端接收完所有的字节数据所消耗的时间

        用户响应时间:(N1+A1+N2+A2+N3+A3+N4)用户从发起请求到用户看到响应中间经历的这段时间

        请求响应时间:(A1+N2+A2+N3+A3)服务器接受请求到发出响应这段时间

事务响应时间 (Transaction Reponse Time)

        每秒完成的事务数,通常指每秒成功的事务数,性能测试中重要的综合性性能指标

        这里的一个事务是一个业务度量单位,是指一组密切相关的子操作的组合。比如,一笔电              子付操作,后台处理的时候可能需要经过会员系统,账务系统,支付系统,银行系统等,这              就是是一个关于支付事务里面包含的操作。而对于用户,往往也只关注整个支付花费了多             长时间

每秒事务通过数(Transaction Per Second)

     TPS 是指每秒系统能够处理的事务数。它是衡量系统处理能力的重要指标。如果每秒事务数通过越大,代表系统处理能力越高

       当压力加大时,TPS曲线如果变化缓慢或者有平坦的趋势,很有可能是服务器开始出现瓶颈了。如果环境没有发生大的变化,对于同一系统会存在一个最大处理事务能力,它并不随着并发用户的增减而改变。

点击率(Hit Per Second)

每秒点击数代表用户每秒向Web 服务器提交的HTTP请求数。点击率越大,服务器压力越大。这里的点击并不是鼠标的一次点击,一次点击可能有多次HTTP请求

吞吐量(Throughput)

这里的吞吐量以单位时间为度量衡量;time

单位时间内系统处理的客户请求的数量,直接体现软件系统的性能承载能力,一般来说用Requests/second,Pages/Second,Bytes/Second,从业务的角度,也可以用访问人数/天或是处理的业务数/小时来衡量,从网络设置的的角度来说,也可以用字节数/天来衡量

吞吐率

思考时间(Think Time)

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

资源利用率


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


 

7.性能测试的分类

        1.基准性能测试

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

        应用场景:软件性能摸底

        2.负载性能测试

                让系统背负一定的压力,观察性能指标是否出现拐点

        3.压力测试

                让系统处于饱和状态,观察系统性能指标 

压力测试,通常指的是后端压力测试,一般采用后端性能测试的方法,不断对系统施加压力,验证系统长期处于临界饱和阶段的稳定性以及性能指标的变化。试图找到系统处于临界状态时的主要瓶颈点。

要更快的找出系统的性能瓶颈,一般会加大负载,甚至将负载一直增加上去,达到极限负载。这时候内存等处于极限状态,测试系统在极限状态下长时间运行是否稳定。确定系统是否稳定的指标包括TPS, RT ,CPU Using,Mem Using等。

在不断地加压过程中,一旦系统出现拐点(从量变到质变),系统可能就会出现崩溃,揭露高负载下系统的问题,例如资源竞争、同步问题、内存泄漏等;然后逐渐较少压力,观察瘫痪的系统是否可以自愈

        4.可靠性测试

        验证系统在常规负载模式下长期运行的稳定性。

                在一定的软硬件环境下,长时间运行一定的负载,确定系统在满足性能指标的前提下是                    否运行稳定。与压力测试不同的是系统的负载并不是处于极限的状态下。重点是满足                     性能要求的情况下,系统的稳定性,比如响应时间,TPS是否稳定

                  例如(让系统在一个月/一年/一周内)持续运行,观察其指标是否稳定

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

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

相关文章

算法练习第17天|104.二叉树的最大深度 、559.N叉树的最大深度

104.二叉树的最大深度 104. 二叉树的最大深度 - 力扣(LeetCode)https://leetcode.cn/problems/maximum-depth-of-binary-tree/description/ 什么是二叉树的深度和高度? 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。最大深度…

C语言复习1

1.stdint.h C99库的作用是统一类型别名,例如要定义一个有符号的整数类型,即输入int32_t。 2.位操作 3.宏定义 格式:define 标识符 字符串 标识符:宏定义的名字 字符串:常数,表达式,格式串等 …

入侵检测数据预处理 特征工程 面临的问题

数据预处理 对于分类任务来说,由于原始数据可能存在异常、缺失值以及不同特征的取值范围差 异大等问题,对机器学习会产生影响,因此,在进行机器学习模型训练之前,需要先对数据 进行预处理。数据预处理的主要过程包括数据清洗、去量纲、离散化等。 1.数据清洗 对采集到的数据进行…

Element-Ui的Form表单:Label文本两端对齐,且必填项的*不影响布局

1. HTML 结构 首先&#xff0c;确保你的 HTML 或 Vue 模板中有一个 el-form 组件&#xff0c;类似下面这样&#xff1a; <div id"app"><el-form :model"form" label-width"100px"><el-form-item label"用户名">&l…

Mac搭建Java环境【环境搭建】

Mac搭建Java环境【环境搭建】 1 安装Java SDK 官网地址&#xff1a;https://www.oracle.com/java/technologies/downloads/archive/ 下载dmg&#xff0c;双击之后无脑安装即可。 # 进入 JDK 安装目录 cd /Library/Java/JavaVirtualMachines# 查看文件 ls# 输入 cd ~# 打开环…

别踩白块web小游戏

整体思路 1.设置一个游戏界面main&#xff08;最外面一圈方框&#xff09; 2.main内部放置一个容器container&#xff0c;容器非常长&#xff0c;且容器底部位于main的顶部 3.将容器内的黑块和白块事先处理好&#xff0c;并将黑块存储在黑块数组中 容器黑白块处理&#xf…

【开发问题记录】Nacos修改服务实例权重时报错

问题记录 一、问题描述1.1 产生原因1.2 产生问题 二、问题解决2.1 docker部署的nacos解决方案2.1.1 进入nacos容器2.1.2 查看当前目录2.1.3 进入data文件夹2.1.4 删除protocol文件2.2 本地部署的nacos 一、问题描述 1.1 产生原因 在运行项目时&#xff0c;在本地启动了一个服务…

vue3项目 使用 element-plus 中 el-collapse 折叠面板

最近接触拉了一个项目&#xff0c;使用到 element-plus 中 el-collapse 折叠面板&#xff0c;发现在使用中利用高官网多多少少的会出现问题。 &#xff08;1.直接默认一个展开值&#xff0c;发现时显时不显 2 . 数据渲染问题&#xff0c;接口请求了&#xff0c;页面数据不更新 …

大数据平台搭建2024(一)

一&#xff1a;基础配置 创建虚拟机并查出ip地址进行连接 ip a1.配置node01静态ip地址与主机名 vi /etc/sysconfig/network-scripts/ifcfg-ens33修改或添加如下内容&#xff1a; BOOTPROTO"static" ONBOOTyes #根据虚拟机网卡信息配置 IPADDR192.168.200.141 NET…

360度VR全景汽车漫游展示让爱车者能感受真实的驾驶体验

小米汽车的惊艳亮相&#xff0c;让无数爱车族心潮澎湃。然而&#xff0c;对于因时间和地理限制无法亲临现场的人来说&#xff0c;这份激动或许带有些许遗憾。如今&#xff0c;有了3D虚拟看车软件&#xff0c;这一切不再是问题。 web3D开发公司深圳华锐视点通过运用尖端的web3D开…

IntelliJ IDEA2024 安装包(亲测可用)

目录 一、软件简介 二、软件下载 一、软件简介 IDEA&#xff08;Integrated Development Environment for Apache&#xff09; 是一款专为 Apache 开发者设计的集成开发环境。该软件提供了丰富的功能和工具&#xff0c;帮助开发者更高效地创建、调试和部署 Apache 项目。 主…

hot100 -- 链表(中)

不要觉得力扣核心代码模式麻烦&#xff0c;它确实比不上ACM模式舒服&#xff0c;可以自己处理输入输出 只是你对 链表 和 return 的理解不到位 &#x1f442; ▶ 屿前世 (163.com) &#x1f442; ▶ see you tomorrow (163.com) 目录 &#x1f382;两数相加 &#x1f6a9;删…

python 绘制六种激活函数(sigmoid、tanh、relu、softmax、relu、elu)

1、效果 2、实现代码&#xff08;带注释&#xff09; import numpy as np # 导入 numpy 库, 用于数学运算 import matplotlib.pyplot as plt # 导入 matplotlib.pyplot, 用于绘图 import matplotlib as mpl # 导入 matplotlib 库, 用于图形配置plt.rcParams[font.sans-se…

mysql奇葩问题union

单独执行第一条&#xff0c;有三条结果&#xff1b; union之后&#xff0c;只有一条结果&#xff1b; union自动的把重复数据合并了&#xff1b;

Arduino通过I2C驱动MT6701磁编码器并读取角度数据

Arduino通过I2C驱动MT6701磁编码器并读取角度数据 &#x1f4cd;相关篇《Arduino通过Wire库读取AS5600编码器数据》 ✨测试了使用STM32硬件I2C扫描其地址失败。使用软件I2C可以。 &#x1f4d1;MT6701&#xff08;基于差分霍尔的磁性角度传感器芯片&#xff09;芯片特性简介 &…

WPF中DataGrid主从数据(父子数据)展示

在wpf中可以使用DataGrid控件,进行主从数据展示,也称父子数据展示。下面展示纯原生控件编码实现功能(样式自己可以根据需求进行修改)。 效果如下: 点击图标,展开和收缩可以自由的切换,也可以自己重新写一个样式,比如+,-或者类似图标的样式,都是可以的。 1.首先创建一…

多线程传参以及线程的优缺点

进程是资源分配的基本单位 线程是调度的基本单位 笼统来说&#xff0c;线程有以下优点&#xff1a; 创建一个新线程的代价要比创建一个新进程小得多 与进程之间的切换相比&#xff0c;线程之间的切换需要操作系统做的工作要少很多 线程占用的资源要比进程少很多 能充分利用多…

leetcode1448.统计二叉树中的好节点数目

1. 题目描述 题目链接 2. 解题思路 首先看一下题目的“核心”&#xff0c;什么是好节点&#xff1a;从根到该节点 X 所经过的节点中&#xff0c;没有任何节点的值大于 X 的值。也就是说&#xff0c;我们只要知道了从根节点到该节点的所有的值&#xff0c;就可以判断该节点是…

Blender3.0 下载地址及安装教程

Blender是一款开源的3D计算机图形软件&#xff0c;广泛应用于动画制作、游戏开发、建模、渲染等领域。它提供了一套强大的工具和功能&#xff0c;让用户能够进行三维建模、动画制作和视觉效果的创作。 Blender支持多种文件格式的导入和导出&#xff0c;使用户能够与其他软件进…

中国建筑模板出口供应商

随着"一带一路"倡议的深入推进,中国基建企业"走出去"的步伐正在加快。与之相应,建筑模板产品作为工程建设的重要材料,其国际化供应也愈发受到重视。在众多建筑模板生产企业中,贵港市能强优品木业有限公司以其卓越的产品质量和丰富的出口经验,成为了国内知名…