一、概述

使用自动化测试工具,模拟用户实际使用的不同场景,对系统的性能指标进行测试 和 评估

1.1、测什么

  • 后台代码
  • 中间件(tomcat、apache、nginx)
  • 数据库、架构设计是否存在瓶颈
  • 资源(cpu、内存、磁盘、网络)利用率

1.2、目的

  • 评估当前系统能力
  • 找出系统性能(硬件、软件)瓶颈,优化性能
  • 评估软件是否能满足未来 2~3年 性能需求

1.3、性能测试和接口测试对比

  • 焦点

    • 接口功能:验证软件的功能是否符合产品需求。功能的正向和反向
    • 接口性能:验证软件是否满足 业务场景 需求。侧重点在 时间 和 资源
  • 关系

    • 二者相辅相成,缺一不可!
    • 先测功能,再测性能

二、性能测试策略

说明: 基准测试、负载测试、稳定性测试。不是测试的 3种 分类。
     基准测试 是 负载、稳定性测试的前提!
     一般按照 先基准,再负载,最后稳定性的顺序展开性能测试

2.1、基准测试

单用户跑业务场景,展开性能测试,关注的指标数据。给后续多用户测试,提供参考数据

2.2、负载测试

向服务器逐步加压发送请求,查看系统在满足指标的情况下,最多支持多少请求

2.3、稳定性测试

系统维持在 一定的负载(如:cpu占用率 60% ~ 80% )下,长时间运行,
测试系统工作的稳定性。一般测 `1*24  3*24  7*24

2.4、并发测试

同一时刻(极短时间内)向服务器发送同一请求。如:秒杀、抢注、抢红包!

2.5、压力测试

采用逐步加压的方式,向服务器发送请求,测试出系统性能的极限临界值

三、性能测试指标

说明:--性能指标:衡量 一次性能测试 具体某项结果的统称
性能测试 主要参考的 6 大指标:
    1. 响应时间
    2. 并发数
    3. 吞吐量
    4. 点击数
    5. 错误率
    6. 系统资源利用率

3.1、响应时间

指用户从客户端发起一个请求开始,到客户端接收到从服务器端返回的结果,
整个过程所耗费的时间
响应时间公示:
    响应时间 = 网络时间 + 应用程序处理时间 (应用服务器解析时间、数据库服务器解析时间)

image.png

3.2、并发数

指同一时刻,同时访问系统发送请求的用户数据量

3.3、吞吐量

单位时间内,处理客户端请求的 数量。 可以直接体现系统的负载能力
  1. TPS (Transactions Per Second): 每秒事务数

    一个事务对应一个业务场景,可以包含多个 请求
  2. QPS (Query Per Second): 每秒查询数

     指服务器处理的 请求数

    注意:如果没有加特殊说明( 默认 一个业务中,就只有一个请求 ),通常 TPS 与 QPS 相同

3.3、点击数

只有 web 服务器,才有点击数 性能指标
点击数,不是点击网站的次数。是向系统发送请求后,收到的响应数量

3.4、错误率

  • 指系统在指定负载下,失败业务的概率。
  • 不同系统的错误率不同。一般由产品经理指定。
  • 没有指定时,一般情况下,系统的错误率为 千分之五(0.5%)

3.5、资源利用率

说明:指系统各种资源的占用情况

以下数据作为参考,具体根据自己公司的数据

  • CPU

    • 75 ~ 85% (超出此范围,有性能瓶颈)
  • 内存

    • 不超过 80% (超出有性能瓶颈)
  • 磁盘

    • 不超过 90%
  • 网络

    • 不超过 80% (超出有性能瓶颈)

四、性能测试流程

  1. 性能测试 需求分析
  2. 性能测试的计划及方案
  3. 性能测试用例
  4. 搭建测试工具环境
  5. 编写/录制 测试脚本
  6. 执行测试脚本
  7. 测试数据监控
  8. 分析和调优
  9. 编写测试报告总结

测试菜鸟
10 声望3 粉丝

测试小白爱测试!!!


引用和评论

0 条评论