软件测试---性能测试

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是否稳定

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Console口和Telnet功能配置实验

一、基础配置 <Huawei>system-view //进入系统视图 Enter system view, return user view with CtrlZ. [Huawei]undo info-center enable //关闭接口提示 Info: Information center is disabled. [Huawei]sysname AR1 //配置设备名为 R1 [AR1]interface GigabitEthern…

pta L1-027 出租

L1-027 出租 分数 20 全屏浏览 切换布局 作者 陈越 单位 浙江大学 下面是新浪微博上曾经很火的一张图&#xff1a; 一时间网上一片求救声&#xff0c;急问这个怎么破。其实这段代码很简单&#xff0c;index数组就是arr数组的下标&#xff0c;index[0]2 对应 arr[2]1&#x…

steam怎么退款?steam退款教程?简单几步即可轻松实现退款

steam怎么退款&#xff1f;steam退款教程&#xff1f;简单几步即可轻松实现退款 说到steam平台大家肯定不会陌生&#xff0c;随着现代的发展&#xff0c;在steam上进行购买游戏已经成了很普遍的东西&#xff0c;但是许多玩家在购买游戏试完之后发现游戏并不符合自己的胃口&…

transformer上手(9)—— 翻译任务

运用 Transformers 库来完成翻译任务。翻译是典型的序列到序列 (sequence-to-sequence, Seq2Seq) 任务&#xff0c;即对于每一个输入序列都会输出一个对应的序列。翻译在任务形式上与许多其他任务很接近&#xff0c;例如&#xff1a; 文本摘要 (Summarization)&#xff1a;将长…

地质灾害监测预警系统:科技守护,构筑智能预警屏障

随着全球气候变化和人为活动的加剧&#xff0c;地质灾害频繁发生&#xff0c;给人们的生命财产安全带来了严重威胁。为了降低地质灾害带来的损失&#xff0c;地质灾害监测预警系统应运而生。本文将为您详细介绍地质灾害监测预警系统的原理、功能以及在实际应用中的效果。 一、地…

【考研数学】全年各阶段用书汇总+资料分享

我一战备考很迷茫&#xff0c;身边室友也都是&#xff0c;和室友一起去买资料&#xff0c;网上推荐的看到了就都买了 大家都不知道怎么样才能选对数学参考书然后快速进入备考状态&#xff0c;最后犹犹豫豫买了一堆资料都没有正式开始备考... 从小都算是身边人口中“偏科&…

L2-3 完全二叉树的层序遍历

完全二叉树的层序遍历 一个二叉树&#xff0c;如果每一个层的结点数都达到最大值&#xff0c;则这个二叉树就是完美二叉树。对于深度为 D 的&#xff0c;有 N 个结点的二叉树&#xff0c;若其结点对应于相同深度完美二叉树的层序遍历的前 N 个结点&#xff0c;这样的树就是完全…

箭头函数有哪些不适用场景

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

预分频器×重装载值)/LSI频率 为什么等于总时间

1. 第一种算法理解&#xff1a;分频系数 64 &#xff0c;外部低速时钟40khz&#xff0c; 则一次计数周期1.6ms &#xff0c;计数625个数&#xff0c;则有625个周期 &#xff0c;1.6ms*625 等于1s 如果分频系数是64&#xff0c;外部低速时钟&#xff08;LSI&#xff09;频率是…

动态规划|416.分割等和子集

力扣题目链接 class Solution { public:bool canPartition(vector<int>& nums) {int sum 0;// dp[i]中的i表示背包内总和// 题目中说&#xff1a;每个数组中的元素不会超过 100&#xff0c;数组的大小不会超过 200// 总和不会大于20000&#xff0c;背包最大只需要其…

STM32标准库+HAL库 | CPU片内FLASH存储器数据掉电读写

一、片内FLASH 在STM32芯片内部有一个FLASH存储器&#xff0c;它主要用于存储代码&#xff0c;我们在电脑上编写好应用程序后&#xff0c;使用下载器把编译后的代码文件烧录到该内部FLASH中&#xff0c; 由于FLASH存储器的内容在掉电后不会丢失&#xff0c;芯片重新上电复位后&…

车载摄像头畸变校正解决方案,打造无畸变高清视界

在车载摄像头日益普及的今天&#xff0c;摄像头图像的畸变问题成为了制约图像质量提升的一大瓶颈。畸变不仅影响画面的美观度&#xff0c;更关键的是它可能导致智能驾驶系统对环境的误判&#xff0c;进而威胁到行车安全。美摄科技凭借其在图像处理领域的深厚实力&#xff0c;推…

双位置继电器RXMD2-1MRK001984 DC220V JOSEF约瑟

系列型号&#xff1a; RXMD2 1MRK 001 984双位置继电器&#xff1b; RXMD2 1MRK 001 985双位置继电器&#xff1b; RXMD2 1MRK 001 986双位置继电器&#xff1b; 用途 该继电器主要用于直流操作的继电保护和自动化回路中作为大容量双稳态元件进行切换和闭锁。 特点 本继电器…

Vue3项目中快速引入ElementUI框架

ElementUI介绍 ElementUI是一个强大的PC端UI组件框架&#xff0c;它不依赖于vue&#xff0c;但是却是当前和vue配合做项目开发的一个比较好的ui框架&#xff0c;其包含了布局&#xff08;layout)&#xff0c;容器&#xff08;container&#xff09;等各类组件&#xff0c;基本上…

Linux-线程

进程 与 线程: 参考自&#xff1a; Linux多线程编程初探 - 峰子_仰望阳光 - 博客园 (cnblogs.com) 进程:   典型的UNIX/Linux进程可以看成只有一个控制线程&#xff1a;一个进程在同一时刻只做一件事情。 有了多个控制线程后&#xff0c;在程序设计时可以把进程设计成在同一时…

代码随想录刷题随记23-回溯3

代码随想录刷题随记23-回溯3 39. 组合总和 leetcode链接 注意同一个 数字可以 无限制重复被选取 怎么体现这个可以重复取的思想很重要 解题代码&#xff1a; class Solution { public:void backtrace( vector<vector<int>>& ret,vector<int> &pat…

Spring Cloud 集成 Redis 发布订阅

目录 前言步骤引入相关maven依赖添加相关配置 使用方法发布订阅发布一个消息 注意总结 前言 在当今的软件开发领域&#xff0c;分布式系统已经成为一种主流的架构模式&#xff0c;尤其是在处理大规模、高并发、高可用的业务场景时。然而&#xff0c;随着系统复杂性的增加&…

Ubuntu20从0开始选择合适版本手动安装cuda,torch-geometric,jax

一个全新的ubuntu20台式机&#xff0c;在Additional Drivers安装nvidia-470-server&#xff08;一开始安装450&#xff0c;cunda版本只能到11.0&#xff0c;torch有些库用不了&#xff0c;可以直接切换点击Apply Changes重启就行&#xff09; nvidia-smi查看CUDA Version可到…

Java基础_22线程死锁,object类下面线程方法,生产者消费者

周二的回顾 1.线程的概念是进程(应用程序软件)最小的基本单位 2.在Java中代码咋写线程1.继承Thread类2.实现Runnable接口3.实现Callable接口 3.Thread相关的方法4.同步锁目的: 当多个线程操作同一个资源的时候&#xff0c;会发生数据不安全性&#xff01;&#xff01;&#x…

Jenkins上面使用pnpm打包

问题 前端也想用Jenkins的CI/CD工作流。 步骤 Jenkins安装NodeJS插件 安装完成&#xff0c;记得重启Jenkins。 全局配置nodejs Jenksinfile pipeline {agent anytools {nodejs "18.15.0"}stages {stage(Check tool version) {steps {sh node -vnpm -vnpm config…