看到好多新手,在性能需求模糊的情况下,随便找一个性能测试工具,然后就开始进行性能测试了,在这种情况下得到的性能测试结果很难体现系统真实的能力,或者可能与系统真实的性能相距甚远。

  与功能测试相比,性能测试在技术层面具有更大的复杂性。在以往的测试流程中,性能测试只是测试流程的一部分,是系统或验收测试的一个可选项。但随着测试技术的发展。许多公司也单独把性能测试独立出来,建立专门的性能测试小组或团队。那么性能测试在实施的过程中也需要建立独立的流程与规范。

  虫师提出了自己性能测试流程,与其它书本提出的流程在些小不同。流程的实施没有绝对的对错,适合自身的流程就是正确。

下面看我所提到的流程

性能需求分析

  性能需求分析是整个性能测试工作开展的基础,如果你连性能的需求都没弄清楚,后面的性能测试工具就无从谈起了。

  在这一阶段,性能测试人员需要与需求人员(客户)、领导及项目相关的人员进行沟通,同时收集各种项目资料,对系统进行分析,确认测试的意图。当然,还需要客户对性能的态度。

  测试需求分析阶段的主要任务是确定测试策略和测试范围。策略主要根据软件类型以及用户对系统的性能的需求来定,测试范围则主要分析系统的功能模块进行调研与分析。最终确认明确的需求。

性能测试计划

确定明确的需求之后,我们要做的工作就是制定性能测试计划。对性能测试过程中所有需要工作制定与规划。

测试计划的大体内容:

  项目的简单背景描述,本次性能测试的需求与目的,性能需求分析的结果是什么。测试环境的准备,需要什么样的软硬件配置,网络状况登录。测试数据的准备,对于某些性能测试是需要事先准备测试数据的。

  测试的策略,前面进行需求分析的目的是制定测试策略,也就是设计符合需求的测试场景,需要对系统的哪些业务模块进行测试,如何进行?需要设计哪些场景以及设计这些场景的目的。

最后会明确一下人员配备,比如需要开发、DBA、运维都人员的参与协助,性能测试的时间安排。

测试环境搭建

测试环境搭建,分硬件环境与软件环境,硬件环境主要是向上级审批硬件配备,在某些大型性能测试,可能需要公司购置或租用硬件设备来进行。或者是将来原有设置进行调配与重组,这个时候就需要网络工程师的参与或协助。

软件环境的搭建对于开发人员来说应该毫无压力,比如常见的三大环境,微软的windows + IIS+SQL server 2005+.NET平台、windows/linux+tomcat/weblogic+mysql+java 、linux+ apache+mysql+PHP 等环境。当然身为性能测试人员,不仅也需要会搭建软件平台,更需要对每个平台中的部分有比较深入的了解。因为性能测试的分析并不是死盯着系统应用那一层。中间件、数据库、系统、硬件都有可能成为系统的瓶颈。

性能工具的引入

其实走到这一步进才需要引入性能测试工具,我们在日常的工作中往往是先选定好测试工具然后再分析需求,制定计划进行测试。这样我们在做性能需求分析的时候往往会往往会考虑所选的工具是否能实现,无法实现可能就放弃这个需求或改变这个需求。这样以某一工具为基础点做出的性能测试结果可能是不准确的。

工具的引入分为自行开发与引入市面上的现有工具。市面上的现有工具又分为收费与开源免费,各有各的优缺点。我们要做的是对需求进行分析,从成本,购买成本,开发成本,现有开源工具的二次开发成本,人员学习使用成本以及时间成本等。

在这里再强调一点,不是只有压力测试工具属于性能工具,在性能测试过程中所用到的工具都属于性能工具,如测试数据生成工具,性能监控工具等。

测试的执行

  测试的执行应该是很大范围的一块内容。也就是我在上一节中性能测试架构所提到的内容。用户行为生成-->压力产生器-->用户代理-->测试调度-->系统监控等。

  我们所选择的工具如何来实现我们的需求,这个性能测试工程师对引入的有足够的了解。对协议的了解,可能需要编程的能力等。其实好多新手对性能的学习也是从某一工具的使用开始的。

测试结果的分析

  这里再重复一次,测试工具只是提供多种不同的数据揭示和呈现方法而已。工具本身并不能帮我们进行性能结果的分析。

  对于性能测试结果的分析,这个需要性能测试工程师对整个被测环境的各种软硬件都要有深入的了解。当然,在这个过程中我们往往需要各个岗位人员的协助,开发人员、DBA、运维等。致力成为一位资深的性能测试工程师要走路还很长。

软件硬件配置调整与优化

  说的简单点这个环节属于系统调优阶段。这一项不是一个必须的环节。这个要看你本次性能测试的需求与目的。如果只是为了验证系统的能力的话。在分析完测试结果后就可以出性能测试报告了。

  对于我们测试人员来说,我们对一个系统进行功能测试的目的是验证系统功能是否是符合需求并可用的,但发现了缺陷之后是需要对缺陷进行跟踪和修复的,并不是把发现的缺陷写在报告里就完事的。当然,功能缺陷与性能缺陷存在着本质的缺陷。如果在性能测试过程中发现不满足需求的缺陷,进行调优是一个不可缺少的过程。

  如果要对系统进行调优的话,测试执行、结果分析、系统调优将会形成一个循环持续的过程。直到满足客户的需求为止。

-----------------------------------------------

对于上面测试流程中所列出的部分,我在后续的博文中会细讲,当然,你也可以对我提出的这个流程进行交流,欢迎留言拍砖

1.Jmeter【接口测试流程】

性能测试知多少?怎样开展性能测试相关推荐

  1. 性能测试知多少 | 什么是性能测试?性能测试原理是什么?指标都有哪些?如何进行测试?

    目录 1 性能测试基本理论 1.1 性能测试概念 1.1.1 什么是性能? 1.1.2 什么是性能测试? 1.2 性能测试基本内容 1.2.1 性能测试 1.2.2 负载测试 1.2.3 压力测试 1 ...

  2. 性能测试知多少---系统架构分析

    有些事儿一旦放一放就难再拾起来,突然发现<性能测试知多少>这个系列两月没更新,关键时我都不知道啥时候放下的,总容易被各种技术所吸引走,如饥似渴的想学更多的东西,这几天一直有朋友问我为啥不写 ...

  3. 【虫师--系列20】性能测试知多少---性能分析与调优的原理

    转自: http://www.cnblogs.com/fnng/archive/2013/03/19/2970315.html   作者:虫师 最近一直纠结性能分析与调优如何下手,先从硬件开始,还是先 ...

  4. 性能测试知多少---吞吐量【转】

    我们每天的生活中都在用水用电,我只会关心自己的水管是否有水,水压是否稳定,如果我们把水龙头拧到最大,还是一滴一滴的流水.那我们就要愤怒了,直接找房东问明情况.我们从来没想过去找自来水公司.我们每天都会 ...

  5. 《WEB性能测试实战》之WEB性能测试分析

    性能测试的结果分析是性能测试的重中之重.在实际工作中,由于测试的结果分析比较复 杂.需要具备很多相关的专业知识,因此常常会感觉拿到数据不知从何下手.这也是我学习性能 测试过程中感觉比较尴尬和棘手的事, ...

  6. 性能测试基础(一)性能测试分类

    性能测试分类 性能测试(狭义) 负载测试 压力测试(强度测试) 并发测试 配置测试 可靠性测试 性能测试分类之我见 关于性能测试有几个名词:性能测试.负载测试.压力测试.并发测试,很多人都是混合使用, ...

  7. Jmeter性能测试【应用场景、性能测试流程、搭建测试环境】

    目录 一.性能测试的概念 二.性能测试类型 三.性能测试应用场景(领域) 四.性能测试常用的指标 五.性能测试流程 六.搭建测试环境 七.测试用例设计和脚本开发 八.测试数据准备 九.性能测试执行和管 ...

  8. 性能测试 性能测试实战(八)Jmeter性能测试平台开发,性能测试平台架构解析 ,性能测试平台搭建 分布式性能压测平台 Jmeter分布式性能测试管理平台 性能测试平台示例案例 《完结篇》

    文章目录 一.前言 二.Jmeter分布式性能测试平台 介绍 1.Jmter分布式性能测试平台 简介 2.Jmeter分布式性能测试平台 优秀案例1 3.Jmeter分布式性能测试平台 优秀案例2 4 ...

  9. android 性能测试sdk,Android SDK 自动化性能测试方案: SDK + Appium + Emmagee + Python

    一.前情概要 但凡接触过性能测试的都对以下情景深有体会: 1.测试前置工作量大繁琐,手工操作费时费力: 2.测试结果有出入,自己想再确认一下,测试过程再来一遍吧:好不容易整出了一份报告,RD一看对结果 ...

  10. 什么是性能测试?为什么要进行性能测试?什么时候开展性能测试?性能测试流程是什么?性能测试有关术语是什么意思?

    前言 本文文章读起来过于枯燥,但是你用15-20分钟认真读一下,获取会为你理解性能测试有所帮助.其中有些是借鉴网上的一些大神的经验. 性能测试5问: 什么是性能测试? 性能测试是指被测系统在一点负载下 ...

最新文章

  1. Ext RAD开发工具预览
  2. Linux安装Oracle 10g
  3. 快速乘法(防止数过大相乘超出long long)
  4. json_decode
  5. 牛客练习赛89--牛牛防疫情
  6. pytorch创建datset
  7. if(){}else{}层数太多,提出来另写一个方法
  8. android网易云桌面歌词,网易云音乐APP怎么开启桌面歌词功能
  9. 多路数据采集系统软件测试,基于AT89S52多路数据采集系统的设计-测试测量-与非网...
  10. pdf拆分成多个文件,方法步骤
  11. 一个bug看一天,写代码像cxk
  12. 常识之外:全表扫描为何产生大量 db file sequential read 单块读?
  13. Office2021专业增强版激活报错0xc004f074以及尝试办法
  14. 新疆高一计算机学业水平测试,2017年新疆高中学业水平考试科目
  15. dell 计算机硬盘保护,dell台式机硬盘保护 怎样取消
  16. 微信小程序——手机号登录
  17. 【电影推荐】风吹麦浪
  18. 新手零基础快速入门Docker
  19. 【feature_column处理】- numeric_column数值列
  20. Leetcode-1658. 将 x 减到 0 的最小操作数

热门文章

  1. 简介:cs224n 2022 winter [Chris Manning]
  2. [c++]一个简单的NEAT机器学习寻路实验
  3. 一款php开发的非常好的OA办公管理系统源码
  4. 下载xcode 10
  5. java面向对象-抽象类和接口
  6. windows下使用vscode开发stm32
  7. IOS多线程使用GCD与信号量实现生产者与消费者模式
  8. Spring Boot配置定时任务
  9. 牛逼c语言代码,这段c语言代码牛逼在哪?
  10. C++数据结构 矩阵的转置、镜像及旋转