自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 收藏
  • 关注

原创 定位排查Java线上内存溢出问题(服务重启,没有捕获到日志)

一、场景线上项目device服务模块内存不断上涨导致CPU较高,导致触发脚本执行重启,接口自动化测试平台不断的报500拒绝连接等错误提示。排查:通过服务器日志查询并没有异常错误信息打印,查看docker容器的日志发现错误是打印控制台,无法从控制台中找到有价值的日志短暂方案解决:内存溢出问题因为JVM内存分配不够大导致的,调大JVM的内存可以短暂解决此问题,但解决不了根本问题,需要从代码层去定位排查二、Java启动参数分析(调试参数)...

2021-09-07 15:59:30 2104 1

原创 Arthas(阿尔萨斯)监控线上Java程序,解决无法线上性能调优问题

1、Arthas介绍Arthas是阿里在2018年9月开源的Java诊断工具,支持 JDK6+,采用的是命令交互模式,提供Tab 自动补全,在线排查问题,无需重启,动态跟踪Java代码,实时监控JVM状态,方便Java大佬们定位和诊断线上程序运行问题。开源地址:https://github.com/alibaba/arthas官方文档:https://arthas.aliyun.com/doc/2、Arthas使用场景(解决的问题)1、可以全局视角来查看系统的运行...

2021-08-12 10:33:47 3050 1

原创 Arthas定位Java性能问题(docker 部署服务)

1、linux安装wget命令sudo yum -y install wget2、下载安装Arthassudo wget https://alibaba.github.io/arthas/arthas-boot.jar3、docker容器安装Arthas(将arthas copy到容器里面)docker cp arthas-boot.jar a03b20d2d33c:/home找到占用CPU最高的容器ID4、进入容器docker exec -i...

2021-07-16 10:53:35 736

原创 Postman:通过CSV文件实现接口自动化测试,实际结果预期结果对比,断言判断用例是否通过(上)

1、设置环境变量点击设置,在MANAGE ENVIRONMENTS中设置固定的值,比如IP和一些固定不变的参数,设置好点击Update即可。2、新建接口,选择对应的环境,填写接口信息,请求方法、请求地址,头文件,请求参数,进行请求是否OK注:URL中IP已经在环境变量中配置好,只需要用{{IP}}表示即可(配置的变量都用{{}}表示)3、断言Tests:通过断言编写出测试用例,判断实际结果是否符合预期结果编写断言Tests:比较简单,基本可以依葫芦画瓢,主要是js语言var

2020-11-17 10:37:16 2627

原创 非GUI模式jmeter测试HTTPS接口,Linux导入HTTPS证书,

1、配置环境变量(java和jmeter)点击跳转环境变量配置2、进入执行命令目录cd $JAVA_HOME/jre/lib/security3、将证书安装到bin目录(证书从浏览器中拉取导出)如何拉取浏览器中证书4、执行导入命令(skyway 文件名,证书路径:/home/sei/apache-jmeter-3.2/bin/skyway.crt)keytool -import -alias skyway -keystore cacerts -file /home/...

2020-09-03 20:21:16 781

原创 jmeter环境配置(Windows&Linux)

Windows安装部署jmeter1、下载jmeterhttps://jmeter.apache.org/download_jmeter.cgi2、安装部署java,配置环境变量3、将jmeter解压到目录下4、在用户变量中添加:变量名:JMETER_HOME变量值:D:\Java\apache-jmeter-3.2编辑Path,添加%JMETER_HOME%\bin5、测试是否安装成功cmd命令窗口,输入jmeter,会直接打开jmeter...

2020-09-03 20:15:57 392

原创 性能测试(监控)docker安装部署Grafana+prometheus+node-exporter详解(下)

1、登陆grafana2、添加数据源3、添加Prometheus,配置并且保存4、添加需要的仪表盘5、查找需要的显示图,https://grafana.com/grafana/dashboards?search=Prometheus进入详情,然后点击copy ID to Clipboard详情图6、将ID输入之后,就进行导入,然后选择数据源,点击IMport即可7、结果如图所示...

2020-07-10 15:39:22 341

原创 性能测试(监控)docker安装部署Grafana+prometheus+node-exporter详解(中)

一、查看是否存在镜像sudo docker search node-exportersudo docker search prometheus二、下载镜像sudo docker pull prom/node-exportersudo docker pull prom/prometheus三、查看端口是否冲突,node-exporter默认端口9100,prometheus默认端口9090netstat -ntlp 查看当前所有的端口lsof -i :80

2020-07-10 15:27:53 1142

原创 性能测试(监控)docker安装部署Grafana+prometheus+node-exporter详解(上)

一、sudo docker search grafana # 在docker库中查找grafana镜像二、docker pull grafana/grafana(拉去镜像)三、docker images(查看自己是否成功拉取镜像)四、docker run -d -p 3000:3000 --name grafana grafana/grafana说明:-d:deamon 后台启动-p:prot 端口映射,宿主机端口:容器内端口, 3000为.

2020-07-10 15:20:39 593

原创 如何解决Python smtplib 邮箱发送失败(登录失败)遇到的坑

代码正常的情况下,执行程序,报错,提示登录失败如何解决:1、先登录发送者的邮箱,找到设置===》账户===》POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务点击开启,然后发送短信过去页面会弹出一串码,然后copy这串码2、然后把代码中的密码替换成刚刚这个码,在执行程序,就发送成功了原因在于登陆时候,需要使用授权码替代密码。QQ邮箱推出了授权码,授权码用于第三方客户端登录,代替了第三方登录时使用的个人邮箱密码哎,记忆力真...

2020-06-10 18:31:24 3084

原创 数据库事务特性、事务隔离级别、脏读

尽量不要使用长事务用于查找持续时间超过 60s 的事务select * from information_schema.innodb_trx where TIME_TO_SEC(timediff(now(),trx_started))>60查看事务是否开启SELECT @@event_scheduler; 或 SHOW PROCESSLIST; 或 SHOW VARIABLES LIKE 'event_scheduler';开始MySQL事务执行SET GLOBAL event

2020-05-21 16:10:26 230

转载 详解MySQL的重做日志(redo log),回滚日志(undo log)及二进制日志(binlog)

MySQL中有六种五种日志文件,分别是:重做日志(redo log)、回滚日志(undo log)、二进制日志(binlog)、错误日志(errorlog)、慢查询日志(slow query log)、一般查询日志(general log),中继日志(relay log)。其中重做日志和回滚日志与事务操作息息相关,二进制日志也与事务操作有一定的关系,这三种日志,对理解MySQL中的事务操作有着重要的意义。这里简单总结一下这三者具有一定相关性的日志。重做日志(redo log)作用:  确保事.

2020-05-21 10:28:20 359

原创 数据库设计,一二范式理解

第一范式要求确保表中每列的原子性,也就是不可拆分;第二范式要求确保表中每列与主键相关,而不能只与主键的某部分相关(主要针对联合主键),主键列与非主键列遵循完全函数依赖关系,也就是完全依赖;第三范式确保主键列之间没有传递函数依赖关系,也就是消除传递依赖。第一范式(1NF)定义:如果关系模式R的每个关系r的属性都是不可分的数据项,那么就称R是第一范式的模式。简单的说,每一个属性都是原子项,不可分割。1NF是关系模式应具备的最起码的条件,如果数据库设计不能满足第一范式,就不称为关系型.

2020-05-18 10:25:20 480

转载 软件测试上线准则

软件测试上线的标准是什么?既定周期(几轮测试用例跑完)完成就结束?搞定所有bug?领导说了算?集体讨论决定?我认为测试活动是各种资源妥协的结果,也可以说是各种资源协调的最佳实践,不要认为与你小小测试员无关呦!1 编写目的   明确软件测试工作的开始和结束标准。2 软件测试合格标准   以上比例为错误占总测试模块的比例。3 缺陷修复率标准   1) A、B、C级错误修复率应达到100%2) D级错误修复率应达到96%以上4 覆盖率标准   测试.

2020-05-16 09:19:18 1215

转载 接口自动化测试面试题(6)

什么是API?API是(Application Programming Interface)首字母缩略词,即应用程序编程接口。 API是一组用于构建软件应用程序的规程,协议和工具。API充当软件应用程序之间的接口,并允许两个软件应用程序相互通信。 API是一组软件功能,可以由其他软件执行。什么是API测试?API测试是一种软件测试,涉及直接测试API,也是集成测试的一部分,用于检查API是否满足应用程序的功能,可靠性,性能和安全性方面的期望。在API测试中,我们主要关注软件架构的业务逻辑层...

2020-05-16 09:10:49 1988

转载 接口自动化测试面试题(5)

1.接口自动化框架怎么做的,实现了哪些功能,用了多久,框架搭建3周?2.设计框架遇到了哪些问题,都怎么解决的?3.你认为你的框架有哪些优点(模块化,数据驱动,发送邮件)缺点,还有什么可以优化的地方?4.你们都怎么做接口测试,都用啥工具?5.接口之间的数据依赖?6.框架的架构(用的语言,用的包)?7.接口自动化中的断言怎么做,根据啥做的断言(状态码,)—————————————————————————————————————————–一、接口自动化框架怎么做的,实现了哪些.

2020-05-15 16:21:31 1890

转载 接口自动化测试面试题(4)

1.什么是接口测试?接口测试:是测试系统组件间接口的一种测试方法 接口测试的重点:检查数据的交换,数据传递的正确性,以及接口间的逻辑依赖关系 接口测试的意义:在软件开发的同时实现并行测试,减少页面层测试的深度,缩短整个项目的测试周期2.接口自动化测试的流程?基本的接口功能自动化测试流程为:需求分析-->用例设计-->脚本开发-->测试执行-->结果分析3.GET请求和POST请求区别是什么?GET请求:用于信息获取,相对而言是安全和幂等的;在做数据查询时,建议用

2020-05-15 09:43:16 1306

转载 接口自动化测试面试题(3)

一、json和字典dict的区别首先python里面的基础数据类型有:int、str、 float、list、bool、tuple、dict、set这几种类型,里面没json这种数据类型。JSON( 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。由于你的代码是

2020-05-15 09:23:27 2011

转载 接口自动化测试面试题详解(2)

(1)我们测试的接口属于哪一类? 通常都是B/S架构,由客户端调用,或模拟客户端调用服务器提供的请求接口,由服务器完成处理并返回一个应答的过程。 例如 webservice接口 http接口 jms接口 hessian接口(2)HTTP接口传递数据最常用的方式? get和post最常用。 get是从服务器上获取数据 适用场景:在做搜索接口 商品信息接口 post是向服务器上传送数据 适用场景:在做数据添加修改删除...

2020-05-15 09:19:13 2638

转载 接口自动化测试面试题详解(1)

根据网络资料,总结了以下一些常见的接口测试面试题:为什么要做接口测试? 接口测试能发现哪些问题? 接口测试怎么测? 用什么工具测接口? WebService接口是如何测试的? 没有接口文档如何做接口测试? 在接口测试过程中,上下游接口有数据依赖如何处理? 依赖第三方数据的接口如何进行测试? 当一个接口出现异常时,你是如何分析异常的? 如何模拟弱网测试? 如何分析一个bug是前端的还是后端的?为什么要做接口测试在讨论为什么要做接口测试之前,我们先稍微了解下接口是什么?接口可以

2020-05-15 09:13:57 3699

原创 select语句完整语法

select 语句完整语法:1) select 目标表和列名或列表达式序列2) from基本表名和(或)视图序列3) 【where行条件表达式】4) 【group by 列名序列】【having 组条件表达式】5) 【order by 列名【asc | desc】】写法顺序:select -from - where - group by - having - or...

2020-05-08 16:39:52 4584 1

原创 INSERT INTO与SELECT INTO

INSERT INTO语句用于向表格中插入新的行INSERT INTO table_name VALUES (值1, 值2,....) 指定所要插入数据的列: INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中。常用于创建表的备份复件或者用于对记录进行...

2020-05-08 16:38:42 787

原创 单元测试的策略

1、逻辑覆盖2、循环覆盖3、同行评审4、桌前检查5、代码走查6、代码评审7、静态数据流分析mock:对代码中某些不容易获取的对象创建虚拟对象来测试stub:桩函数是代替某些被调用了但是没有编写代码,一般在增量迭代自低向上的过程中不用编写。再自顶向下的过程中需要编写驱动函数:调用被测函数,给被测函数传参。六种覆盖方法中,覆盖准则由弱到强依次是语句覆...

2020-05-07 15:51:26 1806

原创 白盒测试的几种方法详解

1、语句覆盖:可执行语句至少被执行依次2、判断覆盖:每个判断的取真分支和取假分支至少经历依次3、条件覆盖:每个条件的取值至少满足一次4、判断条件覆盖:判断和条件都满足5、条件组合覆盖:每个条件的所有可能都至少出现一次,并且判定结果至少出现一次6、路径测试:执行所有可能的执行路径7:基本路径测试:路径测试执行了每个路径,每个判定的结果肯定经历一次详细讲解:http...

2020-05-07 15:42:45 4370

原创 性能测试方法详解(验收性能、负载、压力、配置、并发、可靠性、失败恢复)

一、性能测试性能测试时通过自动化测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行,通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况,压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别测试。二、性能测试包括的方法:1、验收...

2020-04-23 17:04:26 3962

原创 响应时间、并发用户具体数据、吞吐量、性能计数器、思考时间详细讲解

1、响应时间:响应时间定义为“用户响应时间”,响应时间可以分解成:页面服务端响应时间可分为网络传输时间(N1+N2+N3+N4)和应用延迟时间(A1+A2+A3),而应用延迟时间又可以分解为数据库延迟时间(A2)和应用服务器延迟时间(A1+A3),对响应时间进行分解,目的更容易定位性能瓶颈(响应时间长,说明是有性能问题,具体问题在哪要在进行分析)。在进行性能测试时,合理的响应时间取...

2020-04-23 16:55:29 3052

原创 前端性能的理解与解答

1、随着web应用开发技术的改变,web应用响应时间的构成越来越复杂,AJAX等大量前端技术的应用使得服务端的响应时间在用户感受到的响应时间中所占的比例越来越小,2、web应用的前端响应时间指浏览器的页面加载时间。浏览器的页面加载时间包括对HTML的解析、对页面上的图片及CSS等文件的获取和加载、客户端脚本(JavaScript)的执行时间以及对页面进行展现所花费的时间,这部分性能体现就...

2020-04-23 16:51:01 920

功能测试框架——测试用例设计框架

一、背景现在从事软件测试的测试人员,应该是分为两种入门软件测试的,一种是通过培训机构,另外一种非培训机构,如,开发、运维、等各种行业转测试的,前几年公司对软件测试的招聘还不是很高,稍微答得出来一点二点的,很容易受到offer,然而,现在行情就不是这样了,面试就问会不会自动化,性能测试,从而忽略了功能方面的测试。现在大部分的测试工作者,在工作中都没有写测试用例,头脑中也没有一个好的设计思路,基于...

2020-04-08 10:05:07 1510

转载 测试计划怎么编写,必有项

1、概述1.1项目标识 项目编号 项目名称 项目类别 ■新建类 □升级类 合作供应商 1.2 目的1.2.1 根据需求列表确认现有功能,保证软件质量1.2.2 验证软件的一致性、稳定性、兼容性、安全性、可靠性、有效性、功能性1.2....

2020-03-20 17:11:52 325

转载 软件测试人员需要懂这些网络知识点

一、网络分类电信网络(电话网)有线电视网络计算机网络(发展最快、信息时代的核心技术)这里重点讲计算机网络二、局域网和广域网1. 局域网(内网)局域网(Local Area Network),简称LAN,是指在某一区域内由多台计算机互联成的计算机租。“某一区域”指的是同一办公室、同一建筑物、同一公司和同一学校等。一般是方圆几千米以内。局域网可以实现文件管理,应用...

2020-03-20 15:34:54 933

转载 web安全性测试用例(输入、输出、SQL注入、跨站请求伪造(CSRF)、跨站脚本攻击(XSS))实实在在的干货

https://www.cnblogs.com/qmfsun/p/3724406.html建立整体的威胁模型,测试溢出漏洞、信息泄漏、错误处理、SQL注入、身份验证和授权错误.1.输入验证客户端验证 服务器端验证(禁用脚本调试,禁用Cookies)1.输入很大的数(如4,294,967,269),输入很小的数(负数)2.输入超长字符,如对输入文字长度有限制,则尝试超过限制...

2020-03-06 16:32:11 6177

原创 前端性能的理解,并不是对服务器进行并发压测(摘要)

影响前端性能的问题,主要还是浏览器页面的加载时间,而平常说的压力测试,并发测试,主要还是对服务器的性能测试,对前端性能影响比较小(影响还是有的,这个时间可以差不多可以忽略),而这个浏览器的加载时间,浏览器对图片的加载,css文件的加载,JavaScript脚本执行时间等。1、随着web应用开发技术的改变,web应用响应时间的构成越来越复杂,AJAX等大量前端技术的应用使得服务端的响应时间...

2020-03-02 20:51:17 1401 1

原创 jmeter如何测试HTTPS协议?一步一步带你操作,解决疑惑

一、为何jmeter测试https会报错?内网测试全部是http协议,进行接口测试无障碍,但是如果线上环境出现bug,你要排除错误,该如何去排除?后台看日志?测线上接口,大家都知道现在都是https协议,当你进行接口测试时,发现他的响应是报错的二、了解http与https的差异这时候就要明白https与http有什么差别,有什么不同,这个可以百度了解,其实https就是在http加...

2020-02-22 14:20:58 7499 2

原创 docker搭建前后端分离项目通过Nginx部署https到外网服务器

一:项目准备:1、安装docker和docker-compose(项目通过docker部署)2、项目在内网能部署成功3、编写好docker-compose文件,进行docker登录二:实施1、docker-compose create;docker-compose start 启动项目2、权限问题:部署完成后,无法连接数据库是因为服务器的端口没有打开(默认3306端口),...

2020-02-19 15:53:29 1003

转载 性能测试基础实战

能测试在软件质量保证中起着重要的作用,它包括的测试内容丰富多样。同一个系统,不同的测试设计及测试过程会导致不同的结果,也会有不同的解读。合理的测试规划与设计是至关重要的。本文重点介绍如何结合用户实际业务特点制定有效的性能测试用例。一、系统业务特点和用户行为分析  用户行为反映了用户对系统的使用模式和应用背景,在性能测试之前,我们首先需要分析用户的使用习惯,确定系统的典型业务及发生时间。分析...

2020-02-14 14:24:35 327

原创 python操作mysql,进行数据插入(插入数据不成功,因为没加commit)

import pymysqlconfig = { 'host': '127.0.0.1', 'user': 'root', 'passwd': '123456', "port": 3306, 'db': 'test_guest', "charset": "utf8"}try: db = pymysql.Connect(**conf...

2019-09-04 16:44:05 4505

原创 Python第三方模块操作MySQL,推荐使用pymysql

使用pymysql#import mysql.connectorimport pymysqlconfig = { 'host': '127.0.0.1', 'user': 'root', 'passwd': '123456', "port": 3306, 'db': 'test_guest', "charset": "utf8"}t...

2019-09-04 16:05:43 417

转载 #!/usr/bin/python3 和 #!/usr/bin/env python3 的差别

重点是推荐使用:#!/usr/bin/env python3在 Python 脚本的第一行经常见到这样的注释:#!/usr/bin/env python3或者#!/usr/bin/python3含义在脚本中, 第一行以 #! 开头的代码, 在计算机行业中叫做 "shebang", 也叫做 sha-bang / hashbang / pound-bang / hash-...

2019-08-22 16:54:45 1822 1

转载 web前端性能指标和SEO优化

浏览器访问优化浏览器请求处理流程如下图:1、减少http请求,合理设置 HTTP缓存http协议是无状态的应用层协议,意味着每次http请求都需要建立通信链路、进行数据传输,而在服务器端,每个http都需要启动独立的线程去处理。这些通信和服务的开销都很昂贵,减少http请求的数目可有效提高访问性能。减少http的主要手段是合并CSS、合并javascript、合并图片。将浏览器一次...

2019-08-22 10:50:10 355

转载 详解Cookie、Session和缓存的关系(转)

1 Cookie和Session Cookie和Session都为了用来保存状态信息,都是保存客户端状态的机制,它们都是为了解决HTTP无状态的问题而所做的努力。 Session可以用Cookie来实现,也可以用URL回写的机制来实现。用Cookie来实现的Session可以认为是对Cookie更高级的应用。1.1两者比较Cookie和Session有以下明显的...

2019-08-22 10:47:17 289

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除