性能测试流程

2023-11-16

参考书籍《软件测试-黑马程序员编著》

性能测试与普通的功能测试目标不同,因此其测试流程与普通的测试流程也不相同,虽然性能测试也遵循测试需求分析→测试计划制订→测试用例设计→测试执行→编写测试报告的基本过程,但在实现细节上,性能测试有单独一套流程

1. 分析性能测试需求

性能测试需求分析是整个性能测试工作的基础,测试需求不明确则整个测试过程都是没有意义的。在性能测试需求分析阶段,测试人员需要收集有关项目的各种资料,并与开发人员进行沟通,对整个项目有一定的了解,针对需要性能测试的部分进行分析,确定测试目标。例如客户要求软件产品的查询功能响应时间不超过2s,则需要明确多少用户量情况下,响应时间不超过2s。对于刚上线的产品,用户量不多,但几年之后可能用户量会剧增,那么在性能测试时是否要测试产品的高并发访问,以及高并发访问下的响应时间。对于这些复杂的情况,性能测试人员必须要清楚客户的真实需求,消除不明确因素,做到更专业。对于性能测试来说,测试需求分析是一个比较复杂的过程,不仅要求测试人员有深厚的理论基础(熟悉专业术语、专业指标等),还要求测试人员具备丰富的实践经验,如熟悉场景模拟、工具使用等。 

2. 制订性能测试计划

性能测试计划是性能测试工作中的重中之重,整个性能测试的执行都要按照测试计划进行。在性能测试计划中,核心内容主要包括以下几个方面。

(1)确定测试环境:包括物理环境、生产环境、测试团队可利用的工具和资源等。

(2)确定性能验收标准:确定响应时间、吞吐量和系统资源(CPU、内存等)利用总目标和限制。

(3)设计测试场景:对产品业务、用户使用场景进行分析,设计符合用户使用习惯的场景,整理出一个业务场景表,为编写测试脚本提供依据。

(4)准备测试数据:性能测试是模拟现实的使用场景,例如模拟用户高并发,则需要准备用户数量、工作时间、测试时长等数据。

3. 设计性能测试用例

性能测试用例是根据测试场景为测试准备数据,例如模拟用户高并发,可以分别设计100用户并发数量、1000用户并发数量等,此外还要考虑用户活跃时间、访问频率、场景交互等各种情况。测试人员可以根据测试计划中的业务场景表设计出足够的测试用例以达到最大的测试覆盖。

4. 编写性能测试脚本

测试用例编写完成之后就可以编写测试脚本了,测试脚本是虚拟用户具体要执行的操作步骤,使用脚本执行性能测试免去了手动执行测试的麻烦,并且降低了手动执行的错误率。在编写测试脚本时,要注意以下几个事项。(1)正确选择协议,脚本的协议要与被测软件的协议保持一致,否则脚本不能正确录制与执行。(2)性能测试工具一般可以自动生成测试脚本,测试人员也可以手动编写测试脚本,而且测试脚本可以使用多种语言编写,如Java、Python、JavaScript等,具体可根据工具的支持情况和测试人员熟悉程度选取脚本语言。(3)编写测试脚本时,要遵循代码编写规范,保证代码的质量。另外,有很多软件在性能测试上有很多类似的工作,因此脚本复用的情况也很多,测试人员最好做好脚本的维护管理工作。

5. 测试执行及监控

在这个阶段,测试人员按照测试计划执行测试用例,并对测试过程进行严密监控,记录各项数据的变化。在性能测试执行过程中,测试人员的关注点主要有以下几个。(1)性能指标:本次性能测试要测试的性能指标的变化,如响应时间、吞吐量、并发用户数量等。(2)资源占用与释放情况:性能测试执行时,CPU、内存、磁盘、网络等使用情况。性能测试停止后,各项资源是否能正常释放以供后续业务使用。(3)警告信息:一般软件系统在出现问题时会发出警告信息,当有警告信息时,测试人员要及时查看。(4)日志检查:进行性能测试时要经常分析系统日志,包括操作系统、数据库等日志。在测试过程中,如果遇到与预期结果不符合的情况,测试人员要调整系统配置或修改程序代码来定位问题。性能测试监控对性能测试结果分析、对软件的缺陷分析都起着非常重要的作用。由于性能测试执行过程需要监控的数据复杂多变,它要求测试人员对监控的数据指标有非常清楚的认识,同时还要求测试人员对性能测试工具非常熟悉。作为性能测试人员,应该不断努力,深入学习,不断积累知识经验,才能做得更好

6. 运行结果分析

性能测试完成之后,测试人员需要收集整理测试数据并对数据进行分析,将测试数据与客户要求的性能指标进行对比,若不满足客户的性能要求,需要进行性能调优然后重新测试,直到产品性能满足客户需求。

7. 提交性能测试报告

性能测试完成之后需要编写性能测试报告,阐述性能测试的目标、性能测试环境、性能测试用例与脚本使用情况、性能测试结果及性能测试过程中遇到的问题和解决办法等。软件产品不会只进行一次性能测试,因此性能测试报告需要备案保存,作为下次性能测试的参考。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

性能测试流程 的相关文章

  • Jmeter性能测试 (入门)

    Jmeter是一款优秀的开源测试工具 是每个资深测试工程师 必须掌握的测试工具 熟练使用Jmeter能大大提高工作效率 熟练使用Jmeter后 能用Jmeter搞定的事情 你就不会使用LoadRunner了 本文将通过一个实际的测试例子 来
  • 性能测试调优应该注意哪些要点,一般性能测试调优的步骤-Alltesting

    性能测试调优应该注意的要点 要点1 在应用系统的设计开发过程中 应始终把性能放在考虑的范围内 要点2 确定清晰明确的性能目标是关键 要点3 必须保证调优后的程序运行正确 要点4 系统的性能更大程度上取决于良好的设计 调优技巧只是一个辅助手段
  • 性能测试工具有哪些?原理是什么?怎么选择适合的工具?

    前言 本篇文章主要简单总结下性能测试工具的原理以及如何选型 性能测试和功能测试不同 性能测试的执行是基本功能的重复和并发 需要模拟多用户 在性能测试执行时需要监控指标参数 同时性能测试的结果不是那么显而易见 需要对数据进行分析 这些特点决定
  • Jmeter快速上手之接口测试

    目录 1 前言 2 简介 3 安装 4 环境变量 4 1 Windows环境 4 2 Mac环境 5 启动程序 6 目录说明 7 操作示例 7 1 Get请求 7 2 Post请求 7 3 依赖请求 1 前言 压测工具 Jmeter 除了可
  • 性能测试如何做?从0到1性能测试实战(手把手教)

    目录 导读 前言 一 Python编程入门到精通 二 接口自动化项目实战 三 Web自动化项目实战 四 App自动化项目实战 五 一线大厂简历 六 测试开发DevOps体系 七 常用自动化测试工具 八 JMeter性能测试 九 总结 尾部小
  • 阿里测开的性能测试技术笔记:如何快速上手压测工作

    新年第一个工作日 继续整理之前的技术笔记 前面通过三篇的内容 将自动化测试相关的技术笔记做了整理汇总 这篇内容 主要是我刚开始做性能测试时的一些记录 对新手或者刚进入一个新项目的同学 应该有所帮助 一般我们在刚介入一个项目时 我认为可以从如
  • 性能测试连载 (10)-数据错误率分析

    概述 性能测试脚本跑完了之后 我们除了要收集瓶颈数据 还有分析错误数据 通常一套脚本跑完 错误类型不止一种 但是jmeter只会在聚合报告里面给出一个总体的错误率 错误率 jmeter里的错误率是如何统计的 在返回的数据里面 只要succe
  • 如何进行性能分析

    一 性能分析的常用手段 1 空间换时间 利用内存缓存从磁盘上取出的数据 CPU可以直接访问内存 从而比从磁盘读取数据更高的效率 2 时间换空间 当空间成为瓶颈的时候 切开数据分批次处理 用更少空间完成任务的处理 3 分而治之 把任务切分 分
  • Fiddler 八个实用技巧

    目录 前言 1 双击Session时 使响应页始终显示到 json tab页 使请求页始终显示到 webform tab页 2 显示每个Session 的请求IP地址 3 修改响应Header中的Content Type 4 右键sessi
  • 使用Jmeter进行http接口做功能、性能测试

    使用Jmeter进行http接口做功能 性能测试 1 使用Jmeter进行http接口做功能 性能测试 在测试移动APP时 会有很多接口需要做测试 我在这里介绍一下对HTTP接口做功能 性能的测试 首先我们会从开发人员拿到接口数据 1 1
  • jmeter对百度首页进行压力测试

    第一次测试 准备工作 在测试计划下添加jp gc Stepping Thread Group 阶梯线程组配置如下 该测试一共启动500个线程 每30秒增加10个 全部线程启动后 保持2分钟 然后每1秒停止5个线程 添加HTTP请求 添加查看
  • Parasoft VS Borland SilkTest,谁的功能测试更全面?

    你知道测试金字塔吗 为了用开发实践来扩大测试规模 如何以正确的数量设计合适类型的自动化测试 测试金字塔是一个很好的指南 测试金字塔是一个很好的视觉隐喻 它描述了不同的测试层 以及每一层要做多少测试 Parasoft测试金字塔 虽然测试自动化
  • 服务器终端性能测试之GPU burn压力测试

    GPU burn 测试GPU 1 下载软件 https github com wilicc gpu burn wget https codeload github com wilicc gpu burn zip master 2 解压缩 u
  • 3. 性能测试之目标评估

    文章目录 前言 一 模型1 根据日活计算目标QPS 1 原则 2 事例 二 模型2 根据压测数据评估最大支撑并发 1 原则 2 事例 3 备注 三 模型3 根据压测数据评估服务器资源 1 策略 2 备注 四 模型4 评估用户并发或峰值并发
  • 性能测试的基本流程

    1 性能测试需求分析 项目经理 业务 架构专家 产品经理 高级性能测试工程师 开发经理 2 性能测试计划 高级性能测试工程师 项目经理 架构师 产品经理 3 性能测试准备 性能测试工程师 外部支持 网络工程师 系统管理员 测试服务器和被测试
  • [性能测试]LR常见问题整理

    1 LR 脚本为空的解决方法 1 去掉ie设置中的第三方支持取消掉 2 在系统属性 高级 性能 数据执行保护中 添加loadrunner安装目录中的vugen exe文件 有可能是由于录制的URL地址采用的是localhost的问题 改成分
  • 超全汇总,性能测试常用指标大全(重要)

    目录 导读 前言 一 Python编程入门到精通 二 接口自动化项目实战 三 Web自动化项目实战 四 App自动化项目实战 五 一线大厂简历 六 测试开发DevOps体系 七 常用自动化测试工具 八 JMeter性能测试 九 总结 尾部小
  • Jmeter 课程笔记(五)集合点、思考时间和三种断言

    添加集合点 Http请求 右键 定时器 Synchronizing Timer Numberb of Simulated Users to Group by 并发用户数量 默认为0则与线程组的线程数一致 Timeout inmillisec
  • loadrunner入门教程(1)--概述

    文章目录 1 loadrunner介绍 2 特性 2 1 轻松创建虚拟用户 2 2 创建真实的负载 2 3 定位性能问题 3 工作原理 3 1 VuGen发生器 3 2 控制器 Controller 3 3 分析器 Analysis 4 工
  • 测试:性能测试

    一 性能测试 性能测试是一种评估软件 系统或服务在特定条件下性能的过程 性能测试有助于确定系统的响应时间 吞吐量 可扩展性 稳定性和资源消耗等关键指标 一 响应时间 响应时间 Response Time 是性能测试中的一个重要指标 用于衡量

随机推荐

  • Discuz! X2.5 个人空间主题列表帖子分页地址出错的解决方法

    可用以下方案解决 打开文件 source unction unction misc php 找到 domain http G setting domain app forum G setting domain app forum G set
  • Python函数(完整版)

    01 函数的概念 所谓函数 就是把就有独立功能的代码块组织为一个小模块 在需要的时候调用 函数的使用包含两个步骤 1 定义函数 封装 独立的功能 2 调用函数 享受封装的成果 函数的作用 在开发程序是 使用函数可以提高编写的效率以及代码的重
  • java中constant_如何在Java中定义常量(Constant)

    Method One interface ConstantInterface String SUNDAY SUNDAY String MONDAY MONDAY String TUESDAY TUESDAY String WEDNESDAY
  • Windows下使用命令行直接编译STM32

    1 需要准备的工具 makefile运行工具 MinGW gcc编译工具 arm none eabi gcc 2 安装步骤 2 1 MinGW安装 MinGW是是将GCC编译器和GNU Binutils移植到Win32平台下的产物 包括一系
  • 计算机毕业设计Java平面设计作品管理系统(源码+系统+mysql数据库+lw文档)

    计算机毕业设计Java平面设计作品管理系统 源码 系统 mysql数据库 lw文档 计算机毕业设计Java平面设计作品管理系统 源码 系统 mysql数据库 lw文档 本源码技术栈 项目架构 B S架构 开发语言 Java语言 开发软件 i
  • angular自带的一些api_在angular 2中使用HTTP Rest API

    小编典典 提供的很好的答案 但是我想补充一点 所以发布作为答案 首先 要使用Rest API 我们需要导入Http和HTTP PROVIDERS模块 当我们谈论Http时 第一步显然是 但是 是的HTTP PROVIDERS 在bootst
  • 为Linux的cp和mv命令添加进度条

    为Linux的cp和mv命令添加进度条 cp和mv可能是大家日常中使用最多的Linux命令之一 但是有一个突出的问题是这两个命令都不会有任何提示信息 这在操作大文件时候只能干等 可能大家对此已经习以为常 但是其实上也有解决解决方法 本文我们
  • Spice-server源码简要分析

    下载地址 https www spice space org download releases spice server spice 0 14 1 tar bz2 也可以在gitlab下载 https gitlab com spice s
  • LocalDate,LocalDateTime,Date及时间戳的转换

    1 时间戳转LocalDateTime 时间戳如果是字符串则先转为long LocalDateTime localDateTime LocalDateTime ofEpochSecond System currentTimeMillis 1
  • Kendo UI开发教程(16): Kendo MVVM 数据绑定(五) Events

    本篇和Kendo UI开发教程 14 Kendo MVVM 数据绑定 三 Click类似 为事件绑定的一般形式 Events绑定支持将ViewModel的方法绑定到DOM元素的事件处理 如鼠标事件 例如 1
  • c++中管道代码_如何在管道中添加动态代码分析

    c 中管道代码 我们大多数人都对著名的马克 扎克伯格宣言 快速行动并打破事物 非常熟悉 在2014年 这是一个非常大胆的声明 正如扎克伯格很快意识到的那样 可能太过大胆了 后来他撤回了它 表明了他想要快速行动但保持稳定的新愿望 为了更好地解
  • layui复选框

    效果图 layui复选框 一个主的复选框控制多个从复选框 主复选框和从复选框的颜色不一样 layui复选框的样式 都是在选然后才会有的 所以直接通过css设置就实现不了了 只可以通过js动态设置 html代码使用了jfinal的模板 div
  • C++之string

    一些简单的关于string对象的知识 以后还会补充 1 2 3 4 5 6 7 8 9 10 11
  • 详解C结构体、C++结构体 和 C++类的区别

    先来说说C和C 中结构体的不同 a C语言中的结构体不能为空 否则会报错 1 gt d myproject visual studio 2013 projects myc main c 71 error C2016 C 要求一个结构或联合至
  • IP地址学习总结

    IP地址 IP地址是局域网中某台主机的唯一标识 一段二进制编码 由32位组成 但是通常使用点分十进制来表示 便于记忆 x x x x 子网掩码 在同一局域网中 所有的IP必须在同一网段才能相互通信 而子网掩码用来标识是属于哪一个网段 确定I
  • uniapp - 实现微信小程序电子签名板,横屏手写姓名签名专用写字画板(详细运行示例,一键复制开箱即用)

    效果图 实现了在uniapp项目中 微信小程序平台流畅的写字签名板 也可以绘图 功能源码 复制粘贴 改改样式几分钟即可搞定 支持自动横屏 持预览 真机运行测试非常流畅不卡顿 基础模板 如下代码所示
  • Harbor镜像仓库搭建

    1 安装docker comprose docker comprose是docker容器批量管理工具 curl L https get daocloud io docker compose releases download 1 25 0
  • Unity3d 物体速度、运动的控制——Input.GetAxis、transform.Translate、transform.Rotate、AddForce

    首先介绍Input GetAxis方法 官方文档给出的解释为 Returns the value of the virtual axis identified by axisName 返回根据参数名所指定的虚拟轴上的数值 public st
  • 深入浅出AXI协议(6)——传输属性

    一 前言 在之前的文章中 我们介绍的主要内容是AXI协议的数据读写结构和读写响应结构 主要讲述了当遇到各种特殊情况时 AXI如何完成数据的读写操作 最后介绍了读写响应的4种类型 在本文中 我们将介绍AXI协议的传输属性 二 传输类型与属性
  • 性能测试流程

    参考书籍 软件测试 黑马程序员编著 性能测试与普通的功能测试目标不同 因此其测试流程与普通的测试流程也不相同 虽然性能测试也遵循测试需求分析 测试计划制订 测试用例设计 测试执行 编写测试报告的基本过程 但在实现细节上 性能测试有单独一套流