自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Larmy

软件产品研发、软件质量经济学、软件效率提升与改进、软件技术研究与传播、软件产品资讯和动态发布

  • 博客(44)
  • 资源 (3)
  • 收藏
  • 关注

原创 深入理解性能测试中的压力测试

系统过载是任何一个商业应用系统提供服务的过程中随时都可能面对的问题,凡事预则立,不预则废,了解系统过载的临界点并预置有效的过载保护措施,是对一个商业应用系统正常运转的基本要求。 压力测试是对商业应用系统在服务前进行过载应用能力测试和验证过载保护措施的有效手段。

2017-04-18 10:15:09 2253

转载 构建企业级自动化压力测试平台

构建企业级自动化压力测试平台,一方面能够减少测试工程师花费在测试准备和重复性工作上的时间,另一方面能让测试工程师从繁复的低价值工作中解放出来,专注于发现性能问题。

2017-04-06 12:42:20 1577

原创 高效软件交付技术专家社区开通了!

软件自动化测试、性能测试、敏捷测试、持续集成技术专家深度交流、应用案例分享。

2017-03-30 19:47:52 603

转载 如何在性能测试中自动生成并获取Oracle AWR报告

通过工具自动获取Oracle awr测试报告

2017-03-29 11:21:28 792

原创 了解Grinder进程处理模型

Grinder是一个基于Java的分布式负载测试框架。整个框架由3种不同的进程模型组成:工作进程、代理进程和控制台。

2017-01-22 22:50:23 980

原创 首款提供免费自动更新的专业软件性能测试工具

HyperPacer3.2版本于8月22日正式发布,该版本除了进行大量的功能强化和性能改进外,同时提供了软件自动更新机制。每次用户启动工具后,不但可以向用户推介有价值的技术资源和经验分享,如果检测到新版本,还会询问用户是否更新到最新版本。用户遇到的任何问题,只要是工具技术层面能够解决的,都支持快速开发后快速发布,用户快速获得更新。有些小的需求或问题,用户反馈后,可能喝杯水的功夫,就获得

2016-08-29 21:06:09 515 2

原创 正确理解性能测试中的负载测试

虽然生产环境中应用系统负载的变化呈现随机性,难以用量化模型去准确评估,但是在部署到生产环境前,往往需要对应用系统的负载处理能力有量化的评估数据,用于预测应用系统上线后可能出现的性能风险。负载测试场景正是一种对应用系统负载处理能力量化评估的模型,通过假定应用系统负载呈现规律性的线性增长,来确定应用系统在特定软硬件环境下的最佳处理性能。

2016-07-22 14:16:06 3474 1

原创 HyperPacer之一键式分析报告

还在为该收集哪些性能数据犯愁吗?还在等测试结束后才分析全量数据吗?还在等下班后才运行测试吗?当然不能了,世界很美好,我想多花点时间出去走走。新版本内置了通用的性能指标趋势分析和汇总分析器,一键切换到概要分析视图,一键切换到明细分析视图,所有分析基于全量数据实时计算生成,还支持一键导出成测试报告,测试任务也可以设置成计划任务,你想让它什么时间自动运行,它就什么时间自动运行。

2016-07-18 14:50:53 712

原创 HyperPacer目标即场景

领导或客户只给了个大体目标和范围,没文档没方案,时间紧任务重,没空写测试方案,口述也一时半会解释不清楚,愁死个人了。新版本提供全新设计的丰富多样的测试场景,基于目标导向设计,一类目标对应一类场景,总有一款满足你。打开场景配置界面就是测试场景设计,完善场景树就是一个完整的测试流程,还写啥文档,废什么话,直接演示给你的领导或客户看,有意见当面改,一次性沟通到位。

2016-07-18 14:48:10 539

原创 HyperPacer之获取产品帮助不求人

我是没经验、没技术的菜鸟,想快速入门,有没有捷径?捷径没有,样例有一个,新建一个样例工程,看看一个基本的测试应该怎么做,试着修改运行下,先摸熟基本套路还是可以的。我是刚入行的新手,不太明白界面上有些标签或表单的含义,怎么破?很简单,鼠标在对应的标签上保持悬停状态,即显示对应标签的详细解释。如果你觉得解释的不够明白或者发现有些标签或表单缺少提示,直接在技术群内向任意一名群主反馈意见,保证不会爱答不理。

2016-07-18 14:45:30 1074

原创 HyperPacer并发测试

并发测试场景设计用来对应用程序中多用户使用频次较高的单一功能模块,进行并行处理能力的技术性测试。通过并发测试,可以确定功能模块在特定软硬件环境下能够支撑的最大并发用户数、对比不同并发用户数下的用户响应时间变化、发现程序在并行设计上可能存在的设计缺陷。

2016-07-15 22:36:01 4457

原创 性能测试工程师职业现状分析

该报告汇总统计了包括猎聘、拉勾、智联、前程无忧、58同城、中华英才网等主流招聘网站近一周(2016.5.25-2016.6.01)发布的性能测试工程师的招聘信息,主要从对性能测试工程师的技能要求、岗位职责、薪酬待遇、工作经验要求等角度进行统计抽样,以便对性能测试工程师的职业现状做个概要分析。        该调查一共统计了全国近300家公司的招聘信息,收集数据时对于一些软性要求,如要有

2016-06-03 10:27:46 4729

原创 动态网页性能测试必备基础之熟悉Http Session

任何一个学习过计算机基础的人,都应该知道HTTP是无状态的。HTTP最早是伴随静态网页诞生的,所以对于静态网页来说,也不需要有状态。但是在互联网时代,讲究用户动态交互和数据隐私,基本上所有网络应用程序,都是需要强会话状态控制的,Http Session是广泛使用的会话状态控制技术。        为了让门外汉们(如果你不是,请直接略过此段)更好的理解Http Session,举例来说明。一

2016-04-29 12:32:10 945

原创 新特性预览之数据池与参数泵

软件测试过程中,测试数据的设计至关重要,这直接关系着测试覆盖率和测试质量。自动化测试(包括功能、性能)中,测试代码和测试数据分离已经成为广泛认知的设计实践。通过代码和数据的分离,可以在不影响测试脚本的情况下修改测试数据;可以通过修改数据而不是测试脚本来添加新的测试用例;可以在多个测试脚本之家共享测试数据等。这样不但提高了代码的复用性,也提高了数据的共享性,通过代码和数据的灵活组合,能自动实现更高的

2016-04-28 17:29:26 590

原创 不为测试而测试

在传统的基于软件工程思想的开发模式中,软件测试往往是个专门的角色或工种,比如很多公司都有专门的测试工程师的岗位,有专门的测试管理人员或职能部门管理,测试人员发展成为一个独立的群体。长此以往,很容易出现的结果就是测试人员只是个测试人员,不光很多测试人员自己这么认为,其它角色也开始这么认为,再加上公司一些奇葩的KPI制度、部门隔阂和利益瓜葛,很容易出现只为测试而测试的情况,想想也是大公司病之一啊。事实

2016-04-27 17:48:06 1758

原创 如何克服录制回放模式的弊端

Web浏览器的可视化界面及交互操作屏蔽了与服务器端交互的请求响应的复杂性。例如,我们随便打开一个网页或者触发一次交互操作,就可能在后端触发了成百上千的HTTP请求响应的处理,这些过程对使用者来说是不可见的,也是不需要关心的。但是对于开发者和测试者来说,在性能诊断和优化工作中,我们不得不揭开这层黑幕,剖析和跟踪每个请求响应的状态和数据,去淡然面对这种复杂性。        在基于请求响应

2016-04-25 16:59:13 1699

原创 HyperPacer 中的项目管理设计

实际的测试工作中,测试人员经常需要面对多个测试项目,或者一个测试项目的多个分支,能将这些测试任务统一集成管理,能够给测试工作带来很多便利。        HyperPacer支持多项目管理,对应产品中的工程管理模块,可以在工程管理中创建和管理多个测试项目,且每次只能激活一个当前工作项目,每个测试项目可以创建多个测试工程,支持测试人员将测试任务统一集成管理。       Hy

2016-04-22 11:36:48 721

原创 巧妙使用快照浏览器进行脚本调试

快照浏览器是HyperPacer中收集和分析测试脚本执行过程中明细数据的监听器,能够收集和记录作用域内每个取样器的请求和响应的明细数据,以及相关性能统计分析数据。使用快照浏览器可以:查看和分析每个取样器的请求数据包详细内容,确定生成的请求数据包内容的正确性;对比分析每个取样器回放和录制快照的差异,以确定动态变化数据,进行参数化;查看每个事务或取样器的性能统计数据,包括加载时间、延迟时间、数

2016-04-21 17:36:53 1206

原创 HyperPacer脚本录制原理及常见问题解决

HyperPacer脚本录制是通过在运行机器上启动一个Http代理服务器,让被录制应用程序通过该代理服务器进行网络传输,HyperPacer脚本录制器会拦截通过代理服务器的所有请求响应数据,来自动生成测试脚本。注意是拦截所有通过代理服务器的请求响应,可能在录制脚本的过程中存在其它程序不可见的网络访问,如果不希望录制在脚本中,就需要在录制配置中进行过滤设置,以保证录制的脚本中的请求都是期望的被测系统

2016-04-18 12:20:57 3415

原创 HyperPacer MacOS版使用攻略

可以在MacOS上运行的性能和自动化测试工具。

2016-04-15 15:07:45 1820 1

原创 HyperPacer运行时内存配置与优化

HyperPacer采用Java JVM做为运行时引擎,运行版本要求Oracle JDK1.7.x及其以上版本,默认配置文件为HyperPacer.ini(Windows和Linux在程序文件根目录下,MacOS上比较特殊,在Contents\MacOS目录下),其中已经内置了常见优化参数及其默认值,一般在开发调试脚本过程中不需要修改,运行大并发测试时用户只需要修改-Xms和-Xmx即可。

2016-04-15 13:36:34 1305

原创 Elasticsearch2.3.1中文分词ik插件安装

ik插件下载地址:https://github.com/medcl/elasticsearch-analysis-ik下载后首先用maven进行编译:cd elasticsearch-analysis-ikmvn cleanmvn compilemvn package编译完成后到elasticsearch-analysis-ik/target/releases目录下找到

2016-04-13 14:44:20 1336

原创 加密传输的互联网应用系统性能测试

大多数运行在互联网上的系统,在用户浏览器和服务器数据交互过程中,对传输的敏感数据通过加密通道(如https)或者对数据进行加密编码后发送给服务器,这种处理保证了数据的安全性,但是给性能测试增加了难度。因为一般测试工具是通过录制生成测试脚本的,录制过程中拦截到的请求数据是浏览器已经加密编码过的,对测试人员来说是不可识别和加工的,那么就无法模拟更真实的压力测试。        解决办法是在录制过程

2016-04-08 16:19:43 1210

原创 JVM中Groovy脚本并行运行性能优化

当JVM中运行的Groovy脚本存在大量并发时,如果按照默认的策略,每次运行都会重新编译脚本,调用类加载器进行类加载。不断重新编译脚本会增加JVM内存中的CodeCache和PermGen,引发内存效率问题;类加载过程中存在同步,同时很多线程进行类加载会造成大量线程阻塞,那么效率问题就显而易见了。       为了解决效率问题,最好的策略是对编译后的Groovy脚本进行缓存,避免重复编译和类加

2016-04-05 14:16:15 7316

原创 敏捷开发中如何持续集成和优化软件性能

敏捷开发中快速进行版本迭代和发布,已经成为大多数敏捷团队的工作常态。同时,保证每个版本软件功能运行性能不下降也是其基本目标,但是由于团队资源不足或者测试成本过高等原因,对于多数团队来说这一基本目标也只是美好的愿景。        其实,做到这一点也不难,对于核心代码建立单元级别的自动化性能测试,对于核心业务流程建立Web应用级别的自动化性能测试,在每次代码集成或发布的时候由构建系统自动运行测试

2016-03-24 15:39:06 1438

原创 初创团队如何保障软件应用产品的性能质量

对于大多数初创团队来说,资源有限,资金有限,技术有限,时间更有限,当务之急是最快的速度实现产品核心功能,发布到市场,获取用户,抢占市场至高点。对于产品质量的要求更多的偏重于功能正确性和操作流畅性,在产品获得用户认可,取得初步成功时才有可能获取更多的资源,增加产品研发运营投入。为了降低研发成本,加速研发效率,初创团队应该尽可能的选择成熟的、稳定可靠的技术框架,在开发过程中加强产品功能的自测,保证

2016-03-21 17:44:59 777

原创 性能管理实施前后有哪些区别

不管是企业用户还是软件供应商,都有个公共目标:取得(业务、技术、产品、销售、事业)成功,更少的资源做更多的事情。在实现目标的道路上,不同角色采取的策略不同,结果可能也不同,以实施全面性能管理前后对比为例进行阐释:管理者:实施前:主观的认为项目肯定能按期交工,如约履行项目合同,找不到悲观的理由,结果是项目做的坎坎坷坷,历经波折,感觉不会再爱了实施后:熟知关键风险点,注重提高资源利

2016-03-18 11:35:53 617

原创 性能管理之我见

随着互联网的大众化以及Web应用软件向互联互通方向的拓展,随便一个Web应用几乎都伴随着大数据量处理或者高并发访问,动辄几十万用户量或者几百G数据量,都已经是稀松平常的事了。大数据量和高并发访问的特点给Web应用软件带来了更多的性能问题,性能问题已经成为决定Web应用成败的关键风险,所以有效的性能管理对消除性能风险至关重要。传统模式下,性能问题的解决往往涉及诸多角色协同和应对多种陌生的技术

2016-03-17 15:10:26 590

翻译 java.lang.VerifyError: Bad <init> method call from inside of a branch

运行Groovy脚本时,控制台报:java.lang.VerifyError: Bad method call from inside of a branch问题原因:缺陷缺陷编号:GROOVY-6951,JDK-8051012已知存在缺陷JVM版本: 1.7.0 update 551.7.0 update 651.7.0 update 671.8.0 upd

2016-03-11 10:47:11 1981

原创 性能测试体系之测试理论和方法

软件需求可以分为功能性需求和非功能性需求,功能性需求往往是很明确的,功能测试更多的是关注与需求的符合度。性能属于非功能性需求,往往很模糊而且在项目初期被忽视。性能测试的目标和标准很难单方面去统一,不同层级有不同的认识和要求。ITIL是性能测试的基础,业务活动是性能测试的核心。从业务活动抽象出业务模型,形成控制流程,从ITIL结合系统实现形成系统架构,不同构件之间的数据交互和统计形成

2016-03-09 09:44:02 2406

原创 性能测试体系之性能管理能力成熟度

结合软件能力成熟度模型,我们可以将性能管理(设计、开发、测试)能力归结为四个阶段:初始级、定义级、集成级、优化级。此分类适用于评价组织能力,也适用于评价组织内部的项目团队能力。

2016-03-04 15:43:26 588

原创 性能测试体系概述

性能测试是对系统整体处理能力进行验证、度量、评价和确认的过程,整体处理能力包括可承受的负载、资源的消耗、用户体验以及可靠性等。全面的性能测试不光贯穿软件开发的整个过程,还包括系统上线后的运维、升级过程。性能测试的主要目的是预防和预测性能风险,而不是保证性能质量,性能质量的保证要靠各种资源和人员的有效配合和协同。有效的性能测试是在资源投入、用户体验等方面达到一种平衡,所以要有精确有效的度量。性能

2016-03-04 15:41:14 916

原创 Jmeter Http并发测试中,可能出现部分线程陷入无限循环

现象:并发量比较大,服务端响应异常等情况下,脚本运行结束后,部分用户线程陷入无限循环,无法自动终止原因:HTTPSamplerBase类中执行readResponse方法时,读取inputStream时,可能出现空指针异常,未进行异常处理,导致无法跳出while循环。修复版本:HyperPacer3.0.1

2016-03-02 09:36:34 4388

原创 Jmeter录制复杂页面脚本时Jvm崩溃或者栈溢出问题的解决

使用Jmeter进行性能测试,录制Web页面脚本时,如果页面过于复杂,尤其在一些企业级应用系统中,会出现Jmeter突然崩溃,日志中抛出Java栈溢出错误。经过排查,发现是在页面中对Form accept-charset进行计算时,采用了递归遍历的算法,当Dom树足够复杂的时候,就会使用大量的Java stack内存,由于Java Stack内存较小,不同系统默认值不一样,一般不超过2M,当然

2016-02-29 12:09:07 1141

原创 如何解决性能测试脚本中中文乱码的问题?

国内部分系统Web页面都采用GBK做为编码,而一些国际化测试软件(如loadrunner、jmeter)一般使用UTF-8或者默认的ISO系列编码,导致录制的脚本中中文显示为乱码,以GBK编码post的数据,由于被测系统一般仍按GBK解码,无法识别编码而导致脚本执行结果不符合预期。HyperPacer解决了这个问题,在对Web页面编码的检测过程中,如果检测到是GB系列编码,自动完成跟UTF-8编码

2016-02-29 11:57:19 745

原创 报告软件系统性能(9)

性能问题的解决往往牵扯到各种角色,需要各种角色的高效协作和互相认同才能得到较好的解决。做为性能测试人员,在向项目干系人报告时,就需要做到量身定做,对结果数据进行不同加工和展现,充分考虑汇报对象的角色,如果汇报对象是各种角色,要能让各种角色都能看的懂,各取所取。起码做到决策层能轻易知道系统的容量、吞吐量和资源投入,业务层知道关键业务场景覆盖到,而且响应时间是乐于接受的,实施运维人员知道保持这样的

2016-02-22 16:52:24 607

原创 跟踪系统性能(8)

性能测试和分析过程只是预防性能风险,而不是保证系统性能。应用系统上线后,面临的业务处理和数据是动态变化的,依赖的运行环境也会不稳定、老化,出现性能下降是正常的,什么时间什么场景下降到什么程度我们不能接受的,是系统管理和运维者需要关心的。我们不希望在出现这种问题之后采取解决,那样可能为时已晚,造成巨大损失,我们希望在问题出现之前就预测的到,然后采取预防性措施避免问题的出现。这就需要建立跟踪预警体系,

2016-02-22 16:38:27 1110

原创 优化软件性能(7)

优化软件性能之前,首先需要有正确的认识,软件性能本质上是一种主观的基于时间感知的用户体验,是资源消耗、逻辑处理、用户行为等综合作用的外在表现,脚痛医脚,头痛医头,没有包治百病的药,性能优化亦如是。再好的硬件解决不了应用软件设计和开发的问题,不能片面的将性能优化全部寄希望于硬件和系统层面。应用设计和开发的问题主要有两类,一是对硬件资源的利用不足,如过度的锁控制、线性资源依赖等,导致硬件资源闲置;

2016-02-22 16:32:07 445

原创 分析软件性能(6)

性能测试的过程是生产和收集评估数据的过程,测试过程会产生大量的各种测试数据,这些数据是评估我们是否达到性能目标的依据。我们不光要对数据进行汇总和统计分析,还要对数据本身进行去伪存真。错误的测试数据会产生错误的分析结果,掩盖掉存在的问题,造成错误的判断。分析系统性能不是简单的根据测试结果数据出图表,编写报告,而是首先对结果数据进行有效性分析,如果有效性不足,就要找到原因,调整测试过程,得到更加有效的

2016-02-18 09:56:43 557

原创 测试软件性能(5)

确定合适的性能管理过程后,在每个阶段就会有不同的性能测试定义和标准。比如单元级别的性能测试,需要测试每个类或方法的执行时间和资源消耗,接口级别的性能测试,需要测试每个组件执行调用花费的时间和资源消耗,系统级别的性能测试需要模拟预期真实用户的行为来识别和消除应用或系统性能潜在的瓶颈,用户级别的性能测试需要模拟预期真实用户的业务场景来评估用户体验。目前绝大多数公司的性能过程管理只能做到系统性能测试和用

2016-02-18 09:51:02 341

性能测试工程师职业现状分析

该报告汇总统计了包括猎聘、拉勾、智联、前程无忧、58同城、中华英才网等主流招聘网站近一周(2016.5.25-2016.6.01)发布的性能测试工程师的招聘信息,主要从对性能测试工程师的技能要求、岗位职责、薪酬待遇、工作经验要求等角度进行统计抽样,以便对性能测试工程师的职业现状做个概要分析。

2016-06-03

HyperPacer产品说明书_V3.0

HyperPacer产品说明书

2016-03-30

Eclipse TestNG插件

从Eclipse市场安装TestNG插件时,发现安装网址禁止访问,自己编译了一个,放到eclipse plugins目录下,重新启动ecliose即可使用。

2016-03-03

空空如也

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

TA关注的人

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