性能测试方法

  • 一、正确理解性能测试
    • 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认证测试工程师基础级大纲》
《性能之巅》

性能测试理论(一)之性能测试方法与流程相关推荐

  1. 发动机性能测试软件,发动机的性能测试方法

    大家常说_发动机是汽车的动力源泉_在购买汽车过程中_发动机的性能成为评价一辆汽车的关键参数.那么_针对不同的发动机_我们该从哪些方面进行测试.评价其好坏_选出真正的优质产品呢? 一.查阅厂家提供的发动 ...

  2. 如何测试sql服务器的性能测试,SQL执行效率和性能测试方法

    对于做管理系统和分析系统的程序员,复杂SQL语句是不可避免的,面对海量数据,有时候经过优化的某一条语句,可以提高执行效率和整体运行性能.如何选择SQL语句,本文提供了两种方法,分别对多条SQL进行量化 ...

  3. 性能压测服务器502报错,一种交易系统的性能测试方法及相关服务器

    1. 一种交易系统的性能测试方法,其特征在于,包括: 性能测试服务器发送N条性能测试交易至应用服务器,其中N>0; 所述性能测试服务器接收所述应用服务器发送的监测报告,所述监测报告为所述应用 服 ...

  4. 【java 性能优化实战】1 理论分析:性能优化,有哪些衡量指标、性能优化的技术手段

    指标是我们衡量很多事物,以及做出行为决策的重要参考.例如在生活中,当你打算买汽车时,会关注很多指标,比如动力性.燃油经济性.制动性.操纵稳定性.平顺性.通过性.排放与噪声等,而这些指标也都有相关的测试 ...

  5. 08-01 Jmeter 核心原理与性能测试理论

    Jmeter 核心原理 基于协议,模拟真实用户场景,并通过多线程模拟用户发起请求. 基于协议:性能测试的对象是网络分布式架构的软件,而网络分布式架构的核心是网络协议 多线程:人的大脑是单线程的,电脑的 ...

  6. 7种性能测试方法,帮你提供工作效率80%

    根据在实际项目中的实践经验,我把常用的性能测试方法分为七大类:后端性能测试.前端性能测试.代码级性能测试.压力测试.配置测试.并发测试,以及可靠性测试.接下来,我将详细为你介绍每一种测试方法. 第一, ...

  7. 微信小程序软件测试junit,微信小程序兼容性能测试方法

    本文为微信小程序兼容.性能测试方法介绍. 兼容 操作系统兼容 由于小程序依赖微信客户端本身,因此理论上来说只要微信客户端兼容的小程序应该都可以兼容,这里推荐覆盖Android和iOS主流版本系统即可, ...

  8. 百度视频在Android和iOS端性能测试方法

    背景介绍 一直以来,性能测试是被一部分人遗忘,又让另一部分人无可奈何的东西.在绝大部分的创业公司,性能测试基本上都是被遗忘的,他们认为功能测试和稳定性测试才是重点,而在中等规模的公司中一部分测试人员考 ...

  9. 性能测试方法详解(验收性能、负载、压力、配置、并发、可靠性、失败恢复)

    一.性能测试 性能测试时通过自动化测试工具模拟多种正常.峰值以及异常负载条件来对系统的各项性能指标进行测试.负载测试和压力测试都属于性能测试,两者可以结合进行,通过负载测试,确定在各种工作负载下系统的 ...

最新文章

  1. 案例 | 撇开虚荣指标,如何策划一场成功的拉新活动?
  2. 关于Android C++的NDK环境搭建(Win7系统)
  3. 用于Elasticsearch数据可视化和分析的强大工具
  4. linux 如何从源码包安装软件?
  5. weUI多页面切换效果
  6. Oracle连续排名,oracle不连续排名rank() over(order by column desc),连续排名 dense_rank over(order by)...
  7. 虾扑 上货软件全新升级提升运营率
  8. unity mapbox gis真实3D地图 地图上加载自己真实的建筑模型
  9. 在Eclipse中安装JSHint插件
  10. Cocos2d-x2.0 各种粒子效果详解
  11. 计算机辅助设计职业标准,计算机辅助设计绘图员国家职业标准.doc
  12. android9.0安装包更新,一加5官方安卓9.0稳定版固件rom系统升级更新包:第4版
  13. 移动端天气系统--【下雨】效果之【雨滴】的实现和分析
  14. Windows操作系统各版本的历史 Windows系统历史版本简介
  15. SPSS Modeler建立ODBC数据源使用数据库文件
  16. linux内核printk调试手段,linux内核printk调试
  17. 大数据毕设选题 - 疫情实时数据分析可视化(Flask python)
  18. 在article文档类型中使用中文字体
  19. 游戏开发基础笔记:逻辑帧和物理帧辨析 | Gameloop | 游戏循环
  20. 混沌数学之ASin模型

热门文章

  1. 第七课,OpenGL之LookAt函数
  2. 纯前端导出excel文件(包含设置样式)
  3. 网络安全设备常见弱口令
  4. 【NVMe2.0b 9】控制器初始化过程
  5. 怎么计算机械连接的工程量,传力杆套筒工程量怎么算
  6. iPad能装Android系统,我错了,原来iPad真的能装Windows和MacOS系统
  7. 用计算机打字教案,教学设计-有趣的打字练习游戏
  8. 我劝你不要再留QQ邮箱了
  9. python之global关键字
  10. “李记餐厅”微信点餐小程序+后台管理系统