• 3
  • 2
分享
  • JMeter性能测试——软件测试圈
  • TIMI 2022-11-10 16:43:35 字数 1343 阅读 3446 收藏 2

一.基准测试

也是单用户测试,测试环境确定以后,对业务模型中的重要业务做单独的测试,获取单用户运行时的各项性能指标,为多用户并发测试和综合场景测试等性能分析提供参考依据。

1.线程组

1.png

线程数:模拟5个用户并发

Ramp-Up Period时间(秒):1,就是在一秒内完成5个用户的并发

循环次数:5个用户在一秒并发的循环次数

2.HTTP请求

2.png

按照实际API文档(接口文档)直接输入填写就是。

3.察看结果树

3.png

绿色说明请求通过;红色就表明请求失败

Thread Name: 线程组名称

Sample Start: 启动开始时间

Load time: 加载时长,这个时间是我们测试常用的时间,也是整个请求的消耗时间,从发送到接收完成全程消耗的时间

Latency: 等待时长,不常用,表示从请求发送到刚开始接收响应时的时间

Size in bytes: 发送的数据总大小

Headers size in bytes: 发送头大小

Body size in bytes: 发送数据的其余部分大小

Sample Count: 发送请求数统计

Error Count: 交互错误统计

Response code: 返回码

Response message: 返回信息

Response headers: 返回的头部信息

**HTTPSampleResult:**其它附加的请求信息

4.聚合报告

4.png

**Label:**就是请求名称

**#样本:**总线程数,值 = 线程数 * 循环次数

**平均值:**单个请求的平均响应时间,值 = 总运行时间 / 发送到服务器的总请求数,截图中的值是这么计算出来的

*中位数、90%百分比、95%百分比、99%百分比:*分别代表50%的用户响应时间、90%的用户响应时间、95%的用户响应时间、99%的用户响应时间,也就是有百分之多少的请求小于这个值。其中,90%百分比是性能测试中比较重要的一个衡量指标。

**最小值:**最小响应时间

**最大值:**最大响应时间

**异常%:**错误率,发生错误的请求 / 总请求数

**吞吐量:**表示每秒完成的请求数。我们重新跑任务来演示吞吐量是怎么计算出来的

二.并发测试

主要指当测试多用户并发访问同一个应用、模块、数据时是否产生隐藏的并发问题,如内存泄漏、线程锁、资源争用问题,几乎所有的性能测试都会涉及并发测试。

是多用户执行某一操作,形成瞬时压力(精确到毫秒),是一种严格的测试,主要考察系统对瞬时较大压力的承受能力。

1.并发测试 - 集合点

用例:模拟20个用户在2秒内并发

5.png

2.并发测试–查看结果树

6.png

通过结果树可以看到,请求是批量执行的

开始执行的脚本,观察请求的增加数量趋势

对比请求的发送时间

3.压力测试

又称为强度测试:是在强负载(大数据量、大量并发用户等)下的测试,查看应用系统在峰值使用情况下操作行为,从而有效地发现系统的某项功能隐患、系统是否具有良好的容错能力和可恢复能力。

压力测试分为高负载下的长时间(如24小时以上)的稳定性压力测试和极限负载情况下导致系统崩溃的破坏性压力测试。

一直重复长时间给系统极限压力,看系统是否能承受。

7.png


作者:韦爵社

原文链接:https://blog.csdn.net/aa122509969/article/details/123660663

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 软件缺陷:1)软件未实现产品说明书要求的功能2)软件出现了产品说明书指明不应该出现的错误3)软件实现了产品说明书未提到的功能4)软件未实现产品说明书虽未明确提及但应该实现的目标5)软件难以理解、不易使用、运行缓慢或者从测试员的角度看最终用户会认为不好软件测试:为了发现软件产品中的各种缺陷,而对软件产品进行验证和确认的活动过程,此过程贯穿整个软件开发生命周期。 简单的说,软件测试是以发现错误为目的而执行的一个程序或系统的过程。软件测试的目的:验证软件需求和功能是否得到完整实现验证软件是否可以发布尽可能多的发现软件中的bug尽可能早的发现软件中的bug对软件质量做出合理评估预防下个版本可能出现的问...
            5 4 1304
            分享
          • 什么是自动化测试?自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。为什么做自动化测试?1)对个人来说随着时代科技的进步,越来越多的工作偏向于了自动化,软件测试当然也不例外。从发展的趋势来说,只有不断的提升自己,面对各种变化,才可以追上科技的进步。手动测试虽然是基础,但是企业不会在乎你的过程。只有高效率的工作才会让企业觉得你更有价值。自动化测试是软件测试的主流,也是软件测试的高薪专场!2...
            0 0 1568
            分享
          • MySQL 官方驱动模块在 Python 语言里,有很多连接 MySQL 数据库的模块,且都能执行 SQL 语句,完成数据的增删改查操作。MySQL Connector 是 MySQL 官方的驱动模块,在兼容性上特别的好;不会有数据乱码的情况的发生,对 MySQL 8.0 的支持也很好。有很多的第三方的模块对 MySQL 8.0 这个版本兼容性非常的不好,特别是 MySQL 8.0 引入的新的安全机制。不少第三方模块由于没有更新,所以是没有办法连接到最新版本的 MySQL上面的,所以这里推荐大家使用 “MySQL Connector” 这个 MySQL 官方的驱动模块,毕竟是官方,更新的速度还...
            0 0 5103
            分享
          • 1.Android APP 内存不足时, 系统如何结束进程获得内存?系统优先结束被挂起(暂停)的进程,释放内存。2.APP 测试常见的严重问题有哪些? 分别引起的原因有哪些?常见的有 crash、ANR(应用无响应、卡死),一般由设备碎片化、网络波动大、内存泄 漏、代码编写错误。3.请简单介绍你曾使用过的一款 APP 自动化测试工具 ?开放性问题,带点主观意见 1.对比其他熟悉的自动化工具的优缺点 2.自动化的简要方案(简要的同时关键内容请具体)。(提示: appnium 等)4.Android 测试与 web 测试有什么区别?相同点:设计测试用例均依据等价类、边界值等方法,测试原理相同;大多...
            13 14 3202
            分享
          •   小编看到过这样的一个帖子,根据题主的描述可以看出来他是一名拥有十年工作经验的功能测试人员,目前掌握的技能还只是简单的功能测试,没有什么代码能力,面对功能测试的职场窘境,正在选择下一步该转测试开发还是软件开发?其实现在像题主一样处境的人不在少数,这就是行业技术发展的趋势导致。开篇之前,小编直接亮明观点,在测试开发和软件开发之间,选择前者的发展会永远比后者好。  这篇文章将从以下三个方面阐述我的观点:  ·功能测试为什么不建议选择软件开发?  · 为什么功能测试会产生转行软件开发的想法?  · 功能测试如何晋升测试开发?  一、功能测试为什么不建议选择软件开发?  表面看,...
            0 0 1615
            分享
      • 51testing软件测试圈微信