Jmeter之性能测试基础
1、概念:性能测试是通过自动化的测试工具模拟多种正常峰值及负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是当负载逐渐增加时,测试系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接受的性能点,来获取系统能提供的最大服务级别的测试。如下图所示为一个典型的性能测试曲线:
2、目的:
性能测试的目的是验证软件系统是否能够达到用户提出的性能指标,同时发现软件系统中存在的性能瓶颈,以优化软件,最后起到优化系统的目的。性能测试包括以下几个方面:
A、评估系统的能力:测试中得到的负荷和响应时长数据可以被用于验证所计划的模型的能力,并帮助做出决策;
B、识别体系中的弱点:受控的负荷可以被增加到一个极端的水平并突破它,从而修复体系的瓶颈或薄弱的地方;
C、系统调优:重复运行测试,验证调整系统的活动是否得到了预期的结果,从而改进性能;
D、检测软件中的问题:长时间的测试执行可导致程序发生由于内存泄露引起的失败,揭示程序中隐含的问题或冲突;
E、验证稳定性(Resilience)、可靠性(Reliability):在一个生产负荷下执行测试一定的时间是评估系统稳定性和可靠性是否满足要求的唯一方法。
3、常见分类:
性能测试包括负载测试、强度测试和容量测试等。
A、负载测试(load testing):是指通过测试系统在资源负荷情况下的表现,来发现设计上的错误或验证系统的负载能力。在这种测试中,将使测试对象承担不同的工作量,以评估测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力。目标是确认并确保系统在超出最大预期工作量的情况下仍可以正常运行。此外,负载测试还要评估性能特征,如响应时长、事务处理速率和其他与时间相关的性能指标。
B、压力测试(stress testing):通过确认一个系统的瓶颈或者不能接收的性能点,来获取系统能提供的最大服务级别的测试。
C、容量测试(volume testing):容量测试确认系统可处理同时在线的最大用户数。
3、常见指标:
对于B/S(brower/server)架构的软件,一般会关注如下web服务器性能指标:
对于C/S(client/server)架构的程序,由于软件后台通常为数据库,所以更注重数据库的性能指标。
A、User Connections:用户连接数,也就是数据库的连接数量
B、Number of Deadlocks:数据库死锁
C、Butter Cache Hit:数据库Cache的命中情况
注意:在实际的测试中,不仅仅限于以上的点,还要根据实际情况选择,例如cpu占用率、数据库连接池等。
5、基本流程:
A、明确性能测试需求:需求应该明确测试涉及的功能点。
B、制定性能测试方案:性能测试方案应该详尽地描述如何进行性能测试,其中应该至少包括:测试背景、测试目的、测试范围、测试进入条件、测试退出条件、测试指标要求、测试策略、测试时机、测试风险和测试资源。
C、编写测试用例
D、执行性能测试案例
E、分析测试结果
F、生成性能测试报告:一份性能测试报告,至少包含如下内容:
(1)测试基本信息:包含测试目的、报告目标读者、术语定义、参考资料
(2)测试环境描述:包含服务器软/硬件环境、网络环境、测试工具、测试人员
(3)性能测试案例执行分析:需要详细描述每个测试案例的执行情况,以及对应的测试结果分析
(4)测试结果综合分析及建议:对本次性能测试做综合分析,并给出测试结论和改进建议
(5)测试经验总结
6、开源web性能测试
是否应该选择开源性能测试工具?首先要明确所在组织的测试策略,其次还要考虑组织的实现情况。回答以下的几个问题,有助于做出正确的判断:
A、测试部门是否拥有非常充足的预算来购置商业性能测试工具?
B、测试人员是否拥有基础的编程经验?
C、测试人员是否有良好的英语阅读能力?
7、开源性能测试的优势:
A、更少的IT投入;
B、更灵活的定制工具;
C、更快、更便捷的服务支持;
D、更灵活的测试框架,避免绑定IT服务供应商
Jmeter之性能测试基础的更多相关文章
- JMeter性能测试基础 (2) - 变量的使用
在使用JMeter进行性能测试时,一般情况下要保证样本容量尽可能大,这样才能得到一个比较合理的结果.也就是说,我们不能只对同一个URL进行多次访问,而是要对统一模块下尽可能多的URL进行访问,以取得相 ...
- Jmeter使用实践- 基础介绍
Jmeter使用实践- 基础介绍 随着市场上推出越来越多的测试工具,大家使用起来也比较盲目,就我个人而言,使用过LoadRunner和Jmeter 很多人倾向于LoadRunner,因为LR的功能更强 ...
- JMeter压测基础(三)——Mysql数据库
JMeter压测基础(三)——Mysql数据库 环境准备 mysql驱动 JMeter jdbc配置 JMeter jdbc请求 1.下载mysql驱动:mysql-connector-java.ja ...
- jmeter如何玩之badboy + jmeter并发性能测试
今天下班时公司安排了一个同事来对项目做集群性能测试,怀着对性能测试的好奇心,下班后没有着急离开,而是等待 那位同事的到来,然后在旁边学习了下如何使用Badboy和jmeter做性能测试. 1. 软件介 ...
- jenkins+ant+jmeter自动化性能测试平台
jenkins+ant+jmeter自动化性能测试平台 Jmeter是性能测试的工具,java编写.开源,小巧方便,可以图形界面运行也可以在命令行下运行.网上已经有人使用ant来运行,http://w ...
- Jmeter进行性能测试时多台负载机的配置方法
参考:https://blog.csdn.net/russ44/article/details/54729461 Jmeter进行性能测试时多台负载机的配置方法 Jmeter 是java 应用,对于C ...
- 【转】Jenkins+Ant+Jmeter自动化性能测试平台
Jmeter是性能测试的工具,java编写.开源,小巧方便,可以图形界面运行也可以在命令行下运行.网上已经有人使用ant来运行,,既然可以使用ant运行,那和hudson.jenkins集成就很方便了 ...
- 使用Jmeter做性能测试
上周刚刚做完项目的性能测试.今天整理和总结一下,随便分享给大家. 首页呢,测试前,我们是有明确的性能指标的,而且测试环境和数据都已准备好,业务分析.场景分析大家根据自己的项目系统进行分析设计,我们选用 ...
- Jmeter Web 性能测试入门 (六):Jmeter 解析 response 并传递 value
解析response中的内容,并把获取到的value传递到后续的request中,常用的方法就是在想要解析response的request上添加后置处理器 本章介绍两种常用的组件 BeanShell ...
随机推荐
- 京东地址导航js+css
HTML------------------------------------------------<!DOCTYPE html><html lang="en" ...
- Scikit-Learn框架
1. Dataset scikit-learn提供了一些标准数据集(datasets),比如用于分类学习的iris 和 digits 数据集,还有用于归约的boston house prices 数据 ...
- windows10企业版怎么关闭自动更新
windows10企业版怎么关闭自动更新.. 我之所以选择关闭自动的更新的原因: 1.Windows版本是激活版的不是注册版的<其实我想说的是我用的是盗版的> 2.对于为什么禁止[系统更 ...
- NTP原理及配置使用
一.NTP简介 1.NTP简介 NTP(Network Time Protocol,网络时间协议)是用来使网络中的各个计算机时间同步的一种协议.它的用途是把计算机的时钟同步到世界协调时UTC,其精 ...
- [读书笔记] 一、Spring boot项目搭建与配置文件
读书笔记:[JavaEE开发的颠覆者 Spring Boot实战] 作者:汪云飞 从今天开始坚持读书,并记录下此读书笔记. 一,初接触 Spring boot 项目Hello world搭建 1.po ...
- 针对通达OA20170729集团版设计门户管理解决方案的具体实例
随着企业信息化建设的深入,应用系统数量不断增加,应用功能不断丰富,数据信息也在呈几何级数增长,在支撑企业正常工作运转的同时,也衍生出许多新的问题: 通达信科根据自身从业多年的行业实践经验,勇于打破传统 ...
- 构建具有用户身份认证的 React + Flux 应用程序
原文:Build a React + Flux App with User Authentication 译者:nzbin 译者的话:这是一篇内容详实的 React + Flux 教程,文章主要介绍了 ...
- VMware bridge 桥接方式连接internet
经过反复测试,关于VMware内虚拟机(包括ubuntu linux和windows)连接internet 目前的结论是 使用bridge方式时,VMware相当于一个交换机(switch),虚拟机和 ...
- 串口数据缓存java版
接触串口很久了,一直以来将都是将串口读取出来的数组转换成字符串通过string.contains()查找是否包涵目标数组,自己感觉low到爆,所以写了一个byte-buffer,测试还是蛮好用的.希望 ...
- Jsp与beetl的比较
首先介绍一下模板引擎的概念,是为了使用户界面与业务数据分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎,就会生成一个标准的html文档. Jsp全名是JavaServer Page,中文名叫 ...