测试必备知识,性能测试入门学习


1什么是性能?

性能:就是软件质量属性中的“效率"特性

效率特性:
●时间特性:指系统处理用户请求的响应时间
●资源特性:指系统在运行过程中,系统资源的消耗情况

  1. CPU
  2. 内存
  3. 磁盘IO (磁盘的写入Input和读取Output, 简称IO)

2.1什么是性能测试?

概念:
使用自动化工具,模拟不同的场景,对软件各项性能指标进行测试和评估的过程就是性能测试。

  1. 后台处理程序的性能(代码性能)
  2. 中间件、数据库、架构设计等是否存在瓶颈
  3. 服务器资源消耗(CPU、内存、磁盘、网络)

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

2.2性能测试目的

  1. 评估当前系统能力
  2. 寻找性能瓶颈,优化性能
  3. 评估软件是否能够满足未来的需要

2.3性能测试与功能测试区别

2.3.1焦点不一样
●功能测试:验证软件系统操作功能是否符合产品功能需求规格,主要焦点在功能(正向、逆向) ;
●性能测试:验证软件系统是否满足业务需求场景,主要焦点是业务场景的满足(时间、资源);
2.3.2关系
●功能测试和性能测试是相辅相成的,对于- -款优秀的软件产品来讲,它们是不可减少的2个重要测试环节;
●注意:一般新项目中,先功能测试通过后,再进行性能测试。

3.1性能测试策略

  1. 基准测试
  2. 负载测试
  3. 稳定性测试
  4. 其他并发测试、压力测试、容量测试等

3.1.1基准测试

基准测试: .
●狭义上讲;也是单度户测试,测试环境确定以后,对业务模型中的重要业务做单独的测试,获取单用户运行时的各项性能指标。(进行基础的数据采集)
●广义上讲:是一种测量和评估软件性能指标的活动。你可以在某个时刻通过基准测试建立- 一个己知的性能水平(称为基准线),当系统的软硬件环境发生变化之后再进行- -次基准测试以确定那些变化对性能的影响。

基准测试数据的用途:

  1. 为多用户并发测试和综合场景测试等性能分析提供参考依据
  2. 识别系统或环境的配置变更对性能响应带来的影响
  3. 为系统优化前后的性能提升/下降提供参考指标

在这里插入图片描述

3.1.2负载测试

说明:

  • 通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足系统的性能指标情况下,系统所能够承受的最大负载量的测试。

负载:指向服务器发送的请求数量,请求越多,负载越高
注意:负载测试关注的重点是逐步增加压力
在这里插入图片描述

3.1.3稳定性测试

说明:

  • 稳定性测试是指,在服务器稳定运行(用户正常的业务负载下)的情况下进行长时间测试,并最终保证服务器能满足线上
    业务需求。时长一般为1天、一周等。

3.1.4其他测试策略

性能测试中,测试策略其实有很多种,但是掌握基础的用法后,其他不同名称的测试策略只是基础用法的一个变形用法。
●并发测试:并发测试是指在极短的时间内,发送多个请求,来验证服务器对并发的处理能力。如;抢红包、抢购、秒杀活动
●压力测试:压力测试是在强负载(大数据量、大量并发用户等)下的测试,查看应用系统在峰值使用情况下操作行为,从而有效地发现系统的某项功能隐患、系统是否具有良好的容错能力和可恢复能力。压力测试分为高负载下的长时间(如24小时以上)的稳定性压力测试和极限负载情况下导致系统崩溃的破坏性压力测试。
●容量测试:关注软件的极限压力下的各个极限参数值,例如:最大TPS, 最大连接数,最大并发数,最多数据条数等。

3.2常用性能指标

3.2.1响应时间

说明:响应时间指用户从客户端发起一个请求开始,到客户端接收到从服务器端返回的结果,整个过程所耗费的时间。
组成:响应时间=网络时间+应用程序处理时间

在这里插入图片描述
客户端发送请求,到服务器收到响应,过程中所经历的全部时间,都是响应时间。
响应时间=应用程序处理时间(A1+A2+A3) + 网络传输时间(N1+N2+N3+N4)

3.2.2并发数

说明:并发测试的用户数

●系统用户数:系统注册的总用户数据
●在线用户数:某段时间内访问系统的用户数,这些用户并不一定同时向系统提交请求
●并发用户数:某一物理时刻同时向系统提交请求的用户数

3.2.3吞吐量

说明:吞吐量(Throughput) 指的是单位时间内处理的客户端请求数量,直接体现软件系统的性能承载能力
注意

  1. 从业务角度来看,吞吐量也可以用“业务数1小时”、“业务数/天”、“访问人数1天”、“页面访问量/天”来衡量
  2. 从网络角度来看,还可以用“字节数/小时”、“字 节数1天"等来衡量网络的流量
  3. 从技术指标来看,可以用每秒事务数(TPS)和每秒查询数(QPS)来衡量服务器具体性能处理能力

吞吐量英文为Throughput,单位时间内,系统处理客户端请求的数量。

衡量服务器性能好坏的直接指标,从不同维度来描述:
●业务维度:业务数/秒,业务数/小时,业务数/天
●网络维度:字节数秒,字节数1小时,字节数/天
●技术维度:TPS (每秒事务数)、QPS (每秒请求数)

3.2.4TPS与QPS

TPS
说明:TransactionsPerSecond,每秒事务数(单位时间内系统处理的客户端请求的事务次数)
计算:TPS =并发数/平均响应时间
事务:就是业务请求,对应一个或者多个操作。
一个事务通常指的是界面上的一个操作。一个事务可以包含一个或者多个接口请求。

QPS
说明:QPS(Query Per Second)每秒查询数
应用:控制服务器每秒处理指定请求数(如:控制服务器达到每秒B0QPS,服务器的性能各项性能指标是否正常。(服务器处理能力一个重要指标)
在这里插入图片描述
对于登录事务而言,当TPS为10时,服务器的QPS也是10
对于支付事务而言,当TPS为10时,服务器的QPS就是30
在这里插入图片描述

3.2.5点击数

说明:点击数是衡量Web服务器处理能力的-一个重要指标。
提示

  1. 点击数不是通常一 般人认为的访问一个页面就是1次点击数,点击数是该页面包含的元素(图片、链接等)加载时,服务器发出的请求数量。
  2. 通常我们也用每秒点击次数(HitsperSecond)指标来衡量Web服务器的处理能力。

注意:只有web项目才有此指标。

3.2.6错误率

说明:错误率指系统在负载情况下,失败业务的概率。错误率= (失败业务数/业务总数)* 100%。
提示

  1. 不同系统对错误率要求不同,但一般不超过千分之五;
  2. 稳定性较好的系统,其错误率应该由超时引起,即为超时率。

错误率木是功能有错误或者bug,指的是在系统高负载的情况下,业务失败的次数/业务的总次数* 100%

3.2.6资源利用率

说明:是指系统各种资源的使用情况,–般用“资源的使用量/总的资源可用量x100%"形成资源利用率的数据。
提示:通常,没有特殊需求的话

  1. 建议CPU不高于80%(+5)-------->在电脑里的所有处理请求(操作系统运行、软件程序、磁盘拷贝等)都由CPU完成
  2. 内存不高于80%-------->所有程序在运行时要消耗的空间。(存储程序运行的数据)
  3. 磁盘不高于90%-------->存储本地数据文件
  4. 网络不高于80%-------->影响数据在网络中的传输速度
  • 1
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值