【性能测试一】性能测试概述

目录

🌟一、性能测试的基础概念

🌈1、生活中软件相关的性能问题?

🌈2、性能测试的概念

🌈3、性能测试与功能测试的区别?

🌈4、什么样的软件属于性能好?什么样的软件属于性能不好?

🌈5、哪些因素会影响到软件的性能?

🌈6、为什么要进行性能测试?

🌟二、性能测试常见专业术语以及衡量指标(重要)

🌈1、常见专业术语

🌈2、性能测试的分类

🌈3、性能测试如何展开?


🌟一、性能测试的基础概念

🌈1、生活中软件相关的性能问题?

比如:双十一预售活动淘宝服务器崩溃;抖音崩溃。

常见的性能问题:系统内部及软件的代码实现

(1)资源泄露,包括内存泄露;

(2)CPU使用率达到100%,系统被锁定;

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

(4)查询速度慢,或者列表的效率低;

(5)受外部系统影响越来越大。

🌈2、性能测试的概念

性能测试:测试人员借助性能测试工具模拟系统在不同情况下性能指标是否正常。

🌈3、性能测试与功能测试的区别?

(1)功能测试:只是是验证软件的特性是否实现;

(2)性能测试:保证在一些极其恶劣的环境下能否正常使用:比如用户人太多,流量使用大的情况下。

性能测试是在功能测试完成后执行。

🌈4、什么样的软件属于性能好?什么样的软件属于性能不好?

 

🌈5、哪些因素会影响到软件的性能?

(1)硬件方面:服务器CPU,服务器内核数量,内存,磁盘,网络带宽;

(2)软件方面:编程语言(C++,Java),算法;

(3)用户:用户数量,用户操作频率(比如1s,向服务器发送10w个HTTP请求,服务器可能会崩溃)

🌈6、为什么要进行性能测试?

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

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

  • 应用程序能否能够满足系统要求中的各项性能指标
  • 应用程序是否能处理预期的用户负载并有 盈余能力;
  • 应用程序能否处理业务所需要的事务数量
  • 在预期和非预期的用户负载下,应用程序是否稳定
  • 是否能确保与用户在真正使用软件的时候获取舒服的体验。

(3)发现系统的性能瓶颈,内存泄露等问题

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

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


🌟二、性能测试常见专业术语以及衡量指标(重要)

🌈1、常见专业术语

(1)并发:软件在运行过程中,有大量的用户同时访问

(2)并发用户数:大量用户,请求系统,此时的用户数量就是并发用户数量。

(3)并发请求数:大量用户,请求系统,此时服务器接收的请求数量。

(4)用户数

  • 系统用户数:简单地说就是该系统的注册用户数;
  • 在线用户数:登录系统的用户数量;
  • 并发用户数:同时对系统发起请求对应的用户数量。

系统用户数>在线用户数>并发用户数(在系统限制用户登录成功才能访问系统的条件下)

(5)响应时间:越短越好

  • 用户响应时间:从N1+A1+N2+A2+N3+A3+N4的过程时间。用户从发起请求到接收到响应花费的时间。
  •  请求响应时间:服务器接收到请求到服务器发出相应的时间段:A1+N2+A2+N3+A3

 (6)事务

  • 事务:此时的事务是针对一个业务单位来定义的。
  • 事务响应时间:服务处理一个事务花费的时间。每秒完成的事务数,通常指每秒成功的事务数,性能测试中重要的综合性性能指标。这里的一个事务是一个业务度量单位,是指一组密切相关的子操作的组合。比如,一笔电子支付操作,后台处理的时候可能需要经过会员系统,账务系统,支付系统,银行系统等,这就是是一个关于支付事务里面包含的操作。而对于用户,往往也只关注整个支付花费了多长时间。
  • 每秒事务通过数:TPS 是指每秒系统能够处理的事务数。当压力加大时,TPS曲线如果变化缓慢或者有平坦的趋势,很有可能是服务器开始出现瓶颈了。如果环境没有发生大的变化,对于同一系统会存在一个最大处理事务能力,它并不随着并发用户的增减而改变。

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

(8)吞吐量:指一次请求,用户和服务器之间的数据传输量。直接体现软件系统的性能承载能力。

 程序1:10s处理数据10M;

 程序2: 1h处理数据100M;

不能说明程序1快。因此吞吐量并不能衡量一系列的问题。

吞吐率:size/time。数据的吞吐量/时间。

吞吐率越低表示软件性能越好,吞吐率越大证明软件性能越不好。

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

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

🌈2、性能测试的分类

(1)基准性能测试:让系统在正常情况下运行,观察系统的性能指标是否正常。

        为什么要进行性能测试?因为要拿着前一个版本的性能指标和当前软件的性能指标进行对比。

(2)负载测试

让系统背负一定的压力,让系统运行一定时间,观察系统是否存在性能拐点。

(3)压力测试

让系统处于极限或者饱和状态,观察系统的性能指标(压力测试会将系统搞崩溃)。

(4)可靠性测试

将系统进行持续运行,观察系统性能是否出现异常。比如系统先运行1天,看有没有异常现象,再看一周观察,再看一个月,最后看一年。用4个9或者5个9来表示系统的可靠性高。

🌈3、性能测试如何展开?

(1)功能测试流程:

需求分析——>测试计划——>测试开发——>测试设计——>测试执行——>测试评估

(2)性能测试流程:

需求分析(分析的是性能需求)——>测试计划(确定一个性能测试工具)——>测试开发(性能测试脚本的编写)——>测试执行(跑脚本)——>测试评估(产生一个测试报告,将性能问题写在测试报告中,优化方案是什么)

性能测试的时候发现的问题不叫bug,叫做性能瓶颈;

性能测试的时候,开发进行的修复不叫修复,叫优化。


 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值