性能测试必备知识

性能相关知识

  • Web网页测试的行业标注——2 5 8
    • 2:2秒内反应,优秀
    • 5:5秒内用户可以接受
    • 8:超过8秒就不太行
  • 现在的要求也有 1 3 5的。
    性能测试必备知识_第1张图片

什么是性能

软件的性能——又好又快地用

软件的功能——软件能用

黑盒测试的角度

  • 数据请求经过网络发送
  • 服务端接收处理
  • 在数据库服务器获取相关数据
  • 前端处理后返回数据
  • 应用界面接收到数据相应

程序员角度

  • 结构合理性
  • 数据库设计合理性
  • 代码与算法
  • 系统中资源的使用方式

系统运维

  • 硬件资源利用率
  • 何种硬件可以提高系统性能
  • 系统能否支持7*24的服务
  • 扩展性、兼容性、最大容量、可能的瓶颈

性能测试的定义

什么是性能测试

性能测试:是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。主要包含三层含义:

  1. 通常,自动化测试需要借助工具来实现。
  2. 性能测试除了关注普通的正常情况外,还重点关注空间和时间上的很多峰值或异常的系统运行情况。
  3. 性能测试借助所监控和手机的各项指标来分析系统的性能。

性能测试的分类

  • 一般性能测试: 验证软件在正常的情况下和系统条件下能满足性能指标

  • 负载测试: 验证系统在一定压力下延长系统运行时间,知道系统出现拐点。
    性能测试必备知识_第2张图片

  • 压力测试: 验证系统在已经处于极限负载下或某指标已经处于饱和状态下系统性能的表现。

  • 稳定性测试: 验证系统在连续运行的情况下,查看系统的各项性能指标。——MTBF(错误发生的平均时间间隔)
    性能测试必备知识_第3张图片

那两个字是“极限”,拐点就是瓶颈。

  • 大数据量测试: 验证系统在使用大批量数据对系统产生压力或影响的情况下系统各项指标是否正常。
    性能测试必备知识_第4张图片

  • 配置测试: 验证系统在不同的软件和硬件配置的情况下找出系统各项资源的最优分配。

  • 恢复性测试:当软件运行故障时,恢复能力。

常用的性能术语

  • 虚拟用户:在测试环境中,LR和一些性能测试工具在物理计算机上使用Vuser来”虚拟“实际用户。

  • 点击率:一般指每秒用户向服务器提交的请求数(web测试中特指http请求数)

  • 并发和并发用户数

    • 并发:强调”大量用户“的”同时性操作“(该操作要求对服务器产生压力)
    • 并发用户数:指的是某一时刻同时进行了对服务器产生影响的操作的用户数量。
  • 每秒事务数(TPS):指每秒系统能够处理的交易或者事务的数量。

  • 响应时间:包含”请求响应时间“和”事务相应时间“

    • 用户角度:从请求发出到看到响应结果。(自己的带宽、运营商、服务端、服务器的数据处理、电脑的处理速度等都会影响)
    • 请求响应时间:服务器收到用户请求,服务器把请求内容返回给用户的时间。
    • 事务响应时间:处理请求对应的事务(Transaction)的时间(开发考虑)
      性能测试必备知识_第5张图片
  • 吞吐量和吞吐率:

    • 吞吐量:在单次业务中,客户端和服务端进行的数据交互总量,受服务器性能和网络性能的影响。
    • 吞吐率:吞吐量除以传输时间,衡量服务器性能和网络性能的重要指标之一;一般可以用”请求数/秒、页面数/秒“等单位衡量。
      性能测试必备知识_第6张图片
  • 思考时间:两次请求之间的间隔,(LR中默认情况下,请求时间为0)

  • 性能计数器:是一系列用于描述各类型服务器或者操作系统性能的指标,在进行资源监控和系统瓶颈分析中起着重要的作用。
    性能测试必备知识_第7张图片

性能测试的流程、用例

性能测试流程

性能测试必备知识_第8张图片

性能测试要无限接近软件真实的环境。

性能测试流程
  • (性能)需求分析

  • 测试计划(性能)

  • 测试环境搭建(无限接近于实际运行环境)

  • 测试工具的选择

  • 测试执行

  • 发现性能瓶颈

  • 性能的调整和优化

  • 验证和关闭

性能需求分析

明确的指标。判断未来结果是否准确的依据(预期结果)。

  1. 客户方提出
  2. 根据历史数据分析
  3. 需求分析与定位
  4. 参考历史项目或者其他同行业项目
  5. 参考其他数据资料

参考示例:
性能测试必备知识_第9张图片

一个产品经理的网站

测试场景设计

性能测试必备知识_第10张图片

测试结果是否通过的判断标准

(仅供参考)
性能测试必备知识_第11张图片

测试结果评判:一般不是绝对的,很多时候由测试结果和项目的具体内容结合进行。

对性能瓶颈进行优化
性能调优需要的技能
  • 系统硬件资源相互之间的关系及原理
  • 选择可靠性能指标以及指标之间的关联和判定方法
  • 永不宕(dang)机的实现原理和常见错误
  • 排队系统与延迟及缓存的优化关系
  • 优化成本和性价比
  • 业务优化的操作实施
  • 多系统串联原理及测试隔离

对于具备性能测试技术的人员,对于优化和诊断的能力有一定基础要求。

案例:系统要求能够支持200W用户在线

性能测试必备知识_第12张图片

性能测试用例

性能测试必备知识_第13张图片

特别注意:性能测试中,不再去做反向数据验证。

用例中的术语
  • 集合点:所有用户集合在一起,进行并发。
  • 事务:用户操作行为的总称,用来衡量TPS,事务成功率的基础。
  • 预期结果:性能测试后,通过与否的指标。

性能测试的专业分析

  • 服务器硬件性能

  • 根据需求和历史数据指定性能目标

  • 建立性能通过模型

  • 对开发代码框架和硬件框架进行性能分析

  • 针对开发发布版本的基准测试

  • 对软件进行性能验收和稳定性测试

  • 生产环境的配置和优化

  • 指定性能测试测试用例

  • 知道你高性能场景设计

  • 特定性能分析

所需的技能和工具的选择

所需的技能

  • 测试工具
    • jmeter
    • LoadRunner
  • 服务器性能诊断
    • CPU、内存、硬盘、网络
  • 优化技能:
    • 代码、架构、数据库、操作系统
  • 网络协议
    • Http/https
    • Web Socket/web Service
  • 自动化
    • 接口自动卷
    • web自动化
  • 持续集成
    • Jenkins
    • SVN Maven

性能测试工具的选择

性能测试必备知识_第14张图片
性能测试必备知识_第15张图片
The End!!! 下一篇介绍Load Runner的使用

你可能感兴趣的:(Load,Ruuner性能测试,软件测试)