【性能测试】01-测试概念

零、性能测试

1. 性能测试目的:

满足真实业务场景,支持大量用户、满足商用需求。

2. 性能概念

软件质量属性中的“效率”特性(不卡)

时间特性:系统处理用户请求响应的时间
资源特性:系统资源的消耗情况,包括:cpu、内存、磁盘等

3. 性能测试概念

使用自动化工具[jmeter]模拟不同场景[即不同的策略],对软件的各项性能指标[各种指标]进行测试和评估的过程。

后台处理程序的性能(代码性能)
应用服务器、数据库、架构设计等是否存在瓶颈
服务器消耗资源(cpu、内存、磁盘、网络)

4. 性能测试目的

  1. 评估当前系统的能力(需求文档还包括性能的需求)
  2. 寻求性能瓶颈、优化性能(找bug)
  3. 评估软件是否满足未来的需求

5. 区分功能测试与性能测试以及之间的关系

(1)功能测试

关注正向逆向的功能

(2)性能测试

关注时间与资源的效率

(3)区别

功能测试完成且bug修复完成之后再做性能(有代码修改就会影响性能)

一、性能测试的策略

1. 基准测试

(1)概念

  • 基准–检测单个用户的性能是否达标,作为一个参考。
  • 狭义:单用户测试,获取单用户运行时的各项指标。单用户循环测试多次得到的数据。
  • 广义:在某一个时刻通过基准测试建立性能的基准线;当软硬件环境发生变化时再次测试,查看性能的影响[判断某一环境变化之后对性能是变好/坏]
  • 举例:
    基准线:商城V1.0版本,模拟5w用户在8CPU16G内存上运行,下单响应时间为3s
    场景 1:商城V1.0版本,模拟5w用户在8CPU32G内存上运行,下单响应时间为2.5s
    场景 2:商城V1.0版本,模拟10w用户在8CPU16G内存上运行,下单响应时间为4s
    场景 3:商城V1.1版本,模拟5w用户在8CPU16G内存上运行,下单响应时间为2.8s

(2)用途

  • 基准测试不会单独存在
  • 为多用户并发测试和综合场景测试等提供参考依据
  • 为系统/环境配置,系统优化前后的性能提升/下降提供参考依据。

2. 负载测试

(1)概念

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

(2)作用

  • 系统最大负载量达到用户需求时,系统才能正式上线使用

3. 稳定测试

(1)概念

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

(2)作用

  • 系统在用户需求的业务负载下运行达到规定的时间时,系统才能正式上线使用。

其他:并发测试、压力测试

4. 压力测试

(1)概念

  • 在强负载下的测试,查看系统在峰值情况下是否存在功能隐患、系统是否具有良好的容错能力可恢复能力

(2)测试场景

  • 极限负载情况下的破坏性压力测试
  • 高负载下的长时间的稳定性压力测试

(3)分类:

  • 高负载下的长时间稳定性压力测试(如:B-C区间内进行24/3*24小时长时间测试)
  • 极限负载下的破坏性压力测试(如:C-D区间内进行测试)

5. 并发测试(绝对并发)

(1)概念

  • 并发测试(绝对并发)︰是指在极短的时间内,发送多个请求,来验证服务器对并发的处理能力。

(2)应用场景

特定活动场景,如:抢红包、秒杀、抢购等。

二、性能测试的指标

1. 概念

对性能测试结果进行量化测试

2. 响应时间

  • 指从客户端发起请求开始,到客户端接收到结果的总时间
  • 包括:服务器处理时间+网络传输时间

3. 并发用户数

  • 一时刻同时向服务器发送请求用户数
    场景:目前正在刷淘宝的用户数有500万
    并发用户数(某段时间内同时向系统提交请求),一请求就会产生负载。

4. 吞吐量

(1)什么是吞吐量?

  • 指的是单位时间内处理的客户端请求数量
  • 直接体现软件系统的性能承载能力。

(2)吞吐量的单位有哪些?

  • 从业务角度: 业务数/天、访问人数/天、页面访问量/天
  • 从网络角度: 字节数/小时、字节数/天
  • 从技术指标: 每秒查询数(QPs)、每秒事务数(TPs)

(3)QPs和TPs有什么关系?

  • 事务,即业务。一个事务可以对应一个请求/多个请求
  • 一个事务对应一个请求时:TPS = QPS
  • 一个事务对应n个请求时:TPS = n * QPS

一个QPS – 一个http请求
一个web的点击请求/业务请求/事务请求–一个或多个http请求

5. 点击数

所有页面元素(eg: 图片、链接、框架等)的请求总数量
注意,不是页面的一次普通点击

6. 错误率

  • 指系统在负载情况下,失败业务的概率
  • 注意:
    • 错误率是性能指标,是高负载下的失败业务的概率
    • 随机bug是功能bug,先解决随机bug才能进行性能测试(单个用户下)

7. 资源使用率

(1)什么是资源利用率?

  • 系统各种资源的使用情况,资源的使用量/总的资源可用量×100%

(2)常见资源指标有哪些?

  • CPU使用率:不高于75%-85%
  • 内存(大小)使用率:不高于80%
  • 磁盘IO(速率):不高于90%
  • 网络(速率):不高于80%

三、性能测试的流程

在这里插入图片描述

1. 性能测试需求分析

在这里插入图片描述

2. 性能测试的计划和方案

测什么 “测一个xxx项目,项目目的是xxx,有xx用户使用,大概测了xxx测试点”
谁来测
怎么测

在这里插入图片描述

3. 性能测试用例

功能测试测试用例八要素
编号、标题、模块、级别、前置条件、测试数据、步骤、预期结果

在这里插入图片描述

4. 性能测试执行

在这里插入图片描述

5. 性能测试分析和调优

在这里插入图片描述

6. 性能测试报告

  • 测试工作经过回顾(xx时间做了XX事情)
  • 缺陷分析与调优(遇到的问题)
  • 风险评估
  • 测试结果
  • 总结与改进
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值