性能测试概述

一、性能测试的概念

  进行性能测试:满足 真实的业务场景需求(活动场景)、支持 大量用户。满足商户要求。

  1、什么是性能:软件质量属性中的 “效率” 特性。

    效率特性:时间特性(表示系统处理用户请求的响应时间),资源特性(表示系统运行过程中,系统资源的内耗情况。包括:CPU、内存、磁盘等)

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

 

   

  3、性能测试的目的

    1、评估当前系统能力(如:验收第三方提供的软件,获取关键性能指标,与其他类型产品进行比较)

    2、寻找性能瓶颈,优化性能

    3、评估软件是否能够满足未来需要

  

  4、功能测试 和 性能测试

    焦点不一样

      功能测试:验证软件系统操作功能是否符合产品的 功能需求规格 ,主要焦点在 功能(正向、逆向)

      性能测试:验证软件是否满足 业务需求场景 ,主要焦点就是业务场景的满足 (时间、资源)

    

二、性能测试策略

  1、基准测试

    狭义:就是 单用户测试,测试环境确定后,对业务模型中的重要业务做单独测试,获取单用户运行时的各项性能指标。(单用户多次测试求平均值)

    广义:就是测量和评估软件性能指标的活动。在某个时刻通过基准测试建立一个已知的 性能基准线 ,当系统软硬件环境发生变化 之后再进行一次基准测试以确定变化对性能的影响。

      狭义:

 

       广义:

 

 

  2、负载测试

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

 

 

  3、稳定性测试

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

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

 

  4、负载测试 和 稳定性测试 的图例(C-D为崩溃)

 

 

  5、压力测试 和 并发测试

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

    测试场景:

      1、极限负载情况下导致系统崩溃的破坏性压力测试(C-D区间)

      2、高负载下的长时间的稳定性压力测试(B-C区间)

    

    并发测试:极短时间内,发送大量请求,验证并发处理能力。

 

三、性能测试指标

  一些经过运算得出的结果,来量化衡量某种操作的性能好坏,比如:错误率:0.5%

  1、响应时间:指 用户 从客户端发起一个请求开始,到客户端接收到 从服务端返回的结果,整个过程所耗费的时间。

    注意:通过 http 接口请求消息来测试。不包括:发消息时前端页面的处理时间 和 收到消息后前端界面的渲染显示时间。(下面步骤时间的总和)

 

  2、并发数

    某一时刻同时向服务器发送请求的用户数。(下面只有第三个才是并发数)

 

  3、吞吐量

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

 

     QPS(Query Per Second):每秒查询数,控制服务器 每秒 处理的指定 请求的数量。

 

     

    TPS(Transactions Per Second):每秒事物数,控制服务器每秒处理的事物请求的数量。(支付操作的TPS为3倍的QPS

 

 

  4、点击数

    指的是客户端向服务端发送请求时,所有页面资源元素(如:图片、链接、框架css,js等)的请求总数量。

      注意:只有web项目才有此指标,点击数不是页面上的一次点击。

 

  5、错误率

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

      注意:大多系统都会要求错误率无限接近于 0 ,错误率是一个性能指标,不是功能上的 随机bug。

 

  6、资源使用率

    指的是系统各种资源的使用情况,一般用 “资源的使用量 / 总资源可用量” * 100%。行成资源利用率。

    CPU:不高于(75%-85%)、内存不高于80%、磁盘IO不高于90%、网路不高于80%。

    

四、性能测试流程

  总流程图

 

 

  1、性能测试需求分析

    明确被测系统:熟悉被测系统的业务功能、技术架构

    明确测试内容:业务角度(用户使用频率较高的关键业务功能)。技术角度(逻辑复杂度高的业务,数据量大的业务)

    明确测试策略:负载测试、稳定性测试、并发测试。。。。

    明确测试指标:有无明确指标(执行结果与预期指标对比)。无明确指标(查找资料、类似系统对比、对未来流量估量)

  

  2、性能测试计划方案

    测什么:项目背景、测试目的、测试范围(目的和范围)

    谁来测:进度与分工、支付清单(时间安排、人员分工)

    怎么测:测试策略、方法

 

  3、性能测试用例(注意:步骤:)

 

 

  4、性能测试执行

 

  5、性能分析和调优

 

 

  6、性能测试报告总结(性能测试环境不和功能测试一样,不能多个测试人员使用。因为不知道资源是谁消耗的)

    测试报告是针对性能测试工作的总结,为软件后续验收和交付打下基础。

    测试报告包含的主要内容:

      测试工作的经过回顾、缺陷分析和调优、风险评估、性能测试结果、测试工作总结与改进

  

 

    

 

 

 

 

 

    

 

posted @ 2023-04-15 11:11  新入世界的小白  阅读(369)  评论(0编辑  收藏  举报