性能测试理论(一)之性能测试方法与流程
性能测试方法
- 一、正确理解性能测试
- 1.1.性能测试:
- 1.2.不符合需求的情况下:
- 1.3.常见误区:
- 二、什么时候需要做性能测试
- 2.1.什么时候需要做?
- 2.2.能力验证
- 2.3.验收性
- 2.4.性能评估
- 2.5.高并发下的业务缺陷发现
- 2.6.性能分析与调优
- 2.7.稳定性(时间+负载)测试
- 三、性能测试中的测试技术概述
- 3.1.静态测试:
- 3.2.动态测试:
- 四、性能测试中的负载生成方法
- 4.1.使用用户界面生成负载:
- 4.2.使用众测生成负载:
- 4.3.使用Api生成负载:
- 4.4.使用捕获的通信协议生成负载(最常用):
- 五、PDCA模型在性能测试中的应用
- 5.1.计划 Plan
- 5.2.执行 Do
- 5.3.检查 Check
- 5.4纠正 Action
- 六、性能测试相关书籍/资料推荐
一、正确理解性能测试
1.1.性能测试:
属于软件测试
范畴,旨在测试处于特定环境和配置
下的系统在一定量
的负荷下,系统的正确性、响应时间、速度TPS、成功率、稳定性、可恢复性
等特性是否满足特定干系人需求的能力。系统性能关乎用户的体验。性能属于产品的非功能
质量特性
1.2.不符合需求的情况下:
结合系统的业务模型、环境配置、设计、实现细节
等识别出问题
,并最终确保该问题得到妥善解决
的过程。
1.3.常见误区:
1.性能测试=性能测试工具的使用(目标不明确、缺乏规划)
2.性能测试=功能测试+并发量(测试所有场景)
3.性能测试=GUI界面性能测试(App、Web、小程序多管齐下)
4.性能测试=性能脚本运行(缺乏数据收集、分析、调优过程)
5.实验室性能指标=实际环境下性能指标(忽略环境的差异)
6.采用功能测试的思维开展性能测试(性能测试通常采用实验的形式,迭代地进行以支持系统分析、设计和实施)
二、什么时候需要做性能测试
2.1.什么时候需要做?
1.业务系统对性能有明确的要求-性能验收
2.需要评估业务系统的性能效率-性能评估
3.验证在高并发下,系统业务是否有问题-功能
缺陷发现
4.验证在高并发下,技术架构是否问题-技术
缺陷发现/性能调优
5.验证在高并发下,系统是否可靠运行-稳定性
缺陷发现
6.验证在系统变更下,系统性能表现变化情况-基准对照
2.2.能力验证
概念:某系统能够在A条件下具备B能力
特点:1.要求在已确定的环境下运行
2.需要根据典型场景设计测试用例和方案
使用方法:1.负载测试
2.可靠性测试
3.压力测试
4.失效恢复性测试
2.3.验收性
概念:模拟生产上线业务环境,测试是否满足性能要求
特点:1.确定用户的环境
2.用户要求的性能指标
3.执行、分析结果
4.验收性质
5.一定要有客观性的结果
2.4.性能评估
概念:在某种可能发生的条件下,系统具有如何的性能能力
特点:1.探索性性质
2.考虑软件系统的扩展
使用方法:1.负载测试
2.配置测试
3.压力测试
注:验收性能测试(有指标,验收指标)==>系统性能评估测试(没有指标,获得指标)
2.5.高并发下的业务缺陷发现
目的:通过性能测试手段来发现系统中存在的缺陷,通常经历如下过程:
单用户=>低并发=>高并发-压力测试=>极限测试=>系统失效
2.6.性能分析与调优
调优方向:软件架构、硬件环境、代码、tomcat参数
使用方法:压力测试、负载测试、配置测试、失效恢复测试
2.7.稳定性(时间+负载)测试
目的:测试系统在一定负载下运行长时间后是否会发生问题。
三、性能测试中的测试技术概述
3.1.静态测试:
1.关注性能以及性能风险的需求评审
2.数据库架构、数据库设计、存储过程、语句执行效率的评审
3.系统和网络架构评审
4.系统关键部分的代码评审
3.2.动态测试:
1.单元测试:分析关键节点性能效率与资源使用情况
2.集成测试:关注跨组件模块接口调用的性能
3.系统测试:在不同负载条件下检查总体端到端表现
4.验收测试:建立用户、客户、操作员对系统性能的信心,以及在真实条件下对系统进行调优
四、性能测试中的负载生成方法
4.1.使用用户界面生成负载:
并且可以使用所需数量的软件客户端来执行所需的输入。
4.2.使用众测生成负载:
依靠于大量的测试人员,代表真正的用户
4.3.使用Api生成负载:
调用应用程序的Api来模拟用户与用户系统的交互,该方法对用户界面中的更改不敏感
4.4.使用捕获的通信协议生成负载(最常用):
通过工具或脚本模拟用户端发出的通信协议与系统进行交互。具有复用性高,并发量大,可靠性高等优势。
五、PDCA模型在性能测试中的应用
5.1.计划 Plan
要求在进行工作开展时先定制工作计划,这是确保工作顺利进行的前提
5.2.执行 Do
按照计划进行响应工作的开展
5.3.检查 Check
总结执行过程中的结果,记录下所存在的问题
5.4纠正 Action
要求对在实施过程中存在的问题进行科学的分析,并进行有效的改进,对成功的经验予以标准化,对没有解决的问题交给下一个PDCA去解决
六、性能测试相关书籍/资料推荐
《ISTQB认证测试工程师基础级大纲》
《性能之巅》
性能测试理论(一)之性能测试方法与流程相关推荐
- 发动机性能测试软件,发动机的性能测试方法
大家常说_发动机是汽车的动力源泉_在购买汽车过程中_发动机的性能成为评价一辆汽车的关键参数.那么_针对不同的发动机_我们该从哪些方面进行测试.评价其好坏_选出真正的优质产品呢? 一.查阅厂家提供的发动 ...
- 如何测试sql服务器的性能测试,SQL执行效率和性能测试方法
对于做管理系统和分析系统的程序员,复杂SQL语句是不可避免的,面对海量数据,有时候经过优化的某一条语句,可以提高执行效率和整体运行性能.如何选择SQL语句,本文提供了两种方法,分别对多条SQL进行量化 ...
- 性能压测服务器502报错,一种交易系统的性能测试方法及相关服务器
1. 一种交易系统的性能测试方法,其特征在于,包括: 性能测试服务器发送N条性能测试交易至应用服务器,其中N>0; 所述性能测试服务器接收所述应用服务器发送的监测报告,所述监测报告为所述应用 服 ...
- 【java 性能优化实战】1 理论分析:性能优化,有哪些衡量指标、性能优化的技术手段
指标是我们衡量很多事物,以及做出行为决策的重要参考.例如在生活中,当你打算买汽车时,会关注很多指标,比如动力性.燃油经济性.制动性.操纵稳定性.平顺性.通过性.排放与噪声等,而这些指标也都有相关的测试 ...
- 08-01 Jmeter 核心原理与性能测试理论
Jmeter 核心原理 基于协议,模拟真实用户场景,并通过多线程模拟用户发起请求. 基于协议:性能测试的对象是网络分布式架构的软件,而网络分布式架构的核心是网络协议 多线程:人的大脑是单线程的,电脑的 ...
- 7种性能测试方法,帮你提供工作效率80%
根据在实际项目中的实践经验,我把常用的性能测试方法分为七大类:后端性能测试.前端性能测试.代码级性能测试.压力测试.配置测试.并发测试,以及可靠性测试.接下来,我将详细为你介绍每一种测试方法. 第一, ...
- 微信小程序软件测试junit,微信小程序兼容性能测试方法
本文为微信小程序兼容.性能测试方法介绍. 兼容 操作系统兼容 由于小程序依赖微信客户端本身,因此理论上来说只要微信客户端兼容的小程序应该都可以兼容,这里推荐覆盖Android和iOS主流版本系统即可, ...
- 百度视频在Android和iOS端性能测试方法
背景介绍 一直以来,性能测试是被一部分人遗忘,又让另一部分人无可奈何的东西.在绝大部分的创业公司,性能测试基本上都是被遗忘的,他们认为功能测试和稳定性测试才是重点,而在中等规模的公司中一部分测试人员考 ...
- 性能测试方法详解(验收性能、负载、压力、配置、并发、可靠性、失败恢复)
一.性能测试 性能测试时通过自动化测试工具模拟多种正常.峰值以及异常负载条件来对系统的各项性能指标进行测试.负载测试和压力测试都属于性能测试,两者可以结合进行,通过负载测试,确定在各种工作负载下系统的 ...
最新文章
- 案例 | 撇开虚荣指标,如何策划一场成功的拉新活动?
- 关于Android C++的NDK环境搭建(Win7系统)
- 用于Elasticsearch数据可视化和分析的强大工具
- linux 如何从源码包安装软件?
- weUI多页面切换效果
- Oracle连续排名,oracle不连续排名rank() over(order by column desc),连续排名 dense_rank over(order by)...
- 虾扑 上货软件全新升级提升运营率
- unity mapbox gis真实3D地图 地图上加载自己真实的建筑模型
- 在Eclipse中安装JSHint插件
- Cocos2d-x2.0 各种粒子效果详解
- 计算机辅助设计职业标准,计算机辅助设计绘图员国家职业标准.doc
- android9.0安装包更新,一加5官方安卓9.0稳定版固件rom系统升级更新包:第4版
- 移动端天气系统--【下雨】效果之【雨滴】的实现和分析
- Windows操作系统各版本的历史 Windows系统历史版本简介
- SPSS Modeler建立ODBC数据源使用数据库文件
- linux内核printk调试手段,linux内核printk调试
- 大数据毕设选题 - 疫情实时数据分析可视化(Flask python)
- 在article文档类型中使用中文字体
- 游戏开发基础笔记:逻辑帧和物理帧辨析 | Gameloop | 游戏循环
- 混沌数学之ASin模型