• jmeter理论


    一.性能测试的概念

    1.1为什么学习性能测试?

    进行性能测试:满足真实的业务场景,支持大量的用户,满足商品的要求

    学习性能测试,掌握性能测试工具

    1.2什么是性能测试?

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

    目的:评估当前系统能力,寻找性能的瓶颈,优化性能,评估软件是否能够满足未来的需要

     1.3性能测试和功能测试的对比

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

    性能测试:验证软件系统是否满足业务需求场景,主要焦点是业务的场景的满足(时间,资源),注意点:只测试正向

    ps:一般项目中,功能测试通过后,后进行性能测试

    二:性能测试的策略

    基准测试,负载测试,稳定性测试,其它(并发测试,压力测试等):

    2.1:基准测试

    2.1.1为什么进行基准测试:

    1.单用户性能不达标,有必要进行多用户性能测试吗? 

    狭义上讲:就是单用户测试测试环境确定后,对业务模型中的重要业务做单独的测试获取单用户运行时的各项性能指标.

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

    2.1.1为什么进行基准测试:

    1.基准测试不会单独存在

    2.为多用户并发测试和综合场景测试等提供参考依据

    3.为系统/环境配置.系统优化前后的性能提升/下降提供参考指标

    2.2负载测试

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

    作用:系统最大负载量达到用户要求时.系统才能正式上线使用

    2.3稳定性测试

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

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

    2.4压力测试

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

    2.5并发测试

    概念:是指在极短的时间内,发送多个请求,来验证服务器对并发的处理能力

    三:性能指标

    响应时间,并发数,吞吐量,点击数,错误率,资源利用率等

    3.1响应时间

    概念:指用户从客户端发起一个请求开始,到客户端接收到从服务器返回的结果,整个过程所耗费的时间.

    组成:网络传输时间,服务器处理时间

    ps:不包括前端界面处理时间和后端页面渲染时间

    3.2并发数

    概念:某一时刻同时向服务器发送请求的用户数

    3.3吞吐量

    概念:指的是单位时间内处理的客户端请求数量,直接体现了系统的性能承载能力

    QPS:每秒查询数,即控制服务器每秒处理的指定请求的数量

    TPS:每秒事务数,即控制服务器每秒处理的事务请求的数量

    QPS和TPS的关系:

    事务即业务,页面上的一个事务,可能对应一个请求/多个请求

    一个事务对应一个请求时:TPS=QPS

    一个事务对应多个请求是:n*TPS=QPS

    3.4点击数

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

    3.5错误率

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

    ps:大多系统会要求错误率无限接近0

          错误率是一个性能指标,是高负载下的失败的业务的概率

    3.6资源利用率

    概念:是指系统各种资源试用情况,一般是用"资源的使用量/总的资源可用量*100%"形成资源利用率的数据.

    cpu不高于75%~85%

    内存不高于80%

    磁盘IO不高于90%

    网络不高于80%

    四.性能测试的流程

    (1)编写计划和方案类型(与功能测试类似)
    (2)编写性能测试用例,搭建环境,编写测试脚本,配置性能测试监控指标,执行测试脚本
    (3)性能分析和调优
    说明:性能测试分析人员经过对结果的分析以后,如果不符合性能需要,则会提出性能,然后由开发人员进行后续的调优。
    (4)性能测试报告(与功能类似)

     

  • 相关阅读:
    牛客每日刷题
    自己搭的centOS7虚拟机,ping baidu出现Temporary failure in name resolution
    现场感言讲稿的标准模板
    213. 打家劫舍 II
    Centos下载安装连接MySQL8
    AI:AI与爱无处不在,大赛与奖金齐飞—【科大讯飞】AI开发者大赛—与你在AI盛会中遨游!
    gRPC(六)进阶:拦截器 interceptor
    力扣(309.714)补8.5
    发布自己的npm包注意事项
    js实现图片懒加载
  • 原文地址:https://blog.csdn.net/qq_57411925/article/details/126836586