软件测试---性能测试

news2025/2/1 7:49:50

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.coloradmin.cn/o/1600127.html

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

相关文章

MySQL死锁与死锁检测

一、什么是MySQL死锁 MySQL中死锁是指两个或多个事务在互相等待对方释放资源,导致无法继续执行的情况。 MySQL系统中当两个或多个事务在并发执行时,就可能会遇到每项事务都持有某些资源同时又请求其他事务持有的资源,从而形成事务之间循环等…

【QT教程】QT6 Web性能优化

QT6 Web性能优化 使用AI技术辅助生成 QT界面美化视频课程 QT性能优化视频课程 QT原理与源码分析视频课程 QT QML C扩展开发视频课程 免费QT视频课程 您可以看免费1000个QT技术视频 免费QT视频课程 QT统计图和QT数据可视化视频免费看 免费QT视频课程 QT性能优化视频免费看 免费…

我的思考工作流(2024年版)

去年底,我对自己的思考工作流程又做了一些优化和改进,把它变得更为简洁、清晰。 因此,今天我想把它分享给大家,希望能给你一些启发。 我的核心方法论依然是我自己提出的「INKP知识管理法」(参见《打开心智》第五章&…

【CAN】采样点介绍及测试方法

文章目录 1 什么是采样点2 为什么需要采样点3 采样点的计算公式4 VH6501测试原理和方法4.1 VH6501测试采样点原理4.2 VH6501测试方法 >>返回总目录<< 1 什么是采样点 采样点是节点判断信号逻辑电平的位置&#xff0c;是CAN控制器读取总线电平&#xff0c;并解释各…

【多线程】阻塞队列 | put()方法 | take()方法 | 生产者-消费者模式 |实现阻塞队列

文章目录 阻塞队列1.生产者-消费者模式生产者消费者模型的意义&#xff1a;1.解耦合2.削峰填谷&#xff1a; 2.阻塞队列的使用BlockingQueue 3.实现阻塞队列唤醒&#xff1a;使用阻塞队列实现生产者消费者模型 阻塞队列 阻塞队列是一种特殊的队列&#xff1a; 1.是线程安全的。…

【光伏企业】光伏项目怎么做才能提高效率?

一、精细化项目管理 项目规划&#xff1a;在项目启动前&#xff0c;进行充分的调研和规划&#xff0c;明确项目的目标、规模、预算和时间表&#xff0c;确保各项资源得到合理分配。 团队建设&#xff1a;组建一支高效、专业的项目团队&#xff0c;确保团队成员具备光伏领域的…

day02|最小花费爬梯子

最小花费爬梯子 比如 有一个数组 【2 5 20】我们直接选择从1号梯子&#xff08;从零编号&#xff09;跳两格就出去了。 算法原理 我们可以得出楼顶其实是数组的最后一个元素的下一个位置。对于最值问题我们可以尝试使用dpdp我们首先应该定义状态方差的含义&#xff0c;一般以…

亚信安慧AntDB:为安全加码

亚信安慧AntDB分布式数据库凭借平滑扩展、高可用性和低成本三大核心优势&#xff0c;在业界获得了极高的评价和认可。这些优点不仅为AntDB提供了巨大的市场发展潜力&#xff0c;也使其成为众多企业在数据管理上的首选解决方案。 AntDB的平滑扩展特性极大地提升了企业的灵活性和…

官宣:2024第二十届国际铸造件展12月精彩呈现!

Shanghai International Die-casting Casting Expo 2024第二十届上海国际压铸、铸造展览会 2024第二十届上海国际压铸、铸件产品展 时间&#xff1a;2024年12月18-20日 地点&#xff1a;上海新国际博览中心&#xff08;浦东区龙阳路2345号&#xff09; 报名参展&#xff1…

Slf4j+Log4j简单使用

Slf4jLog4j简单使用 文章目录 Slf4jLog4j简单使用一、引入依赖二、配置 log4j2.xml2.1 配置结构2.2 配置文件 三、使用四、使用MDC完成日志ID4.1 程序入口处4.2 配置文件配置打印4.3 多线程日志ID传递配置 五. 官网 一、引入依赖 <dependencies><dependency><g…

STM32之HAL开发——CubeMX配置串行Flash文件系统

配置流程 在开始配置FATFS前&#xff0c;需要提前配置好RCC的时钟&#xff0c;以及时钟的频率&#xff0c;另外还要配置好Debug选项&#xff08;选择串行&#xff09; 选项介绍 文件系统适用于SD卡&#xff0c;Disk磁盘等&#xff0c;需要我们将对应的驱动打开才可以使用。 …

C语言—字符指针,指针数组和数组指针

字符指针 在指针的类型中我们知道有一种指针类型为字符指针 char* ; int main() {char ch w;char *pc &ch;*pc w;return 0; }还有一种使用方式如下&#xff1a; int main() {const char* pstr "hello world.";//这里是把一个字符串放到pstr指针变量里了吗…

雨云免费云服务器领取步骤详解

随着云计算技术的日益普及&#xff0c;越来越多的用户开始选择使用云服务器来满足他们的数据存储和计算需求。雨云作为一家具有自主知识产权的国产云计算服务提供商&#xff0c;其免费云服务器服务备受关注。接下来&#xff0c;本文将为大家详细介绍雨云免费云服务器的领取步骤…

代码随想录-算法训练营day14【二叉树01:理论基础、递归遍历、迭代遍历、统一迭代】

代码随想录-035期-算法训练营【博客笔记汇总表】-CSDN博客 第六章 二叉树part01今日内容&#xff1a; ● 理论基础 ● 递归遍历 ● 迭代遍历 ● 统一迭代详细布置 理论基础 需要了解 二叉树的种类&#xff0c;存储方式&#xff0c;遍历方式 以及二叉树的定义 文章讲解&#x…

2024 NTFS读写工具Tuxera NTFS for Mac 是如何进行下载、安装、激活的

本篇将为各位小伙伴们集中讲解一下NTFS读写工具Tuxera NTFS for Mac 是如何进行下载、安装、激活与换机的。 在数字化时代&#xff0c;数据交换和共享变得日益重要。然而&#xff0c;对于Mac用户来说&#xff0c;与Windows系统之间的文件交换可能会遇到一些挑战。这是因为Mac …

Blender生成COLMAP数据集

最近在做3DGS方向&#xff0c;整理了一下Blender生成自己的数据集。 1 Introduction 在Blender中构建场景&#xff08;light, object, camera&#xff09;&#xff0c;利用Blender的python脚本对其渲染&#xff0c;导出多视角下渲染出的RGB图和depth map&#xff0c;并将trans…

【亲测有用】2024年timm从本地加载模型

有图有真相&#xff1a;https://github.com/huggingface/pytorch-image-models/discussions/1826 好使。 其他的过时的方法就别看了。&#xff08;当然我这个过几年也会过时&#xff09;

亚马逊国际获得AMAZON商品详情 API (属性主图价格等)

要获取亚马逊国际的商品详情API&#xff0c;包括商品的属性、主图、价格等信息&#xff0c;可以按照以下步骤操作&#xff1a; 请求示例&#xff0c;API接口接入Anzexi58 了解亚马逊开发者中心&#xff1a;首先&#xff0c;访问亚马逊开发者中心&#xff0c;详细阅读相关的API…

基于小程序实现的4s店管理系统

作者主页&#xff1a;Java码库 主营内容&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 技术选型 【后端】&#xff1a;Java 【框架】&#xff1a;ssm 【…

OpenAI宣布GPT-4-Turbo全面升级,GPT-4 Turbo 新增视觉理解能力,可同时处理文本和图像信息

OpenAI宣布GPT-4-Turbo全面升级&#xff0c;GPT-4 Turbo with Vision新增视觉理解能力&#xff0c;可同时处理文本和图像信息&#xff0c;极大简化了开发流程。 OpenAI宣布GPT-4 Turbo全面升级&#xff01;根据官方说法&#xff0c;这一波 GPT 的升级包括&#xff1a; 更长的上…