• 性能测试理论二


    一、性能测试的流程

    1、前期准备工作

    1)梳理好测试场景,按照以下顺序处理

    登录、产品列表、API执行

    2)确认目标,一般测试主导,将相关人员集中后讨论,所有达成一致后开始测试,当讨论后还是有不同意见,最终以架构师结果为准

    2、测试工具技术引入

    1)loadruuner(负载运行器)——HP(惠普)包含:LR/QTP/QC,最高可负载1000

    2)JMeter:二次开发——平台

    3)locust(蝗虫)——协程

    4)自己开发工具

    3、性能测试计划

    1)需要的人力

    2)做什么

    3)什么时候开始和结束

    4)使用什么技术

    4、测试设计与开发

    1)工具/代码如何写

    2)开发——具体的脚本

    5、测试执行与管理,数据收集

    依据配置的场景执行

    数据收集:

    1)数据库资源——IOPS

    2)Linux——CPU memory(内存)

    3)nginx——连接数

    4)Response Time(响应时间)/throughput(吞吐量)等资源

    6、测试分析

    二、性能测试的方法

    1、验收负载测试

    在QA的环境模拟生产运行的业务压力和使用场景组合,测试系统的性能是否满足生产环境的性能诉求

    2、负载测试

    在被测系统上持续不断的增加压力,直到性能指标(响应时间等)超过预定指标或者某种资源(CPU&内存)使用已达到饱和状态。核心是找到系统的处理极限,为系统调优提供数据,从而达到了解系统性能的容量

    3、压力测试

    该方法是指系统在一定饱和状态下,具体如CPU,内存等饱和使用的情况下,系统能够处理的会话能力,以及系统是否会出现错误,比如TimeOut,OOM,OverStackExpection(堆栈异常)。压力测试的特点:

    1)检查系统在处于压力情况下时应用的性能表现

    2)等价于负载测试,使系统的资源处于一个瓶颈的状态(建议CPU和内存在75%以上)

    3)这种方式一般用于测试系统的稳定性

    4、配置测试

    被测环境软硬件环境参考的调整,达到最优的分配原则

    5、可靠性测试

    模拟用户的并发访问,测试多用户并发访问同一个应用时是否存在死锁或其他的问题,并发测试的特点是:

    6、故障演练

    公司出于测试团队合作的能力,操作使系统90%以上出现异常,排练员工处理问题的能力

    7、容灾恢复测试

    故意破坏系统,查看程序自行恢复情况

    三、JMeter性能测试场景设置

    JMeter执行原理

    JMeter通过线程组来驱动多个(也可以理解为LR工具里面的虚拟用户)运行测试脚本对目标服务器发起大量的网络请求,在每个客户端上可以运行多个线程组,也就是说⼀个测试计划里面可以包含N个线程组

    1、线程属性

    线程数:⼀个线程可以理解为对应模拟⼀个用户,所以线程数越多,也可认为模拟的用户数越多

    Ramp-Up时间(秒):每秒执行线程数=线程数/Ramp-Up

          如设置线程组为50,秒设置为10,这表示开始执行后,每秒启动5个线程;如果设置为0,全部设置的会立即启动,不建议将循环次数设置为永远

    2、调度器

    调度器:这个理解为何时开始

    持续时间:表示完成需要的时间,设置的时间不能小于每秒执行结果的时间

    启动延迟:从当前时间延迟多长时间开始运行测试,也就是说点击执行后,仅仅是做初始化的场景,不会执行测试,等待延迟到达后开始运行测试,执行的时间为持续时间设置的时间

    四、聚合报告各个值

    毫秒为单位,一般放置线程组下

    Label:取样器名称
    Samples:取样器运⾏次数
    Average:单个请求的平均响应时间
    Median:50%请求的响应时间
    90%Line:90%请求响应时间
    95%Line:95%请求响应时间
    99%Line:99%请求的响应时间
    Min:请求的最⼩响应时间
    Max:请求的最⼤响应时间
    Std.Dev:响应时间的标准⽅差
    Error%:事务错误率
    Throughput:吞吐率,也就是TPS
    KB/sec:每秒数据包流量
    Avg.Bytes:平均数据流量
    Received KB/sec:每秒从服务器端接收到的数据量
    SentKB/sec:每秒从客户端发送的请求的数量

    练习

    五、响应时间

     

  • 相关阅读:
    Node.js 事件驱动编程
    css常见布局
    The Perfect Solution To Convert Immutable Bitmap To A Mutable Bitmap
    Mac终端Terminal使用
    入门Mac快捷键详细分类整理,包括Eclipse和Android Studio中一些常用的快捷键
    Android自定义控件属性的使用
    Visual Studio的快捷键
    cmd中编译和运行java程序
    查看本机的IP、MAC地址和端口占用情况
    ASC2码
  • 原文地址:https://www.cnblogs.com/Kaylee/p/15897454.html
Copyright © 2020-2023  润新知