自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)

转载 WEB前端性能分析--工具篇

在线网站类:WebPageTest说明:在线的站点性能评测网站,地址http://www.webpagetest.org/补充:其实这网站也是个开源项目,所以支持自己搭建一个内部的测试站点ShowSlow说明:showslow是yslow的数据收集与展示平台http://www.showslow.com/,它是一个开源的PHP项目,可以用来与firefox的yslow插件、page s

2017-04-26 06:41:49 214

转载 selenium+testng+ant+jenkins 手记

会不会搭建测试平台是一般测试工程师和高级测试工程师分水岭 —-tobecrazy我们项目有现成的测试平台,使用的是selenium grid+testng+ant+jenkins+VM 但是我平时用的是selenium+testng并未体验过使用ant 和jenkins,今天心血来潮尝试使用一下jenkins.Jenkins简介: Jenkins是一个开源框架 Jenkins可执行重复的j

2017-04-26 06:30:19 197

转载 Ant+jmeter+jenkins搭建测试的持续集成

前提: Ant+jmeter 已经搭建完成并成功运行(参看ant+jmeter自动化性能测试)Jenkins在本地已经安装可运行(参看上一篇) 1、下载Jenkins安装  2、浏览器输入地址http://localhost:8080/显示界面,安装成功        3、新建一个任务并配置             构建一个自由风格的软件项目即可。         4、配

2017-04-26 06:27:15 178

转载 selenium+jenkins网页自动化测试的构建

jenkins+selenium可以做到对web自动化的持续集成。 Jenkins的基本操作: 一、新建视图及job新建视图:   新建job:  可以选择构建一个自由风格的软件项目或者复制已有的item  二、准备工作: 安装Jenkins插件,SSH plugin ,Email Extension Plugin ,Hudson Seleniumhq plugin

2017-04-26 06:25:45 526

转载 Jenkins+Maven+SVN快速搭建持续集成环境

Jenkins是一个可扩展的持续集成引擎,Jenkins非常易于安装和配置,简单易用,下面看看我们是如何几分钟就快速搭建一个持续集成环境吧。假设我们目前已经有2个maven项目:entities(JAVA类库),web(Web应用,依赖entities)。一、安装Jenkins地址http://mirrors.jenkins-ci.org/下载适合的Jenkins版本。Windows最新稳定

2017-04-26 06:22:39 191

转载 jenkins邮件配置

jenkins自带的邮件管理太弱了,为了能按自定义的方式发送邮件,需要安装一个插件: Jenkins Email Extension Plugin。1.配置邮件:通过“系统管理”-“系统设置”,进行系统设置界面,上面的内容在“使用Jenkins配置自动化构建”中已经讲过,直接移动到设置页面的最下面,“邮件通知”部分,设置上“stmp服务器“和”用户默认邮件后缀“,如图:如果成功安装了Jenkins

2017-04-26 06:20:37 246

转载 使用Jenkins配置自动化构建

持续集成是个简单重复劳动,人来操作费时费力,使用自动化构建工具完成是最好不过的了。为了实现这个要求,我选择了Jenkins。从http://mirrors.jenkins-ci.org/windows/latest下载windows下的最新安装版jenkins。(如果不能安装,从http://mirrors.jenkins-ci.org/war/latest/jenkins.war下载war包,

2017-04-26 06:19:11 190

转载 Dagger学习之一步一步搭建简单的自动化测试平台(Selenium+TestNG+Ant+Jenkins)

Dagger(中文含义为“匕首”)是基于Selenium2和TestNG的一个轻量级开源框架,主要对各种web操作进行了封装,并使用TestNG作为测试框架。为实现web端的UI自动化,本文将整理基于Dagger框架的自动化测试平台搭建过程。       本文Dagger方面的内容,主要参考了陈侃同学的代码和文档,其他内容参考了一些技术博客,接下来会在文中标明。在此感谢各位大神们的分享~

2017-04-19 17:12:59 1224

转载 我的自动化测试历程(Selenium+TestNG+Java+ReportNG+Jenkins)

测试环境:Java+Selenium+TestNG,Jenkins持续集成。 测试代码代码结构采用页面对象模型(Page Object),减少UI修改后,对代码的影响。 Java编写,采用TestNG测试框架。 先说点概念的: Selenium Selenium是一套完整的Web应用程序测试系统,它包含了测试的录制(Selenium IDE)、编写及运行(Selenium Remot

2017-04-19 17:09:05 949

转载 自动化测试面试2

目前市场上 自动化测试职位开放了很多很多 几乎每个公司都会这样发布招聘信息,但是我们理解的自动化测试,是不是用人单位理解的自动化测试呢。好似与雷军理解的黑科技一样。我们在招聘自动化测试职位的时候,又是如何面试这个岗位的人呢,如果用简单10几个问题全面考察并确定人是否胜任呢?早上我花了20分钟写了一个筛选的脚本,请大家批评不准确的地方,我们一起来完善这个脚本。《常规问题》1、如何快速深入的了解移动互

2017-04-19 16:59:05 1392

转载 selenium 自动化测试面试1

1、selenium中如何判断元素是否存在?- isElementPresent 2、selenium中hidden或者是display = none的元素是否可以定位到?- 不能 3、selenium中如何保证操作元素的成功率?也就是说如何保证我点击的元素一定是可以点击的?- 添加元素智能等待时间 driver.implicitly_wait(30)- try 方式进行 id,na

2017-04-19 16:53:23 534

转载 注意java代码的内存泄漏

对于有语言编译基础的同志,要注意了.如果你是刚学Java的.那么下面你必须要看.当然本人也是一样.也会出现下面某些错误.所以本人总结了一些.当然都是个人看法.不代表就是对的.也许有些是错的.同时也希望熟悉JAVA的高高手指出.或者有更好的看法或建议.都可以和我沟通.大家一齐来学习.同时这也是对自己的一种提高.在项目应用中.往往都是面临复杂的业务.而且用户量增加.内存使用自然就会增大.还有HTT

2017-04-19 07:35:38 179

转载 JVM调优实战6

参数设置 在Java虚拟机的参数中,有3种表示方法  用“ps -ef |grep “java”命令,可以得到当前Java进程的所有启动参数和配置参数: 标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容; 非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容; 非Stable参数(-XX),此类参数各个jvm实现会有所不同,

2017-04-14 09:18:06 552

转载 JVM调优实战5

堆内存设置原理JVM堆内存分为2块:Permanent Space 和 Heap Space。Permanent 即 持久代(Permanent Generation),主要存放的是Java类定义信息,与垃圾收集器要收集的Java对象关系不大。Heap = { Old + NEW = {Eden, from, to} },Old 即 年老代(Old Generation),New 即 年轻代(You

2017-04-14 09:11:40 235

转载 jvm调优实战4

总结内存多占1G左右,CPU利用率没有明显变化,但随着CMS收集抖动,最高达40%,CPU load平均高出1.0左右。几乎0停顿,相比于之前每隔5分钟应用停顿3-4s,调优后的应用几乎没有停顿时间,每次”stop the world”由youngGC引起,最高也不过200+ms。GC总时间开销显著减小20%多,吞吐量显著提升。应用超过500ms的请求响应时间减少3%(一小时的观察,可能带有偶

2017-04-14 09:09:15 210

转载 JVM调优实战3

目录1    理论篇    1 1.1    多功能养鱼塘-JVM内存    11.2    池塘中的鱼-程序中的对象    21.3    养殖区域划分-JVM中的代    21.4    主人定期捕鱼-JVM垃圾回收    41.5    不同的捕鱼方式-垃圾回收器    51.6    捕鱼工具选择-JVM参数    72    实战篇    162.1    测试目的

2017-04-14 09:06:55 481

转载 JVM性能调优实战2

如何在高性能服务器上进行JVM调优?为了充分利用高性能服务器的硬件资源,有两种JVM调优方案,它们都有各自的优缺点,需要根据具体的情况进行选择。1. 采用64位操作系统,并为JVM分配大内存我们知道,如果JVM中堆内存太小,那么就会频繁地发生垃圾回收,而垃圾回收都会伴随不同程度的程序停顿,因此,如果扩大堆内存的话可以减少垃圾回收的频率,从而避免程序的停顿。因此,人们自然而然想到扩大内存容量。而32位

2017-04-14 09:01:16 260

转载 JVM 性能调优实战1:一次系统性能瓶颈的寻找过程

玩过性能优化的朋友都清楚,性能优化的关键并不在于怎么进行优化,而在于怎么找到当前系统的性能瓶颈。性能优化分为好几个层次,比如系统层次、算法层次、代码层次…JVM 的性能优化被认为是底层优化,门槛较高,精通这种技能的人比较少。笔者呆过几家技术力量不算弱的公司,每个公司内部真正能够进行 JVM 性能调优的人寥寥无几、甚至没有。如是乎,能够有效通过 JVM 调优提升系统性能的人往往被人们冠以”大牛”、”

2017-04-14 08:44:16 319

转载 Tomcat 优化方案 和 配置详解

目录(?)[-]ServicexmlTomcat性能优化方案整理设置TOMCAT启用GZIP压缩Service.xmlServer.xml配置文件用于对整个容器进行相关的配置。<Server>元素:是整个配置文件的根元素。表示整个Catalina容器。属性:className:实现了org.apache.catalina.Server接口的类名,标准实现类是org.apache.cata

2017-04-14 08:23:54 254

转载 Jmeter测试Java

目的:对Java程序进行测试 目录一、核心步骤二、实例三、JMeter Java Sampler介绍四、自带Java Request Sampler 一、核心步骤1.创建一个Java工程;2.将JMeter的lib目录下的jar文件添加进此工程的Build Path;3.创建一个类并实现JavaSamplerClient接口或继承AbstractJavaSamplerClien

2017-04-13 11:37:38 162

转载 Jmeter压测数据库

1、点击测试计划,再点击“浏览”,把JDBC驱动添加进来: 注:JDBC驱动一般的位置在java的安装地址下,路径类似于:    \java\jre\lib\ext        文件为:mysql-connector-java-5.1.39-bin.jar     没有这个文件的话,可以去网上下载,然后放到上面的路径下 2、添加一个线程组,命名为”连接mysql”,设置线程数、启动时间、

2017-04-13 10:41:12 176

原创 Loadrunner编辑脚本一些技巧

1 . 给一个数组中的每个元素分配一个存储空间 char *a[100]; int iter=1; for(i=0;i<iter;i++) { tmp2 = (char *)malloc(1024 * 4 * sizeof(char)); sprintf(tmp2,"{\"waybillId\":\"%s\",\"c

2017-04-12 13:51:30 579

原创 ORACLE数据库一些使用技巧

1 . 根据时间显示每分钟的记录数 oracleselect to_char(les_deal_time,'yyyy-MM-dd HH24:mi'),count(*) from ods_cust_order where source_sn like 'LBC82868563%' and les_deal_flag='7' group by to_char(les_deal_time,'yyyy-

2017-04-12 11:07:45 231

转载 MYSQL调优4-优化sql

1.      Sql语句优化原则优化需要优化的Query定位优化对象性能瓶颈从Explain入手尽可能在索引中完成排序只取自己需要的Column尽可能避免复杂的join和子查询 2.     优化limitselect * from test1 order by id limit 99999,10原语句虽然使用了id索引,但是相当于从第一行定位到99999行再去扫描后10行,相当于

2017-04-12 10:50:08 139

转载 MYSQL调优3-索引

索引上一章我们学习了使用explain来生成一个查询执行计划(QEP),从而发现语句存在的问题。在explain返回的结果中,有三个是和索引有关的(possible key、key、extra),可见索引在改善查询效率上的显著地位。这一章,我们将全方位讲解如何使用索引来优化我们的数据库。1.      索引的作用索引的原理是利用特殊的查找算法(如二叉树算法),限制访问的行数,提高访问效率。

2017-04-12 09:59:50 143

原创 MYSQL优化案例

1、加索引 2、数字类型规范 3、加冗余字段 4、用in、union all 替换or 5、减少模糊查询字段 6、3张表以上SQL拆分 7、硬件扩展 8、其他1.MySQL优化案例-加索引 这个不用列举具体例子了,给大家看下TMS的两张张表,这些都是优化的时候加上的索引, 索引可以解决95%的sql性能问题!2. MySQL优化案例-数字类型规范 数字类型规范基本的有: 1

2017-04-11 17:15:17 202

转载 MYSQL调优2-数据库性能分析Explain命令

上一章我们将了如何发现慢查询并把语句记录到日志中,那么在发现慢查询后,要怎样才能知道语句的问题发生在哪里。本章将介绍怎样使用MySQL提供的数据库性能分析命令,对sql语句进行分析。数据库性能分析Explain命令Explain的作用是生成一个QEP(查询执行计划),可以帮助我们在不真正执行某个sql语句时,就看到mysql怎样执行,这样方便我们去分析sql指令的好坏。执行如下语句Explain

2017-04-11 16:52:07 265

转载 MYSQL调优1-发现慢查询

一、           发现慢查询如何从一个大项目中,迅速的定位执行速度慢的语句,这是本章节将要解决的问题。1.      慢查询的定义怎样的查询才算是慢查询,有没有一个量化的标准呢?慢查询定义       慢查询是指执行时间超过慢查询时间的sql语句。查看慢查询时间的方法[plain] view plain copy print?show variables like ‘long_qu

2017-04-11 15:44:05 283

原创 MySQL几个概念

(1)limit m,n 和 limit m的区别 limit m,n 是[m,m+n]列; limit m是[0,m] (2)驱动表 EXPLAIN 结果中,第一行出现的表就是驱动表(Important!) 对驱动表可以直接排序,对非驱动表(的字段排序)需要对循环查的合并结果(临时表)进行排序 [驱动表] 的定义为: 1)指定了联接条件时,满足查询条件的记录行数少的表为[驱动表]; 2

2017-04-11 09:31:00 185

原创 MYSQL数据库规范-sql

(1)sql语句尽可能简单,一条sql只能在一个cpu运算大语句拆小语句,减少锁时间,一条大sql可以堵死整个库; (2)简单的事务,事务时间尽可能短 【bad case】 分布式事务根据根据接口执行提交事务:超时等造成数据死锁、数据不一致等问题 上传图片事务 – 参考阿里和银行接口 对账 (3)避免使用trig/func 触发器、函数不用 客户端程序取而代之 (4)OR改写为IN()

2017-04-11 09:28:16 193

原创 MYSQL数据库规范-索引

(1)谨慎合理使用索引 改善查询、减慢更新 索引一定不是越多越好(能不加就不加,要加的一定得加) 覆盖记录条数过多不适合建索引,例如“性别” (2)字符字段必须建前缀索引 alter table test.test add key (city(7)); (3)不在索引做列运算 【bad case】 select id where age +1 = 10; (4)innodb主键推荐使用自增

2017-04-11 09:24:22 235

原创 MYSQL数据库规范-字段规范

(1)用好数值类型 tinyint(1Byte) smallint(2Byte) mediumint(3Byte) int(4Byte) bigint(8Byte) 【bad case】int(1)/int(11) (2)字符转化为数字 用int而不是char(15)存储ip (3)优先使用enum或set 例如:sex enum (‘F’,‘M’) (4)避免使用NULL字段 NULL

2017-04-11 09:19:02 263

原创 MYSQL 数据库总体规范

(1)不在数据库做运算:cpu计算务必移至业务层。 (2)控制单表数据量:单表记录控制在1000w。 (3)控制列数量:字段数控制在20以内。 (4)平衡范式与冗余:为提高效率牺牲范式设计,冗余数据。 (5)拒绝3B:拒绝大sql,大事务,大批量。 (6)表、字段、索引等命名规范见如下附件;禁止null字段。 (7)尽量少用view,function,procedure,trigger,

2017-04-11 09:15:13 163

转载 Perfmon - Windows 自带系统监控工具

一、 简述可以用于监视CPU使用率、内存使用率、硬盘读写速度、网络速度等。Perfmon提供了图表化的系统性能实时监视器、性能日志和警报管理,系统的性能日志可定义为二进制文件、文本文件、SQLSERVER表记录等方式,可以很方便地使用第三方工具进行性能分析。perfmon.exe 文件位于C:\Windows\System32目录下。  使用方法:  1)开始 - 运行,输入 perfmon

2017-04-01 12:36:33 2007

原创 JAVA多线程安全

1. AtomicInteger 类 Java 中无锁的线程安全整数 AtomicInteger,一个提供原子操作的Integer的类。在Java语言中,++i和i++操作并不是线程安全的。 static AtomicInteger count=new AtomicInteger(0); public static class AddThread implements R

2017-04-01 11:21:19 208

原创 Idea导入maven项目

1、 打开一个现有的IntelliJ IDEA工程,点击菜单的“File”->“new”->“Module from Existing Sources…”。 2、 在打开的弹框中,选择你的项目的所在路径。注意:一定要选中pom.xml文件才可以。然后点击OK。 3、 在弹框中所有的选项都不用填,直接点击“Next”按钮。 4、 在下一个页面中,选择所有的profile,然后点击

2017-04-01 10:15:30 274

原创 Slf4j使用教程

1 首先在项目中引入slf4j jar包;2 定义日志变量; public final static Log log = LogFactory.getLog(Config.class); 3 日志系统配置说明 3.1 输出级别的种类 • ERROR 为严重错误 主要是程序的错误 • WARN 为一般警告,比如session丢失 • INFO 为一般要显示的信息,比如登

2017-04-01 09:44:48 995

转载 Log4j使用教程

<p> 日志是应用软件中不可缺少的部分,Apache的开源项目<span class="wp_keywordlink"><a href="http://www.codeceo.com/article/log4j-usage.html" title="log4j" target="_blank">log4j</a></span>是一个功能强大的日志组件,提供方便的日志记录。在apache网站:<a h

2017-04-01 08:55:52 296

转载 jvm调优浅谈

JVM调优浅谈  1.数据类型    java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:它代表的值就是数值本身,而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。    基本类型包括:byte、short、in

2017-03-27 19:56:36 164

转载 Linux下Redis的安装和部署

一、Redis介绍Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统。和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多,包括string、list、set、zset和hash。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作。在此基础上,Redis支持各种不同方式的排序。 和Me

2017-03-27 15:18:27 379

空空如也

空空如也

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