性能测试
蜀山客e
这个作者很懒,什么都没留下…
展开
-
性能测试-压测方式简单总结 和压测指标的来源
根据压测的场景不同,或者压测的目的不同,我们会选择不一样的压测方式来进行压测,梳理了下大概的压测的方式,主要有以下三个。1.全链路压测2.单接口压测3.多接口混合压测全链路压测呢,近几年 比较火,比如阿里啊,京东等公司都在做这个,全链路的压测呢,比较热门,基于用户的使用链路场景,或者系统的调用链路场景压测,更加贴近真实的用户场景。更多的去发现系统的问题。各个链路相关的接口的问题都能直接暴露出来。单接口压测呢,就是针对单一的接口进行压测,比如,我们有一个登录接口,一直登录超时,那么我们只需要对单独的原创 2020-11-14 15:29:09 · 1238 阅读 · 0 评论 -
何时介入性能测试
我们知道了压测的概念的介绍,那么很多人都想问,我们应该怎么做,在项目中的流程是怎样的,整个过程需要什么。那么我们来一一道来。一、压测的时机我们选择什么样的时机去介入压测,时机的选择是很重要的,如果时间选择不对呢,那么可能压测都是无用功。或者是高投入,低产出的。我大概总结了几个时机。项目上线稳定后,对系统的评估系统研发后期,对系统的检验活动前,摸高压测,预估流量线上出现性能问题。合作活动、系统,对方要求上线前压测大概是5个方面,当然了,也不只是这些,这里只是做了几种情况的列举。我们接下来原创 2020-11-14 14:54:11 · 792 阅读 · 0 评论 -
做性能测试必须了解的性能测试基础知识
一、什么是性能测试什么是性能测试,这是对于很多人来说是模糊的,我们来看下百度百科的答案。性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试。一句话就是通过自动化测试工具模拟各种情况对系统的各项性能指标进行测试。二,原创 2020-11-14 14:50:50 · 521 阅读 · 0 评论 -
做性能优化,到底在优化什么?
面试过程中经常被问到:你做过性能优化吗?优化了哪些方面?怎么做优化的?优化的效果如何?连环炮问下来,对于有做过优化的老司机来说,肯定能抗住。对于没有真正做过优化的小白来说,肯定扛不住这一系列的追问,最后只能以面试失败而告终。那么性能优化到底在优化什么呢?我们来盘点下一些常用的优化手段。SQL 优化当你开发的接口响应时间超过了 200ms 的时候就得优化了,当然 200ms 不是绝对值,具体还是看应用场景。以 App 举例,进一个页面调用 5 个接口(题外话:也可以做聚合),那么总共就是原创 2020-11-11 14:10:45 · 169 阅读 · 0 评论 -
软件测试学习路线,从零到一,建议收藏
别找了,这才是最全的 软件测试学习路线!!!总结一下✅1. 计算机前置基础✅2. Linux和数据库✅3. 测试基础✅4. 编程和数据结构 如 Java、Python、Go✅5. Web自动化 (UI自动化) [selenium]✅6. 移动自动化 (andriod自动化)[Appium]✅7. 接口测试✅8. 性能测试✅9. 综合项目实战测试以下是理论知识1.软件测试定义:软件测试(Software Testing),在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,原创 2020-10-15 14:52:57 · 3109 阅读 · 0 评论 -
Jmeter 查看结果树之界面功能介绍
查看结果树显示所有请求响应的树,通过它可以查看任何请求的响应。除了显示响应之外,还可以查看获取响应所花费的时间以及一些响应代码。需要通过"查看结果树"来查看服务器处理请求之后的返回结果,分析是否存在问题注意,查看结果树在负载测试时注意不要使用,因为它会消耗大量资源例如内存和CPU。当我们进行接口功能测试或在测试计划调试验证时使用。当我们测试接口功能的时候,通常只关注到了查看取样器结果、请求及响应数据这3个部分。但"查看结果树"界面还有很多其他功能,你知道吗?一、所有数据写入一个文件文件名:输入一原创 2020-09-04 16:00:48 · 898 阅读 · 0 评论 -
Jmeter 从数据库查询多个字段,依次传给登录接口怎么实现?
一、添加jdbc请求并设置变量,获取数据库多个字段值1、添加好JDBC Connection Configuration并做好数据库连接配置2、导入mysql驱动jar包以上1、2操作不详细整理了,参考之前博文“Jmeter 如何把数据库的数据依次获取作为参数传入下一个请求?” 非常详细3、添加线程组–>右键线程组–>添加jdbc request,并做好设置4、添加查看结果树并运行;得到以下结果ps:这里为了举例方便,并未获取密码的值,如果工作中有需要查库获取密码,那么需要找对原创 2020-09-04 14:21:37 · 405 阅读 · 0 评论 -
Jmeter 之测试片段、Include Controller、模块控制器应用
一、测试片段是什么?应用在控制器上的一个特殊线程组,与线程组处于同一层级,必须与Include Controller或模块控制器一起使用才被执行。二、应用场景1、当jmeter脚本非常复杂的时候,可以通过测试片段分模块管理用例2、当jmeter脚本由多个测试人员共同完成,通过测试片段分人分模块管理用例三、新建测试片段1、右键测试计划->添加Test Fragment2、在测试片段下,整理好测试用例脚本;3、保存测试片段脚本。选择文件—>保存测试计划为—>保存到本地。原创 2020-09-04 13:59:24 · 923 阅读 · 0 评论 -
Jmeter 如何把数据库的数据依次获取作为参数传入下一个请求?
一、jmeter连接数据库1、添加JDBC Connection Configuration(右键测试计划–>配置元件–>JDBC Connection Configuration)2、配置数据库连接信息,其中DataBase URL:jdbc:mysql://192.168.88.130:3306/dataname?useUnicode=true&characterEncoding=utf-81)192.168.88.130:3306为数据库的地址和端口号;dataname原创 2020-09-04 13:33:29 · 1184 阅读 · 0 评论 -
Jmeter逻辑控制器操作,附栗子
jmeter中的逻辑控制器确定采样器的执行顺序。右键线程组–>添加–>逻辑控制器。一、简单控制器简单控制器对JMeter如何处理添加到其中的采样器没有影响。只是方便我们做分组命名。示例:在以下计划中,向第一个简单控制器添加两个请求:"加载商品搜索页面"和“搜索商品A”,并将控制器命名“挑选商品”;向第二个简单控制器添加另两个请求:"加入购物车"和“支付”,并将控制器命名“支付操作”。运行结果可以看到,简单控制器不会对添加到其中的采样器产生影响。二、循环控制器如果将采样器或逻辑控原创 2020-09-03 15:03:45 · 169 阅读 · 0 评论 -
Fiddler还能做性能测试?
从以前的几篇文章中我们了解到Fiddler可以帮助我们做接口测试,修改断点,抓包等应用,但是你可能想想不到,Fiddler也能做简单的性能测试性能测试性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试。性能测试实际上也是通过工具模拟出很多虚拟的用户,同时发送HTTP 请求给Web 服务器。对被测系统实行压力负载测试,监控被测系统在不同业务不同压力下的性能表现,找出潜在的性能瓶颈并对其进行分析、优化负载测试:负载逐渐增加时,观原创 2020-08-18 13:48:02 · 887 阅读 · 0 评论 -
接口测试——postman参数化
我们在做接口测试的过程中,都会遇到同一个接口不同的数据,每次去一个个填写数据就太麻烦了,今天我们一起学习下如何通过postman进行参数化参数化参数化就是1个接口请求不同的数据,我们可以通过把请求的数据放入到一个文件中,通过循环请求这个文件中的数据,达到我们想要的结果请求接口开始练习前,我们先把我们用到的请求接口找到,这里我还是用了聚合数据中查询天气的接口,具体的内容前面有过介绍,这里都不详细说了# 接口地址http://apis.juhe.cn/simpleWeather/query# 请原创 2020-08-14 14:16:31 · 2177 阅读 · 0 评论 -
性能测试——并发用户数的计算方法
在实际性能测试中,测试人员常常会关心到并发用户数,也就是从业务角度关注究竟应该设置多少个并发数比较合理,以下是一个估算并发用户数的方法: (1) 计算平均的并发用户数: C = nL/T(2) 并发用户数峰值: C’ ≈ C+3根号C公式(1)中,C是平均的并发用户数;n是login session的数量;L是loginsession的平均长度;T指考察的时间段长度。公式(2)则给出了并发用户数峰值的计算方式中,其中,C’指并发用户数的峰值,C就是公式(1)中得到的平均的并发用户数。该公式的得出是原创 2020-08-14 13:48:57 · 1193 阅读 · 0 评论 -
性能测试-JMeter多脚本间的启动延时
JMeter做压测时,当需要多个jmx脚本依次执行时,需要用到“启动延时”,即间隔可设置的时间后启动运行下一个jmx脚本。实现“启动延时”的方法有2个。方法一、利用JMeter线程组中的"Startup delay"参数如上图,调度器(Scheduler)中有2个参数,持续时间(Duration)和启动延时(Startup delay),Duration用的比较多,可以限定测试的持续时间。当jmx脚本不止1个时,如果需要所有jmx脚本都依次执行就需要用到Startup delay了。Startu原创 2020-08-13 17:01:51 · 647 阅读 · 0 评论 -
性能测试:Jmeter-Beanshell请求加密实例
进行性能测试时,有可能遇到一种场景:接口请求由于安全问题,需要进行加密发送。这种场景下,使用Jmeter实现性能测试,则也需要使用同样的加密规则发送请求报文。要实现此类性能测试有几种策略:直接去除密文规则 - 由于报文加密并非性能关键,那么简单起见,直接测试明文请求一定程度上是可以接受的。使用同样的加密规则加密报文发送 - 这样处理显然更接近实际场景,所以是一般比较推荐的做法。本文讨论使用Jmeter发送加密请求实现性能测试。打包加密方法Jar包,导入Jmeter首先,确认被测产品的加密策原创 2020-08-12 14:13:22 · 419 阅读 · 0 评论 -
性能测试中标记每个请求
在做性能测试过程中,遇到一个棘手的问题,开发让我们复现几个请求时间较长的请求,他们看日志进行链路追踪,查找瓶颈所在。这里说一下框架中的处理逻辑:每个请求有一个唯一的requestid,由几部分组成,还有一些算法保证其唯一性。然后这个requestID贯穿整个请求过程的日志,服务间的相互调用,与数据库中间件的交互都依赖于这个requestID。以往压测都是写了一个请求ID,并未对这个header做处理,现在得搞起来了。首先我先新建了一个Java interface,用于使用闭包直接完成这个功能,还有就是原创 2020-08-11 15:31:38 · 832 阅读 · 0 评论 -
性能测试数据准备——jmeter
性能测试的一般流程:收集性能需求——>编写性能脚本——>执行性能测试——>分析测试报告——>系统性能调优在收集性能需求后,我们会思考:负载测试时并发时需要多少数据?例:登录DB数据是否和线上接近?所以——我们需要在测试前批量造一批数据进行性能测试性能数据有个重要的点: 数据必须带有特殊标记,方便与其他正常数据隔离并且在测试完成后销毁。不同公司的性能数据不一样,这里我讲一下最常见的两种制造方式:1、数据库直接插入性能测试数据首先下载一个 mysql的jar包 放到jm原创 2020-08-11 15:17:35 · 1509 阅读 · 0 评论 -
性能测试之Mysql数据库调优
一、Mysql性能指标及问题分析和定位1、我们在监控图表中关注的性能指标大概有这么几个:CPU、内存、连接数、io读写时间、io操作时间、慢查询、系统平均负载以及memoryOver2、介绍下Grafana模板中各性能指标的意思这个是Mysql数据库的连接数这个图标表示了慢查询上图就是Mysql数据库的缓存区,展示了最大缓存以及已使用缓存等数据3、性能分析一般在产生Mysql瓶颈的时候往往伴随着的是CPU使用率急速上升,需要top看一下是哪个线程占据了大量的CPU资源,如果发现Mysql原创 2020-08-11 15:06:59 · 424 阅读 · 0 评论 -
如何用Jenkins 结合 ANT 发送测试报告
全局变量配置点击 ManageJenkins进入Jenkins 管理 点击 Global Tool Configuration 进入全局变量配置 配置 Ant ,Name 自己定义一个比较好理解的名称。去掉 Install automatically 勾选,会出现填写Ant 路径的输入框。在定义的名称后面填写服务器存储 Ant的路径。如果没用安装过 Ant 则勾选Install automatically ,Jenkins 会自动安装 Ant。配置 JDK。配置方法和 Ant 相原创 2020-08-11 14:05:38 · 370 阅读 · 0 评论 -
使用Loadrunner进行Windows服务器性能监控
将装有Loadrunner的机器叫做监控端,被监控资源的服务器叫做被监控端一、前置环境设置1、 设置被监控端管理员账户可用:我的电脑右键->管理->本地用户和组->用户,选中Administrator查看属性,取消勾选账户已禁用,勾选密码永不过期并设置密码2、 设置被监控端Remote ProcedureCall(RPC)和Remote Registry Service服务开启:我的电脑右键->管理->服务和应用程序->服务3、 设置被监控端的网络安全设置:控原创 2020-08-11 13:27:35 · 902 阅读 · 0 评论 -
谈谈全栈测试工程师
我们经常会看到一些公司的岗位描述中,会这样要求测试工程师:要有相关行业背景,互联网或金融产品相关经验N年Web/App产品测试经验,N年管理经验或技术经验精通一种:接口测试、自动化测试(API/WEB)、性能测试、安全测试、持续集成等;能够主导测试框架设计、测试体系建设、持续质量管控;至少熟悉一种编程语言, Python、Perl、Shell、Java,C/C++等熟悉主流数据库应用SQL Server/MYSQL/ORACLE等有一定的运维能力,熟悉Nginx/Apache/Jenkins原创 2020-08-10 19:11:50 · 2407 阅读 · 0 评论 -
Allure-pytest功能特性介绍
前言Allure框架是一个灵活的轻量级多语言测试报告工具,它不仅以web的方式展示了简介的测试结果,而且允许参与开发过程的每个人从日常执行的测试中最大限度的提取有用信息从dev/qa的角度来看,Allure报告简化了常见缺陷的统计:失败的测试可以分为bug和被中断的测试,还可以配置日志、步骤、fixture、附件、计时、执行历史以及与TMS和BUG管理系统集成,所以,通过以上配置,所有负责的开发人员和测试人员可以尽可能的掌握测试信息。从管理者的角度来看,Allure提供了一个清晰的“大图”,其中包括已原创 2020-08-10 15:24:24 · 480 阅读 · 0 评论 -
性能测试要测试哪些?——app性能测试
普遍的apk性能测试,主要是以下七类1、响应2、内存3、cpu4、FPS (app使用的流畅度)5、GPU过度渲染6、耗电7、耗流(app除了这些性能测试,还有:手机版本号兼容性,屏幕分辨率兼容性,稳定性测试,安全测试等,后续会持续更新… 流量测试同这些一起更新,这里就不在说明了 )一、响应软件的响应时间和响应速度直接影响到用户的体验度,如果一个软件,迟迟加载不出来,会直接影响到软件的日活、留存。因此对于一个软件,对响应速度测试是必不可少的。主要测试点:1、冷启动:首次启动app的时原创 2020-08-10 14:26:59 · 1378 阅读 · 0 评论 -
JMeter命令行执行+生成HTML报告
一、为什么用命令行模式使用GUI方式启动jmeter,运行线程较多的测试时,会造成内存和CPU的大量消耗,导致客户机卡死;所以一般采用的方式是在GUI模式下调整测试脚本,再用命令行模式执行;命令行方式支持在多个环境下使用,windosw的dos环境下,也可以在linux环境上执行。注意:使用命令执行jmeter脚本必须使用jmeter 3.0及以上版本。二、怎么用1、执行命令jmeter -n -t <testplan filename> -l <listener filen原创 2020-08-08 14:19:18 · 1305 阅读 · 0 评论 -
性能测试-cpu负载和cpu利用率
概述做压力测试的时候,我们经常会关注两个指标,CPU利用率和CPU负载Linux中,进程分为三种状态:阻塞的进程blocked process可运行的进程runnable process正在运行的进程running process当进程处于不可中断时,进程会等待I/O设备的数据或者系统调用;进程处于可运行状态时,它处在一个运行队列中,与其他可运行进程争夺CPUCPU使用率CPU使用率指的是程序在运行期间实时占用的CPU百分比,这是对一个时间段内CPU使用状况的统计。通过这个指标可以看原创 2020-08-08 13:32:57 · 2265 阅读 · 0 评论 -
Centos杀死进程kill方法大全
cheersliCentos杀死进程kill方法大全杀死进程最安全的方法是单纯使用kill命令。首先使用ps -ef命令确定要杀死进程的PID,然后输入以下命令:# kill -pid注释:标准的kill命令通常都能达到目的。终止有问题的进程,并把进程的资源释放给系统。然而,如果进程启动了子进程,只杀死父进程,子进程仍在运行,因此仍消耗资源。为了防止这些所谓的“僵尸进程”,应确保在杀死父进程之前,先杀死其所有的子进程。*确定要杀死进程的PID或PPID# ps -ef | grep ht原创 2020-08-08 13:23:40 · 7194 阅读 · 0 评论 -
fiddler自动生成jmeter测试脚本
概述如何通过fiddler抓包,单一接口可以复制到jmeter中进行接口测试,那么如果抓包获取了大量的接口,我们如何快速实现接口转换成jmx文件呢?今天给大家介绍fiddler的另一功能:Fiddler导出JMeter脚本操作步骤一:安装fiddler4.6及以上版本二:下载jmeter插件JmeterExport.dll,保存至fiddler安装路径ImportExport文件夹下三:重启fiddler,通过过滤器去抓包正则条件过滤图片、js等文件,输入以下内容:四:导出jmx文件选原创 2020-08-07 15:44:22 · 861 阅读 · 0 评论 -
Jmeter查看结果树之查看响应的13种方法
查看结果树查看响应有哪几种方法,可通过左侧面板底部的下拉框选择1、Text查看结果树中请求的默认格式为text,会显示请求的取样器结果、请求、响应数据3个部分内容。取样器结果: 默认Raw视图,可以切换为Parsed视图,表单显示更直观。请求:默认Raw视图下,Restquest Body 及Restquest Headers两部分。HTTP显示更直观。输入信息查找,还可以设置区分大小写、正则表达式。响应数据: 显示Response Body 及Response Headers两部分内容。当数据原创 2020-08-04 16:58:31 · 1006 阅读 · 0 评论 -
性能测试:Jmeter压测过程中的短信验证码读取
问题背景现如今国内的大部分软件或者网站应用,普遍流行使用短信业务,比如登录、注册以及特定的业务通知等。对于这些业务,在使用Jmeter进行性能测试的过程中,就会需要自动获取和填入短信验证码,否则性能流程无法进行下去。由于绝大多数的系统其短信验证码并不会在接口返回中,因此如何获取短信验证码是一个问题。最简单的做法,是让开发在测试环境将验证码写死,在测试过程中固定使用静态验证码字串。不过求人不如求己~也是出于尽量贴近真实用户场景的目的,更合适的做法还是通过技术手段动态获取并填写短信验证码。解决思路原创 2020-08-04 14:43:24 · 1313 阅读 · 0 评论