【性能测试】性能测试理论基础

性能测试理论基础

  • 分类
  • 怎么考虑性能测试的典型场景
  • 性能测试流程
    • ==前期准备==:
    • ==中期准备==:
    • ==测试执行==:是一个迭代反复的过程
    • ==完成==:
  • 性能测试的指标
    • 并发用户数/在线用户数/注册用户数(客户端)
    • 响应时间(客户端)
      • 响应时间的时间细分
    • TPS(客户端)
    • 吞吐量(客户端)
    • 思考时间(客户端)
    • CPU/内存/网络/IO(服务端)
    • 不同视角下的性能指标
  • 性能测试中的理论模型
    • 性能测试拐点模型
    • 性能测试理发师模型
  • 前端性能测试
    • 在线前端性能测试工具

分类

名称 描述
基准测试 先测一轮,作为后面测试或版本的基准,一般只会把同一个版本的第一轮测的数据作为基准
性能测试 基于用户行为情况和用户分布等信息,对系统能否达到预期服务能力进行验证
负载测试 循序渐进地测试系统能够承受的最大值
压力测试 不断加压的过程中,找到崩溃的那个值(极端)
容量测试 系统会有很多配置参数,这些参数都放到最大的时候,是否生效,他们之间是否存在冲突
疲劳度测试 采用系统最大并发数持续执行一段时间,确定系统处理最大工作量的性能,测试系统出现疲劳的那个点,这个点可以是时间,也可以是并发量等。
稳定性测试 系统稳定运行7*24小时
现网性能测试 在真实环境上做性能测试
失效恢复测试 在具有负载均衡的系统中,局部发生故障时,是否对全局产生影响,用户能否继续使用系统

怎么考虑性能测试的典型场景

根据以下内容,明确性能测试需求,从而设计压测模型
产品规格
用户模型 (用户喜欢用什么功能,什么时间段用,大概有多少用户)
系统数据 (基础数据和业务数据)
系统构架
运维日志 (进一步确定真实用户的数据和行为)
市场计划 (帮助考虑性能的扩展性)
项目管理计划 (明确测试的重点、优先级)

性能测试流程

需求分析(重点难点) → 方案设计 → 测试计划 → 脚本编写(环境搭建、预热、数据准备) → 测试执行 → 监控调优(重点难点) → 输出报告

前期准备

需求分析:做什么事情
方案设计:怎么做这件事(宏观)
测试计划:什么时间、什么人、做什么事、什么时间做完

中期准备

脚本编写:先了解系统,对接口、功能彼此间的依赖关系,再开始编写;
环境搭建:需要多少资源
预热:跑一遍脚本保证没有问题
数据准备:准备多少数据,怎么准备(业务生成、工具生产、SQL存储过程、导入线上数据)

测试执行:是一个迭代反复的过程

测试执行:设置好场景、跑数据
监控:收集数据,为后面分析和调优做准备
调优:为了让软件更好,更能符合预期

完成

输出报告:性能测试报告

性能测试的指标

并发用户数/在线用户数/注册用户数(客户端)

并发用户数:是用来压测的
注册用户数:根据这个并发用户数的值来造数据

响应时间(客户端)

响应时间是和一定的用户行为联系在一起的。一般与TPS一起来描述,比如TPS是多少的时候,响应时间是多少,响应时间一般越短越好,需要看具体测试对象的标准。

响应时间的时间细分

(a)打开浏览器,在百度中输入文字 ------------ (一般忽略)
(b)浏览器自身的处理时间
(c)DNS的解析时间 (host解析------本地DNS解析-------国内DNS---------国际DNS)
(d)TCP建连时间(三次握手时间)
(e)请求在往来上传输的时间
(f)服务端接收时间
(g)服务端解析时间
(h)数据库处理时间
(i)数据发送给客户端的时间
(j)数据在网络上传输的时间
(k)客户端收到数据并呈现出来所需要的时间

整个业务处理过程中经过的模块花费的时间都要考虑进来

TPS(客户端)

服务端每秒处理多少个事务,单位:个/秒
测试登陆的性能,一个事务里面,可能有很多的请求;

吞吐量(客户端)

衡量客户端和服务端之间的网络状态的指标。
衡量网络性能的实际指标。
单位:bit/s

思考时间(客户端)

模拟真实用户操作而停顿的时间间隔
思考时间会影响系统TPS
在编写脚本的时候,需要加上思考时间的设计

CPU/内存/网络/IO(服务端)

看整体是否够用,看具体要测试的程序用掉多少CPU

CPU
物理CPU/逻辑CPU/CPU的核心数
内存:
windows:系统显示多少就是多少
Linux:所有的系统内存都会拿来使用
网络(链接客户端和服务端的)
关注 带宽、吞吐量、丢包率
IO(磁盘的活动进程里查看)
关注 当前使用了多少,是谁在读是谁在写,他们各自用了多少

不同视角下的性能指标

用户:TPS、响应时间
开发:代码能跑多快
运维:CPU/内存/网络/IO
测试:以上全部

性能测试中的理论模型

性能测试拐点模型

(图片是网上截图引用的)
【性能测试】性能测试理论基础_第1张图片

性能测试理发师模型

用于理解资源调度和业务排队等待之间的关系。可以参考:https://blog.csdn.net/kkdd2013/article/details/52034147

前端性能测试

在线前端性能测试工具

下载地址:https://gtmetrix.com/
输入要测试的网址后,等待结果即可

你可能感兴趣的:(性能测试)