性能测试 理论初探(一),什么是性能测试?性能测试的目的是?
文章目录
前言
性能测试 目的
1.评估系统的能力
2.识别体系中的弱点
3.系统调优
4.验证稳定性(resilience)可靠性(reliability)
负载测试(Load Testing)
压力测试(Stress Testing)
客户端性能测试
并发性能测试
网络端性能测试
服务端性能测试
前言
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
负载测试和压力测试都属于性能测试,两者可以结合进行。
负载测试 确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。
压力测试 是通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试
性能测试在软件的质量保证中起着重要的作用,它包括的测试内容丰富多样。
中国软件评测中心将性能测试概括为三个方面:
应用在客户端性能的测试
应用在网络上性能的测试
应用在服务器端性能的测试。
通常情况下,三方面有效、合理的结合,可以达到对系统性能全面的分析和瓶颈的预测。
性能测试 目的
目的是验证软件系统是否能够达到用户提出的性能指标,同时发现软件系统中存在的性能瓶颈,优化软件,最后起到优化系统的目的。
包括以下几个方面
1.评估系统的能力
测试中得到的负荷和响应时间数据可以被用于验证所计划的模型的能力,并帮助作出决策
2.识别体系中的弱点
受控的负荷可以被增加到一个极端的水平,并突破它,从而修复体系的瓶颈或薄弱的地方
3.系统调优
重复运行测试,验证调整系统的活动得到了预期的结果,从而改进性能。
检测软件中的问题:长时间的测试执行可导致程序发生由于内存泄露引起的失败,揭示程序中的隐含的问题或冲突。
4.验证稳定性(resilience)可靠性(reliability)
在一个生产负荷下执行测试一定的时间是评估系统稳定性和可靠性是否满足要求的唯一方法。
负载测试(Load Testing)
负载测试是确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统组成部分的相应输出项,例如通过量、响应时间、CPU负载、内存使用等来决定系统的性能。负载测试是一个分析软件应用程序和支撑架构、模拟真实环境的使用,从而来确定能够接收的性能过程。
负载测试会帮助确定系统是否还能够处理期望的用户负载,以预测系统的未来性能;通过模拟成百上千个用户,重复执行和运行测试,可以确认性能瓶颈并优化和调整应用,目的在于寻找到瓶颈问题。
测试的基本策略是自动负载测试,通过在一台或几台PC机上模拟成百或上千的虚拟用户同时执行业务的情景,对应用程序进行测试,同时记录下每一事务处理的时间、中间件服务器峰值数据、数据库状态等。通过可重复的、真实的测试能够彻底地度量应用的可扩展性和性能,确定问题所在以及优化系统性能。预先知道了系统的承受力,就为最终用户规划整个运行环境的配置提供了有力的依据。
压力测试(Stress Testing)
压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。
客户端性能测试
应用在客户端性能测试的目的是考察客户端应用的性能,测试的入口是客户端。它主要包括并发性能测试、疲劳强度测试、大数据量测试和速度测试等,其中并发性能测试是重点。
Windows PyCharm.exe
Tencent PerfDog 性能狗
并发性能测试
并发性能测试的过程是一个负载测试和压力测试的过程,即逐渐增加负载,直到系统的瓶颈或者不能接收的性能点,通过综合分析交易执行指标和资源监控指标来确定系统并发性能的过程。
并发性能测试的目的主要体现在三个方面:
1、以真实的业务为依据,选择有代表性的、关键的业务操作设计测试案例,以评价系统的当前性能;
2、当扩展应用程序的功能或者新的应用程序将要被部署时,负载测试会帮助确定系统是否还能够处理期望的用户负载,以预测系统的未来性能;
3、通过模拟成百上千个用户,重复执行和运行测试,可以确认性能瓶颈并优化和调整应用,目的在于寻找到瓶颈问题。
网络端性能测试
应用在网络上性能的测试重点是利用成熟先进的自动化技术进行网络应用性能监控、网络应用性能分析和网络预测。
网络应用性能分析
网络应用性能分析的目的是准确展示网络带宽、延迟、负载和TCP端口的变化是如何影响用户的响应时间的。
网络应用性能监控
网络应用性能监控以及网络资源管理对系统的正常稳定运行是非常关键的。利用网络应用性能监控工具。
通俗地讲,它主要用来分析关键应用程序的性能,定位问题的根源是在客户端、服务器、应用程序还是网络。在大多数情况下用户较关心的问题还有哪些应用程序占用大量带宽,哪些用户产生了最大的网络流量
网络预测
考虑到系统未来发展的扩展性,预测网络流量的变化、网络结构的变化对用户系统的影响非常重要。根据规划数据进行预测并及时提供网络性能预测数据。
从网络管理软件获取网络拓扑结构、从现有的流量监控软件获取流量信息(若没有这类软件可人工生成流量数据),这样可以得到现有网络的基本结构。在基本结构的基础上,可根据网络结构的变化、网络流量的变化生成报告和图表,说明这些变化是如何影响网络性能的。PREDICTOR提供如下信息:根据预测的结果帮助用户及时升级网络,避免因关键设备超过利用阀值导致系统性能下降;哪个网络设备需要升级,这样可减少网络延迟、避免网络瓶颈;根据预测的结果避免不必要的网络升级。
服务端性能测试
对于应用在服务器上性能的测试,可以采用工具监控,也可以使用系统本身的监控命令,例如Tuxedo中可以使用Top命令监控资源使用情况。实施测试的目的是实现服务器设备、服务器操作系统、数据库系统、应用在服务器上性能的全面监控。
性能测试 理论初探(一),什么是性能测试?性能测试的目的是?相关推荐
- 性能测试 理论初探(四),性能测试的指标是什么?web性能测试指标包括哪些?http性能测试指标关注 响应时间、吞吐量、服务器资源占用等
文章目录 前言 性能测试 考虑点 1.时间特性 2.资源利用率 3.服务器可靠性 4.可配置优化性 性能指标简介 1.响应时间 2.吞吐量 3.服务器资源占用 Web服务器 性能指标 b/s Web服 ...
- 性能测试 理论初探(七) 性能测试工具 介绍 目前知道哪些性能工具?分别用在什么软件或平台的性能测试?服务端、web前端、移动端等 性能测试工具有哪些?
文章目录 一.前言 二.常见性能测试工具 1.服务端性能测试工具 1.1 Jmeter 1.2 Locust 1.3 LoadRunner 1.4 LoadNinja 1.5 Jmeter + Pro ...
- 性能测试 理论初探(三),什么是性能测试分类?性能测试有哪些?性能测试分类 性能测试场景分析 负载测试、压力测试、容量测试等
文章目录 前言 负载测试(Load Testing) 压力测试(Stress Testing) 容量测试(Volume Testing) 性能测试类型 1.基准测试 2.争用测试 3.性能配置 4.负 ...
- 08-01 Jmeter 核心原理与性能测试理论
Jmeter 核心原理 基于协议,模拟真实用户场景,并通过多线程模拟用户发起请求. 基于协议:性能测试的对象是网络分布式架构的软件,而网络分布式架构的核心是网络协议 多线程:人的大脑是单线程的,电脑的 ...
- nas 软件 性能测试,理论读写性能测试
评测平台介绍与说明:硬件平台 CPUIntel Core i7 4770K 主板华硕Z87-A 内存金士顿 DDR3-1600 4G*2 硬盘主盘:浦科特M5P 512G 测试盘:HGST 4TB N ...
- 性能测试理论4 | 性能测试术语和通过标准
性能测试理论4 | 性能测试术语和通过标准 1 性能测试术语 1.1 负载 1.2 性能测试 1.3 负载测试 1.4 配置测试 1.5 压力/强度测试 1.6 稳定性测试 1.7 TPS 1.8 R ...
- 性能测试模型初探及应用方法分析
一.知其然不知其所以然 在现在的性能测试中,性能测试需要测试各种指标,同时需要基础数据,各种压力,配置数据负载等,在一些场景下还需要处理一些并发测试等.然而,这些测试对被测系统的影响是什么?为什么要做 ...
- Sysbench性能测试(二): sysbench基本使用和CPU性能测试
Sysbench性能测试 传送门: Sysbench性能测试(一): sysbench简介与安装 Sysbench性能测试(二): sysbench基本使用和CPU性能测试 Sysbench性能测试( ...
- 全栈性能测试教程之性能测试理论(一) mockserver应用
1.mockServer 1.1什么是mockServer moco=替代 Server=服务 mocoServer即为测试替身的服务 主要针对于单元测试的应用,主要应用于解除单元测试之间的依 ...
最新文章
- SQL_Case When 嵌套
- 【聚类算法】sklearn聚类方法详解
- Sales Order 中的User Exit开发
- mysql数据库增删改查关键字_mysql数据库的增删改查
- java周志第二周_第二周JAVA学习日志
- mysql筛选向导后返回原表_Navcat关于导出向导的常见问题!
- Airflow 中文文档:写日志
- selenium+unittest自动化测试(二)---浏览器控制及元素定位的方法
- JS随手记——三目表达式
- pink老师 JS p61课后作业
- Vue首屏加载等待动画
- 强化学习入坑之路04
- Lotus Sametime
- 计算机网络码片序列计算问题
- wps不能粘贴解决办法
- win10 调用计算机,win10系统打开软件总提示是否允许程序修改计算机的解决方法...
- NetSuite2.0 Restlet脚本 货品新增
- GITHUB实用有趣工具推荐
- echarts设置视觉引导线穿过两行文字的效果
- python浮点数整数、小数分离,整数取整