自动化测试工具之 Jmeter性能测试

这篇具有很好参考价值的文章主要介绍了自动化测试工具之 Jmeter性能测试。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

性能测试知识点

1.性能测试概念:

通过自动化测试工具模拟多种正常,峰值以及异常负载条件来对系统的各项性能指标进行测试

2.性能测试条件

  • 系统基础功能测试验证完成
  • 系统趋于稳定

3.性能测试基本流程

  • 需求分析

(1)系统信息调研

自动化测试工具之 Jmeter性能测试

(2)业务信息调研

自动化测试工具之 Jmeter性能测试

(3)性能需求评估

 判断是否进行性能测试主要从下面两个方面进行思考:
业务角度:

   系统是公司内部 or 对外?系统使用的人数的多少?此时可进行性能测试来排查问题。
系统角度:系统又可以从以下3个方面进行分析
  a.系统架构:
     如果一个系统采用的框架是老的系统框架(通常大公司都有自己的统一框架),只是在此框架上增加一些应用,其实是没有必要做性能测试,因为老框架的使用肯定是经过了验证的。如果一个系统采用的是一种新的框架,可以考虑做性能测试。
  b.数据库要求:
     很多情况下,性能测试是大数据量的并发访问、修改数据库,而瓶颈在于连接数据库池的数量,而非数据库本身的负载、吞吐能力。这时,可以结合DBA的建议,来决定是否来做性能测试。
  c.系统特殊要求:
     从实时性角度来分析,某些系统对响应时间要求比较,比如证券系统,系统的快慢直接影响客户的收益,这种情况就有作并发测试的必要,在大并发量的场景下,查看这个功能的响应时间。从大数据量上传下载角度分析,某些系统经常需要进行较大数据量的上传和下载操作,有必要进行性能测试,确定系统能处理的最大容量

(4)确定性能测试点

(5)确定性能指标

  • 测试准备

(1)测试环境准备:
  a)系统运行环境:这个通常就是我们的测试环境,有些时候需求比较多,做性能测试担心把环境搞跨了影响其它的功能测试,可能需要重新搭建一套专门用来做性能测试的环境。
  b)执行机环境:这个就是用来生成负载的执行机,通常需要在物理机上运行,而物理机又是稀缺资源,所以我们每次做性能测试都需要提前准备好执行机环境。
(2)测试场景设计:根据性能需求分析来设计符合用户使用习惯的场景,场景设计的好不好直接影响到性能测试的效果。
(3)性能工具准备:
  a)负载工具:根据需求分析和系统特点选择合适的负载工具,比如LR、Jmeter或galting等
  b)监控工具:准备性能测试时的服务器资源、JVM、数据库监控工具,以便进行后续的性能测试分析与调优。
(4)测试脚本准备:如果性能测试工具不能满足被测系统的要求或只能满足部分要求时,需要我们自己开发脚本配合工具进行性能测试。
(5)测试数据准备:
  a)负载测试数据:并发测试时需要多少数据?比如登录场景?
  b)DB数据量大小:为了尽量符合生产场景,需要模拟线上大量数据情况,那么要往数据库里提前插入一定的数据量。这可能需要花费一些时间,特点是关联系统较多,逻辑复杂的业务可能同时涉及多张表。
(6)其它:如果需要其它其它关联系统或专业人士如DBA配合的,也需要提前进行沟通。

  • 测试执行

(1)人工边执行边分析

(2)无人值守执行性能测试

  • 结果分析与调优
  • 报告与总结

自动化测试工具Jmeter

jmeter能够完成功能:

  • 用于对服务器,网络或对象模拟巨大负载
  • 通过创建带有断言的脚本来验证程序是否能返回预期的结果

优缺点:

优点:开源,跨平台,支持多协议 小巧且功能强大

缺点:不支持IP欺骗  无法验证JS程序和UI界面

工具使用:

参照项目点餐系统(MVC框架,RESTfull风格)进行测试

(一)添加协议及接口相关配置信息

(1)添加http请求

自动化测试工具之 Jmeter性能测试

自动化测试工具之 Jmeter性能测试 (2)新增监听器,查看测试结果

 自动化测试工具之 Jmeter性能测试

自动化测试工具之 Jmeter性能测试

 (二)线程组

自动化测试工具之 Jmeter性能测试

设置属性:

(1)线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里也就是设置多少个线程数。
(2)Ramp-Up时间(秒)准备时长:设置的虚拟用户数需要多长时间全部启动。如果线程数为10,准备时长为2,那么需要2秒钟启动10个线程,也就是每秒钟启动5个线程。
(3) 循环次数:每个线程发送请求的次数。如果线程数为10,循环次数为100,那么每个线程发送100次请求。总请求数为10x100=1000 。如果勾选了“永远”,那么所有线程会一直发送请求,一到选择停止运行脚本。
(4)Delay Thread creation until needed:直到需要时延迟线程的创建。
(5)调度器:设置线程组启动的开始时间和结束时间(配置调度器时,需要勾选循环次数为永远)
持续时间(秒):测试持续时间,会覆盖结束时间
启动延迟(秒):测试延迟启动时间,会覆盖启动时间
启动时间:测试启动时间,启动延迟会覆盖它。当启动时间已过,手动只需测试时当前时间也会覆盖它。
结束时间:测试结束时间,持续时间会覆盖它。

(三)并发和顺序执行

并发执行

自动化测试工具之 Jmeter性能测试

 顺序执行

自动化测试工具之 Jmeter性能测试

自动化测试工具之 Jmeter性能测试

 (四)特殊线程组

  •  setUp线程组:最优先执行的线程组
  • tearDown线程组:最后执行的线程组

自动化测试工具之 Jmeter性能测试

(五)http请求默认值

http请求默认值的设置,将被复用的内容进行封装

自动化测试工具之 Jmeter性能测试

 (六)信息头管理器

新增修改实现时 所提交数据都为json格式 需要说明所提交数据类型

自动化测试工具之 Jmeter性能测试

自动化测试工具之 Jmeter性能测试

 (七)参数化

动态获取,设置或生成数据,满足多次大量提交,避免每次测试都要修改

实现参数化:

  • 用户定义的变量

自动化测试工具之 Jmeter性能测试

自动化测试工具之 Jmeter性能测试

  • CSV数据文件设置

步骤:

1使用CSV文件存储测试数据

自动化测试工具之 Jmeter性能测试

自动化测试工具之 Jmeter性能测试

2编写被复用的菜单新增脚本模板

自动化测试工具之 Jmeter性能测试

3关联脚本与数据(将文件数据导入脚本)

自动化测试工具之 Jmeter性能测试

 自动化测试工具之 Jmeter性能测试

自动化测试工具之 Jmeter性能测试

  • 用户参数

步骤:

1编写被复用的菜单新增脚本模板

自动化测试工具之 Jmeter性能测试

2使用用户参数存储测试数据

自动化测试工具之 Jmeter性能测试

3将数据导入脚本模板

4设置执行次数

自动化测试工具之 Jmeter性能测试

  • 函数

(1)计数器函数:_counter   

TRUE:每个用户都有自己的计数器

FALSE:所有用户共用一个计数器

自动化测试工具之 Jmeter性能测试

自动化测试工具之 Jmeter性能测试

(2)随机数函:_Randm

参数1:取值范围最小值

参数2:取值范围最大值

自动化测试工具之 Jmeter性能测试

(3)时间函数:_time

无参:获取距离1970/1/1 00:00:00的毫秒值

参数格式:yyyyMM_dd HH:mm::ss

自动化测试工具之 Jmeter性能测试

自动化测试工具之 Jmeter性能测试

(八)断言

断言:程序代替人工判断响应结果是否符合预期

步骤:

1编写测试脚本

2为判断的取样器添加断言组件

3直接运行查看结果   断言通过:无提示   断言失败:给出错误

分类:

响应断言:断言状态码和响应体

自动化测试工具之 Jmeter性能测试

自动化测试工具之 Jmeter性能测试

自动化测试工具之 Jmeter性能测试

大小断言:判断响应内容的字节长度

自动化测试工具之 Jmeter性能测试

断言持续时间:判断响应时间

自动化测试工具之 Jmeter性能测试

(九)逻辑控制器

测试完整的业务逻辑或流程

  • if逻辑控制器

​​​​​​​​​​​​​​自动化测试工具之 Jmeter性能测试

 给定一个变量值,根据变量值是否一致判断 请求是否需要被执行

如果条件满足 则执行:

自动化测试工具之 Jmeter性能测试

 如果不满足 则不执行:

自动化测试工具之 Jmeter性能测试

  • ForEach逻辑控制器

​​​​​​​自动化测试工具之 Jmeter性能测试

  • 循环逻辑控制器

​​​​​​​​​​​​​​自动化测试工具之 Jmeter性能测试

(十)关联

上一个请求的响应结果和下一个请求的数据有关系

将A网址title获取并传递给B网站(Baidu.com)作为关键字搜索

自动化测试工具之 Jmeter性能测试

自动化测试工具之 Jmeter性能测试

(十一)跨越线程组关联

局部变量可直接传递:

自动化测试工具之 Jmeter性能测试

 非全局变量无法跨线程传递:

自动化测试工具之 Jmeter性能测试

 借助函数生成器完成 全局变量传递:

自动化测试工具之 Jmeter性能测试

自动化测试工具之 Jmeter性能测试

 自动化测试工具之 Jmeter性能测试

(十二)高并发

同一时刻 100个用户访问

自动化测试工具之 Jmeter性能测试 

自动化测试工具之 Jmeter性能测试

自动化测试工具之 Jmeter性能测试

(十三)高频率

一个用户以20QPS频率访问  持续15秒

QPS:每秒查询量    每秒访问多少次服务器

自动化测试工具之 Jmeter性能测试

自动化测试工具之 Jmeter性能测试

自动化测试工具之 Jmeter性能测试

(十四)分布式

多机协作,集群方式完成测试任务,提高测试效率

角色划分:

  • 控制机:负责任务分配
  • 执行机:负责任务实现

流程:文章来源地址https://www.toymoban.com/news/detail-407511.html

  • 控制机需要制定测试任务,并下发到执行机
  • 执行机执行任务并返回结果到控制机
  • 控制机结果汇总​​​​​​​

到了这里,关于自动化测试工具之 Jmeter性能测试的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 软件测试(功能、工具、接口、性能、自动化、测开)详解

    一、软件测试功能测试 测试用例编写是软件测试的基本技能;也有很多人认为测试用例是软件测试的核心;软件测试中最重要的是设计和生成有效的测试用例;测试用例是测试工作的指导,是软件测试的必须遵守的准则。 黑盒测试常见测试用例编写方法 1、等价类 选取少数

    2024年02月07日
    浏览(83)
  • PC端性能测试自动化工具技术方案【采集脚本篇】

    ● 需求背景 PC端应用程序在每一个版本的迭代过程中,由于各版本的功能改动较多,为了避免在发布新版本时性能不会出现“大跳水”的情况,需要针对每一个版本进行性能测试。由于人工手动测试所需时间较长,且存在参数不准确、时间不可控等问题,所以需要针对PC 端开

    2024年02月06日
    浏览(43)
  • 十款开源测试开发工具推荐(自动化、性能、混沌测试、造数据、流量复制)

    在本篇文章中,我将给大家推荐 10 款日常工作中经常用到的测试开发工具神器,涵盖了自动化测试、性能压测、流量复制、混沌测试、造数据等。 AutoMeter 是一款针对分布式服务,微服务 API 做功能和性能一体化的自动化测试平台,一站式提供发布单元,API,环境,用例,前

    2024年02月15日
    浏览(59)
  • 【墙裂推荐!】十款开源测试开发工具(自动化、性能、造数据、流量复制)​

    目录 1、AutoMeter-API 自动化测试平台 2、QA Wolf 浏览器自动化测试工具 3、Mimesis 用于 Python 的高性能虚假数据生成器 4、Ddosify 高性能负载测试工具 5、AutoCannon HTTP/1.1 基准测试工具 6、Sharingan 流量录制回放工具 7、randdata 随机测试数据生成工具 8、DrissionPage WEB 自动化测试集成工具

    2024年02月06日
    浏览(55)
  • 自动化测试及典型开源的自动化测试工具

    目录 前言: 自动化测试 自动化测试的意义 手工测试的局限性 自动化测试带来的好处 自动化测试的前提条件 自动化测试的方法 自动化测试的不足 自动化测试的应用方向 典型开源的自动化测试工具 自动化测试是一种使用软件工具和脚本来执行测试任务的方法,以取代手动

    2024年02月13日
    浏览(82)
  • python自动化测试- 自动化框架及工具

    手续的关于测试的方法论,都是建立在之前的文章里面提到的观点: 功能测试不建议做自动化 接口测试性价比最高 接口测试可以做自动化 后面所谈到的  测试自动化  也将围绕着  接口自动化  来介绍。 本系列选择的测试语言是 python 脚本语言。由于其官方文档已经对原理

    2024年02月22日
    浏览(66)
  • 自动化的测试工具

    1,  自动化功能测试工具:QTP、selenium  2,  自动化性能测试功能:LoadRunner、jmeter  3,  自动化接口测试工具:Charles、soapUI、LoadRunner、jmeter、postman、  测试工具  4,  测试管理工具:禅道、qc、jira、testlink  管理需求,管理测试计划、管理测试用例、管理bug、分析bu

    2024年02月08日
    浏览(52)
  • 自动化测试基础知识:什么是自动化测试?需要学习哪些知识与工具!

    1、自动化测试概念 自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常, 在设计了测试用例并通过评审之后,由测 试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。简言之,自动化测试就是让被测试的软件自己运行起

    2024年02月04日
    浏览(65)
  • 【测试开发】第五节.测试——自动化测试(Selenium工具)

    作者简介:大家好,我是未央; 博客首页:未央.303 系列专栏:Java测试开发 每日一句: 人的一生,可以有所作为的时机只有一次,那就是现在!!! 前言 一、自动化测试的概念以及分类 二、Selenium—web自动化测试工具 2.1 自动化测试的一些前置工作 2.2 第一个自动化实例

    2024年02月04日
    浏览(64)
  • TOSCA自动化测试工具

    TOSCA由德国公司Tricentis研发,提供英文和德语两种版本。 目前他们的网上培训课程大约是2000一套,从初级到高级,从工程师到BA,有技术,也有测试管理。 TOSCA的思想是,不用会编程的测试人员可以直接上手自动化。 文档和下载路径: https://support.tricentis.com/community/home.do T

    2024年02月07日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包