测试老鸟总结,性能测试需求分析-性能必要性,一篇打通...

2023-10-27


前言

性能测试需求分析

性能测试需求分析,与传统的功能测试需求分析有所不同,功能测试需求分析重点在于从用户层面分析被测对象的功能性、易用性等质量特性,性能测试则需要从终端用户应用,系统架构设计,硬件配置等多个维度分析可能存在的性能瓶颈的业务。

性能测试必要性评估

任何项目在开始性能测试之前,都需要进行必要性评估,通过必要性评估活动,确认被测对象是否有必要实施性能测试活动,千万不可为了性能而性能。

通常情况下,必要性评估可以设定不同条件,不同权重进行分析,将评估项分为关键评估项和一般评估项。

关键项评估,只要有一项符合,则必须开展性能测试,而一般评估项,可通过加权计算,超过60分,则需要开始性能测试;

根据测试要求可分为功能测试和非功能测试。

非功能测试,通常指的是性能测试。 当然,具体情况具体分析。

常见的性能测试关键评估项如下:
1、被测对象需经过主管部门或监管单位审查,认可,需要提供性能测试报告。目前,很多企业的软件产品在正式上市对外销售、应用时,政府机关,主管部门或监管单位,可能需要出具功能测试报告、性能测试报告,甚至是第三方测试报告,这种情况下,必须进行性能测试。

2、涉及财产生命安全的系统,通常情况,电商系统、金融业务系统,医疗健康评估,涉及用户或行方资金安全,生命安全类的,需要进行性能测试;

3、首次投产的大型系统,具有大量用户使用的核心业务;
4、系统核心数据库、业务逻辑、软硬件升级。与历史系统对比,系统核心数据库、业务逻辑调整、软件硬件设备升级,同样需要实施性能测试;
5、历史版本存在重大非功能缺陷或风险较大的未评估项;

6、业务量、用户量、节点增长30%以上。系统升级后,业务量、用户量、应用节点,增长量在30%以上的,具体数值可根据实际情况调整。应用节点增长一般指甲方因业务需求,增加应用节点,银行拓展分行、分中心、分公司、营业网点等;

7、系统架构发生重大变化。不同的系统架构可能存在较大的性能差异,因此在系统架构发生变化后,必须实施性能测试,并且在此过程中,无法通过类推的思路

8、生产环境非功能严重缺陷修复后。生产环境在使用过程中产生重大非功能性缺陷成功修复后,需重新开展性能测试活动,以验证修复活动是否对生产环境造成不良影响。

常见的性能测试一般评估项,主要从单次版本考虑,如果是平台性的,则为关键评估项,如果是单次版本,单个组件或业务,则从以下几个一般评估项评估权重:
是否在平台中处于核心位置(15分);
是否有升级,且升级内容中包含了外部系统对接接口、支付接口、Web Service调用接口等与其他系统关联接口(20分);
是否存在部署方式调整或优化(15分);
是否增加了性能风险较高的调整(20分);
是否存在客户要求必须测试的组件或业务流程(20分);
是否涉及多个功能缺陷的修复,且流程发生较大变化(10分)。
如果上述一般评估项,总计分值超过60分,则需进行性能测试。

性能测试工具选型

通过测试必要性评估,确定了需要对被测对象实施性能测试后,则需要考虑采用哪种性能测试方式。

根据被测对象的业务特性和架构设计,可以采用以下两种方式开展有效的性能测试活动。

如果被测对象为批处理方式实现,并且在数据库中设立起始与终止标识字段,则可以利用存储过程或发起批处理的方式进行。

资源监控可以利用监控脚本如python脚本、shell脚本或其他监控工具,最终统计时,以结束时间减去开始时间,则可获得交易时间,并可根据每笔交易获得平均交易时间,相对来说较为方便。

如果被测对象不是批处理模式,且可能存在大量数据交互,则可能需要采用专业的性能测试工具来实现。一般而言,业内常用的性能测试工具主要要开源的Jmeter和商用的HP公司的LoadRunner。

Jmeter是个开源的性能测试工具,目前在市场中的热度很高,不依赖于界面,功能测试的脚本同样可以作为性能测试脚本运行,对测试工程师技术技能要求不高,而且提供了参数化、函数、关联等功能便于脚本的优化与扩展。

LoadRunner在商用领域一枝独秀,很多年保持排前的市场占有率,与Jmeter相比,LoadRunner具有强大的脚本开发功能、完善的函数库及结果分析功能。

对测试工程师技术要求相对较高,但因其在业内流行很多年,LoadRunner应用的资料相对于Jmeter较多,便于学习与应用。

企业在选择性能测试工具时,如有条件可以自己根据实际测试需求自定义开发测试工具,也可以选择市场上常用的测试工具,通常选择时需考虑以下几个问题:
能否自定义开发,更符合实际测试需求;
商用的测试工具所需的成本,企业能否承受;
采购的测试工具是否提供了完善的服务、细致的培训;
团队人员能否掌握测试活动所需的工具技能。

性能测试需求分析

与功能测试需求分析一样,性能测试同样需要针对被测对象进行需求分析。一般而言,用户或产品团队设定性能测试需求时,仅会表述字面意义上需求,如“系统TPS需达到300以上,单笔交易时间不超过3秒”等。

需要性能测试工程师结合用户需求及性能测试活动本身需求进行显性与隐性性能测试需求的分解与提取。

随着互联网技术的飞速发展,互联网应用架构越来越复杂,运营系统涉及的利益相关方越来越多,因此,在性能测试工作实施过程中,需从不同的用户层面分析待测需求。

确定性能测试的必要性后,性能测试工程师主要从以下两个用户方确定性能测试需求:

业务用户
1、用户频繁使用,且存在大量用户使用的业务流程;
2、交易占比较高,日常占比在80%以上甚至更高的业务流程;
3、特殊交易日或峰值交易占比80%以上甚至更高的业务流程;
4、性能较差且有过调整的业务流程;
5、特殊业务场景;
6、核心业务发生重大流程调整的业务流程。

以上从业务用户层面,考虑的可能需要进行性能测试的点。实际实施过程中,如果可能,可向终端用户调研。

性能测试的常规流程

第1步:确认需求并分析业务场景
第2步:设计测试方案(模板),测试脚本
第3步:准备测试数据并执行测试脚本
第4步:监控资源消耗
第5步:瓶颈定位和性能调优验证
第6步:输出报告(模板)和跟踪

流程通常不能如你所愿
案例一:测试环境和实际环境的配置不一致
案例二:没有明确目标的需求

性能测试的分类

压力测试;
负载测试;
容量测试;
可靠测试;

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

心怀勇气,挫折不惧。奋斗之路如登山攀岩,艰难不退缩。积极向上,不停努力,只有拼搏才能闪耀光芒。坚持信念,超越极限,创造属于自己的辉煌人生!

奋斗如同航行,不畏波涛。坚忍不拔,勇往直前,用毅力书写壮丽篇章。困难是助力,挑战是机遇,只有奋斗才能创造辉煌。燃烧激情,追逐梦想,成就自己的绝世传世!奋斗不息,无限可能!

拒绝平庸,追求卓越;奋发图强,创造传奇。勇往直前,不畏艰险;拼搏奋斗,成就辉煌。每一次努力都离目标更近一步,坚持到底才能看到辉煌的曙光!奋斗不止,成就无限!

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

测试老鸟总结,性能测试需求分析-性能必要性,一篇打通... 的相关文章

  • 【软件测试】学习笔记-脚本与数据的解耦 + Page Object模型

    本篇文章介绍GUI测试中两个非常重要的概念 测试脚本和数据的解耦 以及页面对象 Page Object 模型 测试脚本和数据的解耦 GUI自动化测试适用的场景 尤其适用于需要回归测试页面功能的场景 如果在测试脚本中硬编码 hardcode
  • 软件测试|Windows系统配置pytest+allure环境教程

    前言 allure可以输出非常精美的测试报告 也可以和pytest进行完美结合 不仅可以渲染页面 还可以控制用例的执行 本文我们将介绍Windows系统中如何配置allure环境 第一步 配置Java环境 因为 allure 的运行依赖于J
  • “揭秘性能测试工具:优化软件性能的关键秘籍“

    性能测试工具的设计宗旨是为了模拟用户对软件应用程序或系统的各种操作 旨在评估关键的性能指标 包括响应时间 吞吐量 并发能力和资源利用率 通过这些工具模拟的多用户环境 我们能够产生与实际工作负载相似的条件 并监测系统在这种情况下的性能表现 一
  • 最佳利用Mock提升测试效率的7个技巧!

    再聊这个问题之前 我们先了解一下公司技术架构的演变过程 这样我们才能真正体会到我们为什么要使用 Mock功能 单体应用 在早期 大部分公司的应用技术栈主要可以分为两大类 LAMP Linux Apache MySQL PHP 和 MVC S
  • Jmeter 压测-性能调优5大注意

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 2k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 小白也能学会的创建Git仓库实操

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 2k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 软件测试/测试开发/全日制/测试管理丨Redis内存数据库

    Redis是一种开源 内存中的数据结构存储系统 它提供了高性能 灵活性和丰富的数据结构 以下是Redis内存数据库的基本介绍 键值存储 Redis基于键值对的存储模型 其中每个键都与一个特定的值相关联 这种简单的数据模型使其易于使用和理解
  • Locust负载测试工具实操

    本中介绍如何使用Locust为开发的服务 网站执行负载测试 Locust 是一个开源负载测试工具 可以通过 Python 代码构造来定义用户行为 避免混乱的 UI 和臃肿的 XML 配置 步骤 设置Locust 在简单的 HTTP 服务上模
  • Jenkins 插件下载速度慢、安装失败了!我教你怎么解决!

    Jenkins部署完毕 如果不安装插件的话 那它就是一个光杆司令 啥事也做不了 所以首先要登陆管理员账号然后点击系统管理再点击右边的插件管理安装CI CD必要插件 但是问题来了 jenkins下载插件速度非常慢 而且经常提示下载插件失败 真
  • 测试开发必知:有Tomcat,为什么还要Nginx?

    只用Tomcat 不用Nginx搭建Web服务 行不行 我曾经提出的愚蠢问题 今天详细给自己解释下 为什么必须用Nginx 不用Nginx 只用Tomcat的Http请求流程 浏览器处理一个Http请求时 会首先通过DNS服务器找到域名关联
  • 基于Loadrunner的性能分析及调优经验分享

    公司某个系统的微信端计划将开放给几百上千的人员登录查询 并且登录账号为同一账号多人使用 后台服务能够支撑起多用户的并发操作以及成百上千人登录微信端对生产数据库或者登录查询的性能效率高成为交付可靠生产环境的必要条件 因此 项目组决定提交测试
  • 软件测试|web自动化测试神器playwright教程(三十八)

    简介 在我们使用selenium时 我们可以获取元素的属性 元素的文本值 以及输入框的内容等 作为比selenium更为强大的web自动化测试神器 playwright也可以实现对元素属性 文本值和输入框内容的抓取 并且实现比seleniu
  • 如何写好一个错误报告

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 一篇文章带你了解Python常用自动化测试框架——Pytest

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • Jmeter 性能-阶梯负载最终请求数

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 开眼了,自动化测试还能这样用?

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 月薪2W的软件测试工程师,到底是做什么的?

    在生活中 我们常常会遇到以下几种窘迫时刻 准备骑共享单车出行 却发现扫码开锁半天 车子都没有反应 手机导航打车 却发现地图定位偏差很大 司机总是跑错地方 买个水 却遭遇自动售货机吐币 或者不找零钱 好不容易休息打个游戏 却一直出现卡顿 闪退
  • 做测试不会 SQL?超详细的 SQL 查询语法教程来啦!

    前言 作为一名测试工程师 工作中在对测试结果进行数据比对的时候 或多或少要和数据库打交道的 要和数据库打交道 那么一些常用的sql查询语法必须要掌握 最近有部分做测试小伙伴表示sql查询不太会 问我有没有sql查询语法这一块的文档可以学习
  • 软件测试/测试开发/全日制/测试管理丨Android WebView 技术原理

    Android WebView是一个内置的组件 允许在Android应用中嵌套显示Web内容 Android WebView的技术原理涉及到使用WebKit引擎来渲染Web内容 并提供一系列API和回调函数 使得开发人员可以控制和定制Web
  • 一文让你了解UI自动化测试

    测试都起什么作用 是项目的保险 但不是项目的救命草 测试无实际产出 但作用远大于实际产出 测试是从项目维度保证质量 而不是测试阶段 UI自动化 下面简称自动化 基于UI进行自动功能测试 以Web端作为例子 一般的UI功能自动化都是基于HTM

随机推荐

  • 自己定义控件

    http blog csdn net lmj623565791 article details 38173061
  • qt信号槽连接方式Qt::UniqueConnection的使用

    qt信号槽连接方式Qt UniqueConnection的使用 qt信号槽连接方式一共有以下五种 具体方式不在一一赘述 本文记录第五种Qt UniqueConnection的使用方法 Qt AutoConnection Qt DirectC
  • 机器学习的训练数据(Training Dataset)、测试数据(Testing Dataset)和验证数据(Validation Dataset)

    三者的意义 训练数据 用来训练模型的数据 验证数据 用来检验模型准确率 测试数据 再一次确认验证数据集中的模型是好的模型 一般步骤 测试数据集和验证数据的数据一定不能用来训练 否则会出现过拟合的现象 代码 import math impor
  • linux笔记(10):ubuntu环境下,基于SDL2运行lvgl+ffmpeg播放mp4

    文章目录 1 ubuntu安装ffmpeg 1 1 源码安装 1 1 克隆ffmpeg源码 1 2 配置编译条件 编译 安装 1 2 直接安装依赖包 2 下载lvgl源码 2 1 测试原始代码 2 2 运行lv example ffmpeg
  • Linux查看CPU和内存使用情况

    top命令 top命令是Linux下常用的性能分析工具 能够实时显示系统中各个进程的资源占用状况 类似于Windows的任务管理器 运行 top 命令后 CPU 使用状态会以全屏的方式显示 并且会处在对话的模式 用基于 top 的命令 可以
  • Unity UGUI Content 可以动态改变大小

    在UGUI中Scroll View是常用的一个东西 但是在加载内容的时候 有时候需要动态调整Content的大小 这时候就可以在Content上加上组件ContentSizeFitter这个组件 然后把可以选择的东西选择这个模式就可以了
  • C++中clock()函数的使用

    函数声明 clock t clock void clock t 是 long 型 typedef long clock t clock 使用的头文件是 time h CLOCK PER SEC表示每一秒经历的时钟数 通常我们用clock t
  • 告别枯燥乏味的编程学习,在欢声笑语中学会Python,华为大佬极力推荐Python漫画书!

    Python是学习大数据 人工智能时代的首选编程语言 Python因上手简单被越来越多的人所喜爱 每年使用人数在各类语言中稳居前二 而且每年是用人数还在直线上升 但是对于想要入门Python的同学仍一头雾水 虽然网上的资料很多 但是很多资料
  • 建站系列(七)--- 常用前后端框架

    目录 相关系列文章 前言 一 何为框架 二 为什么使用框架 三 常用框架 一 Bootstrap 二 Layui 三 JQuery 四 Vue js 四 ThinkPHP 五 Spring Boot 相关系列文章 建站系列 一 网站基本常识
  • 大家一起学电脑之硬件版

    大家一起学电脑之硬件版 首先文章还是先从硬件的认识开始 再到安装操作系统的注意事项 再到进入与退出系统可能发生的情况与问题 然后再说单个硬件的详解 最后再说故障和技巧吧 晕 因为有些文章因为发现的晚 所以排序有点儿乱了 0 38 02 11
  • 区块链开发

    区块链开发如今常见的语言有哪一些 区块链技术其实在如今的市场上已经得到大家的关注 这是大部分人可能并不了解 这到底是一种什么样的技术 为什么各大行业的巨头都会比较关注呢 如今的区块链开发已经进入到火热的阶段 那么你是否知道到底包含哪一种主要
  • Mybatis 是如何进行分页的?分页插件的原理是什么?

    1 Mybatis 使用 RowBounds 对象进行分页 也可以直接编写 sql 实现分页 也可以使用 Mybatis 的分页插件 2 分页插件的原理 实现 Mybatis 提供的接口 实现自定义插件 在插件的拦截方法内拦 截待执行的 s
  • git 如何解决 (master

    git 如何解决 master MERGING git reset hard head 回退版本信息 git pull origin master 转载于 https www cnblogs com 651434092qq p 110188
  • 国产开源新标杆!20B大模型,性能媲美Llama2-70B,单卡可推理

    明敏 发自 凹非寺量子位 公众号 QbitAI 国产新标杆 免费可商用的200亿参数大模型 来了 书生 浦语大模型 InternLM 20B版本正式发布 一举刷新国内新一代大模型开源纪录 它由上海人工智能实验室 上海AI实验室 与商汤科技联
  • MySQL入门---超详细安装及基本使用教程

    数据库技术和数据库系统 数据库技术和数据库系统已经成为计算机信息系统的核心技术和重要基础 gt gt MySQL简介 MySQL是一款单进程多线程 支持多用户 基于客户机 服务器 Client Server C S 的关系数据库管理系统 是
  • 怎么使用blender

    Blender是一款开源3D建模和动画软件 可以用来制作三维图像 动画 游戏 音频和视频 要使用Blender 需要先下载并安装该软件 安装完成后 打开Blender 您会看到一个3D空间 包含一个默认的立方体 可以通过鼠标和键盘来对立方体
  • strdup函数的用法

    函数名 strdup 功 能 将串拷贝到新建的位置处 用 法 char strdup char str 这个函数在linux的man手册里解释为 The strdup function returns a pointer toa new s
  • 推荐系统实战5——EasyRec 在DSSM召回模型中添加负采样构建CTR点击平台

    推荐系统实战5 EasyRec 在DSSM召回模型中添加负采样构建CTR点击平台 学习前言 EasyRec仓库地址 DSSM实现思路 一 DSSM整体结构解析 二 网络结构解析 1 Embedding层的构建 2 网络层的构建 3 相似度计
  • 【毕业设计】深度学习验证码识别算法研究与实现 - python 机器视觉

    文章目录 0 简介 1 数据收集 2 识别过程 3 网络构建 4 数据读取 5 模型训练 6 加入Dropout层 7 数据增强 8 迁移学习 9 结果 9 最后 0 简介 Hi 大家好 这里是丹成学长的毕设系列文章 对毕设有任何疑问都可以
  • 测试老鸟总结,性能测试需求分析-性能必要性,一篇打通...

    目录 导读 前言 一 Python编程入门到精通 二 接口自动化项目实战 三 Web自动化项目实战 四 App自动化项目实战 五 一线大厂简历 六 测试开发DevOps体系 七 常用自动化测试工具 八 JMeter性能测试 九 总结 尾部小