摘要:第10期《接口自动化由浅入深》课程,1月19号开学! 上课方式:QQ群视频在线教学 本期上课时间:1月19号-3月15号,每周六、周日晚上20:00-22:00 报名费:1699一人(周期2个月) 联系QQ:1144890271 课程介绍: 每周六周日晚8点到10点 QQ直播授课,全程实战演示 费用 阅读全文
posted @ 2019-07-30 14:26 飞天小子 阅读 (2276) 评论 (0) 编辑
摘要:课程介绍 《由浅入深学性能》课程,1月19号开学!再次改版,课程更丰富 主讲老师:飞天小子 上课方式:每周六周日晚8点到10点,QQ群视频在线直播教学 本期上课时间:1月19号-3月14号,每周六、周日晚上20:00-22:00 课程有录屏,赶不上直播会发放录播视频,不用担心缺课,一期学不会下期继续 阅读全文
posted @ 2019-06-04 19:17 飞天小子 阅读 (2236) 评论 (0) 编辑
摘要:jmeter基础公开课免费学习:https://edu.csdn.net/course/detail/27515 性能测试QQ群:317765580 接口测试QQ群:901813303 联系QQ:1144890271由浅入深学性能系列博客:https://testerhome.com/topics/ 阅读全文
posted @ 2018-05-01 14:29 飞天小子 阅读 (25963) 评论 (10) 编辑
摘要:概述 在本地针对项目的登录接口做了一次简单的压力测试。200并发持续120s,观察吞吐量 运行结束之后,吞吐量是这样的 如图所示,吞吐量波动巨大,完全不正常。现在我们需要去观察一下服务器了 mpstat P ALL 1 先看一下cpu的运行情况 可以发现cpu的利用率呈现一种阶梯式递增的趋势,但是负 阅读全文
posted @ 2020-01-17 07:16 飞天小子 阅读 (66) 评论 (0) 编辑
摘要:概述 我们在进行阶梯式压力测试的时候,聚合报告生成的结果是一个汇总数据。并不会阶梯式的统计压测性能数据。这样我们就不能去对比不同阶梯压力下的性能数据变化趋势。 期望 假设现在一共会加载100个线程,我期望聚合报告中分别展示1-20,20-40,40-60,60-80的四个阶段的线程并发性能数据,而不 阅读全文
posted @ 2019-10-09 06:43 飞天小子 阅读 (423) 评论 (0) 编辑
摘要:基础: 完整的性能测试流程 需求-计划-方案-环境搭建-用例设计-数据准备-场景设计-脚本开发-脚本执行-结果分析-问题反馈-性能调优-结果报告 性能指标 TPS,QPS,RPS,HPS,RT,VU,ERROR 测试类型 压力测试,负载测试,并发测试,spike测试,稳定性测试,破坏性测试,验收测试 阅读全文
posted @ 2019-09-25 22:23 飞天小子 阅读 (351) 评论 (1) 编辑
摘要:JVM内存包括区域 Heap(堆区) New Generation(新生代) Eden 伊甸园 Survivor From Survivor To Old Generation(老年代) 方法区 Permanent Generation(持久代) Stack(栈区) Metaspace(元空间) D 阅读全文
posted @ 2019-09-25 21:49 飞天小子 阅读 (497) 评论 (0) 编辑
摘要:年轻代与老年代的调优(笔记整理) 几个常见名词 年轻代(young 区)从年轻代空间(包括Eden和Survivor 区域)回收内存被称为 Minor GC空间太小可能导致对象直接进入 old区 。如果old区 满了,会触发full gc。但也不能过大,过大会引起回收耗时过长,导致应用阻塞。 老年代 阅读全文
posted @ 2019-09-17 16:14 飞天小子 阅读 (419) 评论 (1) 编辑
摘要:概述 昨天我们在课堂上讲了如何通过fiddler抓包,单一接口可以复制到jmeter中进行接口测试,那么如果抓包获取了大量的接口,我们如何快速实现接口转换成jmx文件呢? 今天给大家介绍fiddler的另一功能:Fiddler导出JMeter脚本 操作步骤 一:安装fiddler4.6及以上版本 链 阅读全文
posted @ 2019-09-17 11:47 飞天小子 阅读 (737) 评论 (0) 编辑
摘要:概述 做压力测试的时候,我们经常会关注两个指标,CPU利用率和CPU负载 Linux中,进程分为三种状态: 阻塞的进程blocked process 可运行的进程runnable process 正在运行的进程running process 当进程处于不可中断时,进程会等待I/O设备的数据或者系统调 阅读全文
posted @ 2019-09-16 18:43 飞天小子 阅读 (1368) 评论 (3) 编辑
摘要:概述 我们原先在服务器上想分析性能指标,需要执行一系列的linux命令。对于linux命令不熟悉的人来说,比较困难 现在有一套集成的shell脚本,把常用的linux命令都包含在里面,一键式分析性能瓶颈 脚本功能 1、查看CPU利用率与负载(top、vmstat、sar) 2、查看磁盘、Inode利 阅读全文
posted @ 2019-09-09 15:04 飞天小子 阅读 (419) 评论 (1) 编辑
摘要:由于误删了dpkg的/var/lib/dpkg/info文件夹,导致安装文件的时候报错 错误提示:E: Sub-process /usr/bin/dpkg returned an error code (1) 执行下面的脚本可以修复 阅读全文
posted @ 2019-09-03 22:04 飞天小子 阅读 (169) 评论 (0) 编辑
摘要:ubuntu安装vim的时候,报错提示:vim : 依赖: vim-common (= 2:7.3.429-2ubuntu2) 但是 2:7.3.429-2ubuntu2.1 正要被安装 说明既存的vim-common包版本过低,先卸了再说 sudo apt-get purge vim-common 阅读全文
posted @ 2019-09-03 22:00 飞天小子 阅读 (47) 评论 (0) 编辑
摘要:概述 在互联网产品中,产品的迭代速度越来越快,项目中的测试同学面临着前期需求摇摆不定,中间各种开发进度死锁,而发布时间却无法推迟。项目的前期阶段似乎总是在压榨着测试的执行时间。 如何减少测试返工,测试阶段的工作量的同时,保障项目质量? 立项后 项目目标要明确,最好有量化指标。 产品需求是否为项目目标 阅读全文
posted @ 2019-09-03 13:47 飞天小子 阅读 (204) 评论 (0) 编辑
摘要:概述 我们在使用JMeter执行性能测试的过程中,会遇到很多不方便的地方 GUI模式 执行脚本很方便,看结果也很方便,但是GUI模式消耗资源,对测试结果的准确性影响很大 非GUI模式 消耗资源很少,但是看结果很不方便。我们无法查看任何内容,只能每隔30秒看到一行运行状态 因此我们陷入了僵局 想看到测 阅读全文
posted @ 2019-09-03 11:27 飞天小子 阅读 (364) 评论 (1) 编辑
摘要:概述 最近有很多朋友来咨询关于阶梯加压与聚合报告中实际请求数的问题。 大家的困惑基本一致,那就是明明自己只设置了几十个线程,最后为什么聚合报告中跑出了上万个请求? 关于这个问题,今天来实际操作并记录一下,解答大家的疑惑。 实验 还是用百度做例子 我们设置阶梯加压线程组的请求参数,如下图 此图表示 1 阅读全文
posted @ 2019-08-28 22:18 飞天小子 阅读 (243) 评论 (0) 编辑
摘要:sqlmap简介 sqlmap是一个开源的渗透测试工具,可以用来进行自动化检测,利用SQL注入漏洞,获取数据库服务器的权限。 它具有功能强大的检测引擎,针对各种不同类型数据库的渗透测试的功能选项,包括获取数据库中存储的数据,访问操作系统文件甚至可以通过外带数据连接的方式执行操作系统命令。 它支持My 阅读全文
posted @ 2019-08-17 06:28 飞天小子 阅读 (144) 评论 (1) 编辑
摘要:概述 空闲之余用jmeter对百度进行了一次压测,目的是分析一下性能的拐点,验证一下理论知识 操作 第一次实验:200并发 并发200,不限迭代次数,同时在请求下面加RPS定时器。 目的是在200线程下,将RPS逐步增加到1000/S,并持续运行一段时间。 在线程下面添加TPS,HPS,响应时间三种 阅读全文
posted @ 2019-08-04 09:23 飞天小子 阅读 (652) 评论 (0) 编辑
摘要:第10期《接口自动化由浅入深》课程,1月19号开学! 上课方式:QQ群视频在线教学 本期上课时间:1月19号-3月15号,每周六、周日晚上20:00-22:00 报名费:1699一人(周期2个月) 联系QQ:1144890271 课程介绍: 每周六周日晚8点到10点 QQ直播授课,全程实战演示 费用 阅读全文
posted @ 2019-07-30 14:26 飞天小子 阅读 (2276) 评论 (0) 编辑
摘要:概述 性能测试中,对服务端的指标监控也是很重要的一个环节。通过对各项服务器性能指标的监控分析,可以定位到性能瓶颈。 后端性能指标有CPU,内存,网络,I/O等等 分析思路 整体系统CPU利用率 内存利用率 磁盘I/O的利用率和延迟 网络利用率 CPU定位分析 监控命令:vmstat、sar、dsta 阅读全文
posted @ 2019-07-30 06:05 飞天小子 阅读 (862) 评论 (1) 编辑
摘要:堆内存溢出 java.lang.OutOfMemoryError: Java heap space原因:java堆内存不够或者程序中有死循环; 解决:如果是java堆内存不够,需要通过调整JVM下面的配置来解决: < jvm-arg>-Xms3062m < / jvm-arg> < jvm-arg> 阅读全文
posted @ 2019-07-23 13:56 飞天小子 阅读 (214) 评论 (0) 编辑
摘要:概述 近期帮朋友解决了一个浮点时间戳转换的问题,在这里记录一下。 具体场景是有一个十位浮点时间戳的list,需要遍历转换为当前的标准时间。 list如下: 实现步骤 实现步骤其实很简单,只需要一个foreach控制器,和一段转换时间戳的代码 第一步把时间戳提取出来 第二步把提取的时间戳传入forea 阅读全文
posted @ 2019-07-21 06:18 飞天小子 阅读 (633) 评论 (0) 编辑
摘要:概述 今天看到一篇文章讲解VU、RPS、RT,中间有一个公式如下图 点击查看原文链接 并发数 = RPS * 响应时间 于是我在本地做了几次实验,试图验证一下公式的准确性 实验网站 www.baidu.com 第一次实验 100线程,一次迭代,启动时间1s,线程组和聚合报告如图所示 从结果可以看出, 阅读全文
posted @ 2019-07-19 12:41 飞天小子 阅读 (625) 评论 (0) 编辑
摘要:目录结构 一、Sitespeed.io概述 1.Sitespeed.io简介 2.Sitespeed.io使用场景 二、Sitespeed.io的安装和使用 1.安装Sitespeed.io 2.连接Docker,驱动浏览器进行Web性能测试 1)连接Docker 2)驱动浏览器进行测试 3)测试报 阅读全文
posted @ 2019-07-18 15:47 飞天小子 阅读 (224) 评论 (0) 编辑
摘要:框架 功能点 批量导入har包生成接口用例 接口用例分组树形展示 用例编辑失焦自动保存 用例编写提供快捷调试模块 支持多类型参数,json+文本两种校验 支持同一个项目中接口参数传递 提供即时任务+每日定时任务两种任务集 全局cookie管理,全局默认参数,全局请求头设置 可编排的用例执行顺序 测试 阅读全文
posted @ 2019-07-18 15:44 飞天小子 阅读 (397) 评论 (0) 编辑
摘要:项目主页 https://github.com/soimort/you-get 使用you-get库一些简单命令下载视频音乐 you-get是一个基于python3的下载器,没有客户端或者可视化工具,它是在cmd中通过命令行运行的。 1.you-get的安装与升级 因为you-get是基于pytho 阅读全文
posted @ 2019-07-18 15:41 飞天小子 阅读 (114) 评论 (0) 编辑
摘要:文末有福利 前言 做测试已经快十年了,夜深人静的时候常常在想,这些年到底做了些什么?想来想去,发现只有那些过往的学习笔记才能证明自己这些年一直在努力。 说起学习这件事,似乎也是一个笑话。 那些年苦练uft自动化和vbs编程,玩到失联,一抬头发现早已过时; 那些年因为公司用python自动化项目,不分 阅读全文
posted @ 2019-07-16 23:07 飞天小子 阅读 (820) 评论 (0) 编辑
摘要:简述性能测试流程? 1.分析性能需求。挑选用户使用最频繁的场景来测试,比如:登陆,搜索,下单等等。确定性能指标,比如:事务通过率为100%,TOP99%是5秒,最大并发用户为1000人,CPU和内存的使用率在70%以下 2.制定性能测试计划,明确测试时间(通常在功能稳定后,如第一轮测试后进行)和测试 阅读全文
posted @ 2019-07-11 20:11 飞天小子 阅读 (1046) 评论 (2) 编辑
摘要:概述 我们用jmeter做性能测试,必然需要学会分析测试报告。但是初学者常常因为对概念的不清晰,最后被测试报告带到沟里去。 常见的误区 分析响应时间全用平均值 响应时间不和吞吐量挂钩 响应时间和吞吐量不和成功率挂钩 。。。。。 平均值特别不靠谱 平均值为什么不靠谱?相信大家读新闻的时候经常可以看到, 阅读全文
posted @ 2019-07-08 17:03 飞天小子 阅读 (796) 评论 (0) 编辑
摘要:概述 尖峰测试(Spike testing)在性能测试中属于压力测试的一个子集。指的是在某一瞬间或者多个频次下用户数和压力陡然增加的场景。 为了验证我们的网站在访问用户急剧增加的情况下,或者短时间内反复急剧增加工作负载时能否正常工作;以及程序能否从高负荷中恢复并正常工作时常常用到这种测试手法。 Sp 阅读全文
posted @ 2019-06-30 11:03 飞天小子 阅读 (697) 评论 (3) 编辑
摘要:概述 大部分新手在用jmeter做压力测试的时候,对一些性能术语十分模糊,直接导致的后果就是对测试出来的结果数据根本不能理解,更谈不上分析了。今天的文章就着重给大家解释一下压力测试中的一些专有名词 问题1:什么是压力测试 问到如何做压力测试,很多人可能只会回答:"加线程组,加并发,看结果"。那么什么 阅读全文
posted @ 2019-06-16 21:12 飞天小子 阅读 (2581) 评论 (3) 编辑
摘要:性能测试的概念&意义 概念:通过技术的手段模拟大量用户同时访问被测应用,观察、记录和分析系统的各项性能指标的过程。 目标:评估系统的性能瓶颈,预测系统的最大用户负载能力 性能测试的意义: 1)能够有效评估系统的性能指标,用于系统的性能评估2)能够识别系统的性能瓶颈,协助性能调优3)能够指导突发流量承 阅读全文
posted @ 2019-06-15 18:45 飞天小子 阅读 (322) 评论 (0) 编辑
摘要:Jmeter作为开源测试工具,以其轻便,功能齐全的优点,正越来越受到企业的重视。作为纯java的工具,它的扩展性无比强大,既可以做功能测试,也可以做性能测试;既支持接口层面的测试,也支持webdriver驱动浏览器做ui测试。它支持各种协议,各种数据库,甚至于大数据,MQ这些前沿技术也被加入了进来。 阅读全文
posted @ 2019-06-09 07:22 飞天小子 阅读 (1666) 评论 (0) 编辑
摘要:问题描述: 最近在测试环境的服务器上,无意中发现cpu持续飙高。最高的时候达到了200%经过反复重启无效之后,决定挖掘深层次的原因 通过top命令打印出消耗cpu的pid,如图 通过ps -mp 24597 -o THREAD,tid,time,找出进程中cpu占用率最高的tid 通过 jstack 阅读全文
posted @ 2019-06-04 15:43 飞天小子 阅读 (735) 评论 (0) 编辑
摘要:概述 性能测试过程中,对服务器资源的监控是必不可少的。这里的资源又分了两块,windows和linux linux下监控资源 访问网址http://jmeter-plugins.org/downloads/all/,下载三个文件。其中JMeterPlugins-Standard和JMeterPlug 阅读全文
posted @ 2019-05-29 18:48 飞天小子 阅读 (1609) 评论 (1) 编辑
摘要:性能测试到底是什么 这个简单的问题很多朋友都无法完整的回答。可能知道的朋友会说性能测试就是用LoadRunner或者Jmeter工具来压测系统,也有人会说性能测试就是同时让很多人访问系统看系统能否扛得住。这些回答只能说对,但不够全面也不够深刻,只是把表象描述了一下而已。其实真正的性能测试无法用一两句 阅读全文
posted @ 2019-05-29 16:49 飞天小子 阅读 (607) 评论 (1) 编辑
摘要:概述 我们在做性能测试的时候,不同的视角看到的结果都不一样。 例如响应时间 用户通过客户端向服务端发出请求的时间为: T1服务端接收到请求,处理该请求的时间为:T2服务端返回数据给客户端时间为: T3客户端接收到响应数据,处理数据呈现给用户时间为:T4 从系统视角来看:系统的响应时间Ts= T1+T 阅读全文
posted @ 2019-05-27 12:42 飞天小子 阅读 (1639) 评论 (0) 编辑
摘要:概述 jmeter中提供了很多性能数据的监听器,我们通过监听器可以来分析性能瓶颈 本文以500线程的阶梯加压测试结果来描述图表。 常用监听器 1:Transactions per Second 监听动态TPS,用来分析吞吐量。其中横坐标是运行时间,纵坐标是TPS值。红色表示通过的TPS,绿色表示失败 阅读全文
posted @ 2019-05-26 10:17 飞天小子 阅读 (1026) 评论 (0) 编辑
摘要:概述 jmeterGUI模式下,性能测试的结果往往误差很大,因为GUI本身就会消耗一部分资源。所以我们常常用命令行去跑性能脚本,得出结果 同时,jmeter在命令行下还可以生成多维度的测试报告,里面包含了常用的性能指标和监听器图表。 操作步骤 详见:JMeter(十四)-自动生成测试报告 注:如果想 阅读全文
posted @ 2019-05-18 12:36 飞天小子 阅读 (488) 评论 (0) 编辑
摘要:概述 今天做一个性能测试的案例。需求中给出并发人数和业务时间段。根据2,5,8原则,统计响应超时率 实际场景 1:登录--考勤打卡--退出 2:并发人数200人,业务持续时间5分钟 3:要求登录响应时间不能超过5s,考勤打卡时间不能超过2s,退出系统时间不能超过2s 3:要求计算出登录,考勤,退出系 阅读全文
posted @ 2019-05-17 20:59 飞天小子 阅读 (799) 评论 (0) 编辑
摘要:有时候,我们创建容器时忘了添加参数 --restart=always ,当 Docker 重启时,容器未能自动启动, 现在要添加该参数怎么办呢,方法有二: 1、Docker 命令修改 docker container update --restart=always 容器名字 2、直接改配置文件 首先 阅读全文
posted @ 2019-05-12 12:32 飞天小子 阅读 (3795) 评论 (0) 编辑
摘要:背景 在使用 docker 运行容器时,默认的情况下,docker没有对容器进行硬件资源的限制,当一台主机上运行几百个容器,这些容器虽然互相隔离,但是底层却使用着相同的 CPU、内存和磁盘资源。如果不对容器使用的资源进行限制,那么容器之间会互相影响,小的来说会导致容器资源使用不公平;大的来说,可能会 阅读全文
posted @ 2019-05-12 12:30 飞天小子 阅读 (599) 评论 (0) 编辑
摘要:概述 今天用jmeter做一次参数化实战。通过计数器遍历参数表,然后查询jdbc进行beanshell断言。 涉及元件 用户参数,计数器,正则表达式,jdbc,beanshell脚本 详细过程 在我们的opms项目管理中,有一个项目状态的修正,四种状态分别为延期,挂起,进行,结束 在接口自动化案例中 阅读全文
posted @ 2019-05-12 09:01 飞天小子 阅读 (763) 评论 (0) 编辑