- 博客(27)
- 资源 (13)
- 收藏
- 关注
原创 针对Jmeter用java做二次开发支持多人并发运行
背景:本次是为了支持多人同时运行,互补干扰的场景为了满足这个场景需要解决一系列问题1、什么机制支持多人同时运行?为了获取答案,尝试了很多方式第一个方式:2个独立jmeter客户端分别运行场景:在同一个服务器上安装2个jmeter,当触发2个测试计划时分别执行2个不同的jmeter。结论:当运行2个测试计划时,jtl报告虽然会生成2个独立的测试报告,但依旧以最后执行完的时间点同时生成2个测试报告,实际上依旧没有做到互补干扰。第二个方式:1个master客户端,2个不同服务器上的远程server
2020-07-19 14:21:44 972
原创 【基于jemter的二次开发-java Request请求】压测平台解决方案
通常,我们只是使用jemter的GUI做压测,如果希望将jemter作为底层驱动,做一个压测平台时,需要通过java代码调用jemter,同时采集器使用java Request,当然还支持其他的采集器,比如http。我们这里只讲解使用到的一些组件。而其他组件可以到Jmeter的官网了解(https://jmeter.apache.org/),在Jmeter下每个组件都是节点的方式进行配置。如我...
2019-08-09 15:05:26 686
原创 Jenkins+maven+testng,实现通过Jenkins传参给testNG
最近尝试了通过jenkins构建,通过执行testNG的XML文件调用测试类,并将外部参数传递给testNG,过程比较简单。 一、配置maven 配置2项,一个是要执行的xml文件,变量名xmlFileName,一个是要传递的参数cookie。<build> <plugins> <plugi...
2019-05-22 14:40:34 3397
原创 基于testNG的监听器-IMethodInterceptor,动态加载@Test的注释
通常testNG最常使用的方法就是@Test,@Test有一些常用的注释。比如我们需要控制不同的方法的执行顺序或者依赖关系,通常会使用priority,或者要控制一个类里某些@Test暂时不运行,会使用enabled。这些注释一般都写在代码里,如果我们需要动态修改@Test方法的优先级或者依赖关系等属性,需要用到监听器IMethodInterceptor。1、创建监听器2、创建表存储需要动...
2019-05-22 14:14:13 1060
原创 基于testNG的通用数据驱动-DataProvider
上一篇有提过可以通过DataProvider做数据驱动,通过@Test(dataProvider = "abc"),@DataProvider(name = "abc")来获取指定的测试数据,在缺点是测试数据需要保存在代码中,如果想从外部获取参数,需要一个通用的数据驱动。 DataProvider提供了一个方法,DataProvider(Method m),通过入参传入的方法...
2019-05-22 11:46:15 902 1
原创 基于testNG的数据驱动测试的自动化测试实践(一)
历时4个月,从搭建测试框架到给全员培训,再到最终团队内落地,最终效果是整个团队QA测试阶段效率提升60%多。既然有数据就有衡量标准,统计了近2个月的开发阶段/测试阶段的耗时比,比如自动化前,开发阶段/测试阶段耗时比2:1,如今达到5.3:1,简单说开发5人天,测试原来花费2.5人天,现在花费1人天,当然这是平均值。这不仅是单单自动化测试框架的搭建,还需要配合管理手段,如何将自动化测试不单单用于回归...
2019-01-04 19:14:37 2234 1
原创 Java问题定位之Java线程堆栈分析
采用Java开发的大型应用系统越来越大,越来越复杂,很多系统集成在一起,整个系统看起来像个黑盒子。系统运行遭遇问题(系统停止响应,运行越来越慢,或者性能底下,甚至系统宕掉),如何速度命中问题的根本原因是我们接下来讲的目的。本系列文章将Java问题定位的方法体系化,提供一种以黑盒子方式进行问题定位的思路:如何使用线程堆栈进行性能瓶颈分析?如何分析内存泄漏?如何分析系统挂死?文章思路总
2016-11-22 16:14:51 24391 3
原创 线程调度
上一篇文章是初步了解多线程,以及多线程的java实现,现在我们围绕线程状态的关系图,分析线程状态间的调度。isalive()判断线程是否启动package thread;/** * * 判断线程是否启动 * @author shangwei * */public class isalive implements Runnable{ @Over
2016-11-16 10:48:31 637
原创 Java问题定位之如何借助线程堆栈进行问题分析
在大型的应用中,线程堆栈打印出来特别多,如何从众多的信息中找到真正有用,有价值的信息,需要一定的技巧。本文对此详细介绍。我们可以从三个方面分析:堆栈的局部信息,一次堆栈的统计信息,多个堆栈的对比信息。从一次的堆栈信息中,我们可以直接获取以下信息:每一个线程的调用关系,当前线程在调用哪些函数每个线程的当前状态,持有那些锁,在等待那些锁? 从一次堆栈信息中,我们还可以统计以
2016-11-23 12:08:23 2255 1
原创 带你走进多线程的世界(多线程实现方式)
做性能测试的同学使用最多的就是LoadRunner和Jemter工具了吧,能够使用洪荒之力模拟多用户同时请求服务器,来观察服务器端的负载情况并定位性能瓶颈,听上去挺高大上的。无论任何性能工具,核心原理都离不开多线程。如何实现多线程?如何定位异常状态的线程找到性能瓶颈呢?别急,开始我们的多线程之旅吧~什么是多线程?举个简单的例子,比如你去一家餐馆吃饭,餐馆只有一个服务员,那么这个服务员给你点
2016-08-29 17:36:19 5135 2
原创 性能测试java协议使用httpclient方法引发的思考
最近手上在进行一个性能测试项目,脚本是java vuser 协议使用httpclient模拟http请求。并发用户数只有40个,但是服务器端启动的线程出现了400多个.我把线程的堆栈信息打印出来查看,发现大量的TIMED_WAITIND等待状态的线程。"http-bio-8058-exec-210" daemon prio=10 tid=0x00007f72a805c800 nid=0x404
2016-08-02 18:38:08 8854 1
原创 zabbix 安装和部署
1、Zabbix Server 需运行在 LAMP 或者 lnmp 环境下,环境部署比较简单,按照网站源码安装http://blog.csdn.net/stuartjing/article/details/8124491/2、下载 zabbixhttp://download.chinaunix.net/download/0013000/12201.shtml3、数据库创建并导入
2016-06-15 19:39:39 528
原创 jdk自带监控工具整理-jstat
性能测试过程中,我们该如何监控java虚拟机内存的使用情况,用以判断JVM是否存在内存问题呢?如何判断JVM垃圾回收是否正常?一般的top指令基本上满足不了这样的需求,因为它主要监控的是总体的系统资源,很难定位到java应用程序。在项目实践过程中,我们探索和使用了一款新工具--Jstat。 先秀一下。Jstat是JDK自带的一个轻量级小工具。全称“Java Virtual Mac
2016-06-15 19:34:03 1720
原创 jdk自带监控工具整理-jstack
jstack用于打印出给定的Java进程ID或core file或远程调试服务的Java堆栈信息,如果是在64位机器上,需要指定选项"-J-d64",Windows的jstack使用方式只支持以下的这种方式:jstack [-l] pid如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和native stack的信息,从而可以
2016-06-15 19:30:45 3258
原创 crucible3.x +fisheye3.x 安装和破解
破解文件下载路径:说明fecru = crucible +fisheye1、下载fecru3.6.2(linux)版本,(这⾥里以3.6.2为例)2、执⾏行bin目录下,start.sh ⽂件,启动服务3、打开http://x.x.x.x:8060/ 看到注册码⻚面,选择第二个,存在的注册码4、将crucible 3.6.2/lib/atlassian-extras-2.5.j
2015-11-24 22:29:02 5255 1
原创 mongo集群常用维护命令
在上一篇blog中,大概把集群搭建起来了。在这片文章主要是讲在集群搭建之后,操作的常见命令。首先连接路由节点./mongo 172.17.253.217:30000/wallet1、让数据库支持分片 mongos> db.runCommand({enablesharding:"wallet"}){ "ok" : 1 }通过执行以上命令,可以让数据库跨shar
2014-02-16 19:46:38 3552
原创 Mongodb集群部署---Replica Set+Sharding
网上关于三种集群方式的搭建方式很多,都是分开来介绍的。Replica Set (复制集成)主要是做主从库的,但是没法实现负载均衡的效果,真正实现这个的,是Sharding(分片集群),通过数据分布在每个分片上而实现。所以,如果只用分片,如果一个只有一个主库,那么挂了就真的挂了。所以在我尝试的集群部署采用的Replica Set+Sharding的方式。OS是Redhat_x64系统,客户端用的是J
2014-02-14 16:02:57 2291
原创 sql对应mongodb的写法
参考自官网http://docs.mongodb.org/manual/reference/sql-comparison/InsertThe following table presents the various SQL statements related toinserting records into tables and the corresponding MongoDB s
2014-02-09 18:05:00 2696
原创 如何在LoadRunner中监控Oracle数据库
使用LR自带的监控引擎,在LR的controller上安装oracle客户端:这一步就不用说了,安装直接Setup,安装就OK了。 1、使用LR自带的监控引擎 在LR的controller上安装oracle客户端: 这一步就不用说了,安装直接Setup,安装就OK了。 1)安装完后,先配置一下NetConfiguration Assistant。记住配置
2013-12-26 16:53:06 1872
原创 多表关联实现左连接
表A,表B,表C,表D,ABC实现关联,并C与D实现左连接select * from A,B,C left join D on C.id=D.id例子:select * from(select distinct pcc.PAY_CHANNEL_ID, z.IDENTITY_ID, x.API_TYPE, z.CREATE_TIME,Z.LAST_UPDATE_TIME,
2013-12-26 16:36:09 2153 1
原创 linux 下使用 tc 模拟网络延迟和丢包
1 模拟延迟传输简介netem 与 tc: netem 是 Linux 2.6 及以上内核版本提供的一个网络模拟功能模块。该功能模块可以用来在性能良好的局域网中,模拟出复杂的互联网传输性能,诸如低带宽、传输延迟、丢包等等情况。使用 Linux 2.6 (或以上) 版本内核的很多发行版 Linux 都开启了该内核功能,比如 Fedora、Ubuntu、Redhat、OpenSuse、CentOS
2013-12-26 10:37:24 32907 1
原创 在tomcat日志里打印memcache日志,并实现session共享
在tomcat的conf目录下的context.xml文件中添加<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager" memcachedNodes="n1:172.17.253.216:11211" requestUriIg
2013-12-18 18:18:03 1310
原创 httpclient4 发送http请求的get和post用法
package http;public class BasicParameter { private String name; private String value; public BasicParameter(String name,String value){ this.name = name; this.value = value; } p
2013-11-11 16:54:09 2329
原创 python实现aes加密解密,RSA签名和验签,RSA加密解密,并调用接口
最近工作需要,用python实现调用接口的示例代码,过程涉及到很多的加密算法,值得分享一下。首先公钥和私钥如何生成,并且能兼容java平台,尝试了很多方法。最终决定用openssl命令前提,需要安装openssl,Crypto库生成公钥私钥对过程:生成私钥:openssl genrsa -out rsa_private_key.pem 1024 根据私钥生成公钥: op
2013-06-17 16:18:08 12103
原创 性能测试分享---java vuser协议(2)---LoadRunner篇
之前写了一篇jemter的性能测试工具的使用,但是LoadRunner才算是真正重量级的性能测试工具,下面详细介绍一下java vuser协议的使用和环境参数调试。LoadRunner性能测试工具使用:1、新建脚本,选择java vuser协议。初步结构是import lrapi.lr;public class Actions{//在init方法里面编写一个虚拟用户循环只执
2013-05-17 17:26:26 2885
原创 性能测试分享---java协议(1)------jemter篇
这周尝试了一把性能测试,之前都是测试网站的性能测试,java接口的性能测试还是头一次,学到了很多,特此分享一下。主要用到了两个性能测试工具,一个是jmeter,一个是LoadRunner。使用jmeter的测试方法:1、下载jemeter的linux版本的,下载的文件里包含了两个jar包,一个是ApacheJMeter_core.jar,ApacheJMter_java.jar。分别把
2013-05-17 17:19:25 2164
转载 Selenium源码分析之WebDriver
文章来源:http://blog.csdn.net/ant_yan/article/details/7970793最近比较空闲就仔细看了一下Selenium的源码,因为主要是使用WebDriver所以重点关注了一下WebDriver的工作原理。在前一篇blog里已经解释过了WebDriver与之前Selenium的JS注入实现不同,直接利用了浏览器native support来操作浏览器。
2013-01-31 09:25:37 606
commons-httpclient.jar
2012-11-23
QC用例缺陷导出工具Import Export Tool for Quality Center
2012-11-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人