全面掌握:性能测试计划的制胜法宝

一.简介

简介部分就不用过多描述了,无非项目的背景,进行此次性能测试的原因,以及性能测试覆盖的范围等等,几乎所有项目文档都在开端对项目进行简单的阐述。

二.性能测试需求

寻找的被测试对象和压力点

要测试的对象不是凭空想象出来,而是经过分析与系统数据收集得到。下取几个典型的压力点

登录:对于一般的系统来说,登录是用户操作系统的前提,如果用户根本就登录不了,那么其它功能将毫无用处。例如网游戏,开新服的时候,玩家挤破了脑袋只为登录。

查询:查询一般比较消耗系统和数据库资源。搜索引擎的查询功能就是典型,如果你在输入框内输入内容,很久就得不到结果。我想被称为“互联网入口”的搜索引擎就不会存在。

交易:对于一些电子商务系统来说,交易过程的性能要求是很高的,如果交易过程消耗用户很长时间的话。我宁愿去超市买东西了。当然,除了交易速度外,对交易的成功率要求也是非常高的。不然,造成的损失也是不可估量的。

被测的系统应该是最重要的最基本的功能,也是用户使用最频繁的功能。

一般的性能要求包括:

系统容量:系统最大容纳多少个用户注册。

访问数:同时访问系统的用户数。

并发数:一个操作同时执行的并发数目,一个系统中应该有不同操作的并发数的组合(一般是有权限进行操作的用户)。

系统的最大用户数与最佳用户数:系统在承受的最大并发用户数量,系统在最佳状态下承受的并发用户数据。

响应时间:用户提交一个操作到得到响应的时间间隔。

吞吐率:系统每秒钟处理的TPS

性能测试关键的一个因素就是压力,性能是在系统设计满足的最大压力下的性能。并发数要不小于系统正常运行的峰值,数据总量不小于系统正常运行3个月的数据量。

在描述并发用户数目时,总是会带有相应的时间段限制。系统的性能指标实质上应当使用单位时间内系统处理请求的个数以及请求响应时间描述。单位时间内能处理的请求个数就是系统的业务吞吐量。虚拟并发用户的数量可以使用如下的公式换算: (真实用户数×每个真实用户请求数)/(总请求响应时间+真实用户总思考时间)=(虚拟用户数×每用户请求个数)/(总请求响应时间+虚拟用户总思考时间)=吞吐量。

如果你想学习性能测试,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的性能测试教程,同时在线人数到达1000人,并且还有笔记可以领取及各路大神技术交流:798478386   

15天学会性能测试,通俗易懂详细教学,Jmeter性能测试实战(集群压测,全链路压测,性能调优,瓶颈分析)极速掌握,干就完事!_哔哩哔哩_bilibili15天学会性能测试,通俗易懂详细教学,Jmeter性能测试实战(集群压测,全链路压测,性能调优,瓶颈分析)极速掌握,干就完事!共计27条视频,包括:1.【性能测试】什么是性能测试以及性能测试的价值和目的、2.【性能测试】真实企业性能测试指标详解以及指标测算、3.【性能测试】真实企业中性能测试流程以及细节剖析等,UP主更多精彩视频,请关注UP账号。icon-default.png?t=N7T8https://www.bilibili.com/video/BV1B14y1D7X9/?spm_id_from=333.337.search-card.all.click

三.测试环境

这里的测试环境主要指的软件硬件环境和网络环境。

笔者认为性能测试最好在一个独立的环境内进行,这样不会受到外界的干扰,能够保证测试的数据是独立有效的。如果现你对某个已经上线的网站进行压力测试,那么你得到的数据不是独立的,因为你在做压力测试的时候,其它散户也在访问系统。

软件环境:

这里的软件环境主要指项目运行的环境,比如采用什么样的操作系统、中间件、和数据库。

硬件环境:

这里的硬件环境除了主要包括主机内部部件,cpu、内存、磁盘以及主板、网卡等,传输介质和路由器也应该考虑在内,

网络环境:

网络环境除了考虑测试机与被系统服务器在一个局域网中进行,还应该保证这个网络的独立性。如果在在性能测试的过程中,其它机子也在消耗着路由器资源。那么路由器也会影响到数据库的传输速度。

四.数据准备

在很多时候,我们是要准备测试数据的,例如系统不允许相同用户的重复登录,那么必须要生成合法的用户数据。有时要对系统进行查询测试,只有在系统有一定数据量进才能验证出系统的真实性能。一个数据库中有两条数据和有两千万条数据,同相一条查询操作,对系统造成的压力是完全不一样的。

系统所需数据的分析可以参考以下方式:

历史数据分析有助于数据量级的确定。从历史数据入手,找出高峰期数据量。

从其他相似或者相同系统入手,进行数据分析,找出高峰期数据量。

无历史或者相关系统可以参考的时候,就要对系统的性能数据进行估算,包含系统容量,并发数等数据,估算以后给相关人员进行评审或者修订以后,按照大家同意的性能指标进行测试。

…………

测试数据最好和真实数据相同,如果能够获得真实系统运行3个月的数据,我们就可以在此基础上进行性能测试。

关于数据的生成,我们可以祝一个工具完成,如数据库数据生成工具,大小文件生成工具等。

五.测试工具

前面已经介绍如何分析需求,需求确定下来之后,我们可以考虑引入什么样的工具适合性能需求。

当然,在引入工具的时候除了考虑可以是否满足需求,还应该考虑工具的成本,这不单指工具的购买成本,还有测试人员对工具的学习成本。

关于测试工具的选择,后面会单独有一章节介绍,这里就不细说了。

如果你选择的性能测试工具不是足够的强大的话,你可能还需要其它的辅助的工具。如果jmeter利用badboy来录制脚本,更能提高脚本开发效率。在压力测试的过程中也可能需要性能计数器来记录软硬件的性能。如监控服务器cpu、内存的计数器,记录中间件日志的监控中工具,监控数据库性能的监控工具等。

六.测试策略

对于一个特定的业务系统,用户一般会分散在一天的各个时间段进行访问。在不同的时间段中,用户使用业务系统的频率不同,而系统的繁忙程度不同。在一些特定的条件下,可能出现短时间内用户集中访问某个业务系统的情况。例如对于公文处理子系统而言,可能就存在短时间内大量用户查看并办理某条公文的情况。 在进行性能测试时,应当使用“考虑最坏情况的原则”。也就是应当在用户使用业务系统最频繁、对系统造成最大压力的情况下对系统的功能进行测试,判断各功能和页面是否能够满足性能的要求,系统的响应时间是否过长。

另一方面,系统性能的验证必须做到“覆盖全面”。虽然系统中各个功能的使用频率并不相同,一些功能的使用频率相对于其他功能来说比较低,但是在进行性能测试和优化时,不能忽略这些功能,编制测试用例时也不能仅仅选择最常用功能。例如可能所有的用户都会访问我的通知列表,但是一般只有5%的用户会使用通过系统设置模块查找某个用户的信息;但是在测试时,我们并不能因为查看用户信息功能的使用频率相对较少,而忽略掉这项功能的测试。所以,这里进行系统性能测试时,对于不同业务,用户的访问比例应该做一个合理分配。

在测试策略上,我们还应该考虑,同一个系统在不同硬件环境下的性能表现。从而让系统满足需求的情况下,硬件配置也能达到一个最佳的状态。过份的增加硬件来满足需求也是一种浪费。再说增加硬件设备不是能解决所有性能问题的。

七.人力与时间安排

最后一条,就是要根据项目的进度要求以及规模,来进行人力与时间的安排。对于大型的性能测试,项目前期的需求调研,环境的部署,工具的选购或开发,人员对测试工具的学习与使用,性能测试的后进行,后期数据的分析与调优。都需要人员安排的。有可以需要专业的,系统工程师、数据库工程师、软件开发工程师、网络工程师以及性能测试工程师的共同参与配合完成。不是一个性能测试人员就可以全部搞定的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/152953.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

windows 部署 weblogic 12.1.3

1、安装 1)下载 地址:WebLogic Server 12c (12.2.1), WebLogic Server 11g (10.3.6) and Previous Releases 2)安装 weblogic server java -Xmx1024m -jar fmw_12.1.3.0.0_wls.jar 出现图形界面按需配置,注意配置的安装路径不能…

11月编程榜最新出炉,第一名很离谱

这段时间,随着人工智能的崛起,Python的地位水涨船高。有不少朋友感觉到危机重重。 其中,最明显的,是市场环境的变化: 外部招聘:Python岗位日均需求量高达15000!不仅是程序员,内容编…

【分享课】11月16日晚19:30PostgreSQL分享课:PG缓存管理器主题

PostsreSQL分享课分享主题: PG缓存管理器主题 直播分享平台:云贝教育视频号 时间:11月16日 周四晚 19: 30 分享内容: 缓冲区管理器结构 缓冲区管理器的工作原理 环形缓冲区 脏页的刷新

uniapp使用Canvas实现电子签名

来源: 公司的一个需求,需要给新注册的会员和客商需要增加签署协议功能; 之前的思路: 1、使用vue-signature-pad来实现电子签名,但是安卓手机不兼容; 2、uniapp插件市场来实现,但是对HBuilderX…

为什么小型企业应该拥抱数字化转型?

在当今飞速发展的商业环境中,数字化转型已经成为各种规模组织的必然选择。特别是小型企业,通过数字化转型,可以在保持竞争力、提高运营效率并开启新的增长机会方面获益匪浅。本文探讨了数字化转型的概念,强调了它对小型企业的重要…

测试小白必看:自动化测试入门基础知识

📢专注于分享软件测试干货内容,欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!📢交流讨论:欢迎加入我们一起学习!📢资源分享:耗时200小时精选的「软件测试」资…

小型企业网络搭建方案

在这个日益数字化和连接的世界里,一个稳固的小型企业网络是实现高效运作的关键支柱。不论您是在经营一家初创公司还是小型企业,一个可靠的企业网络都是保证顺畅沟通、数据分享以及访问在线资源的重要因素。本篇文章将会引导您完成构建一个小型企业网络的…

C++入门第七篇--STL模板--vector模拟实现

前言: 有了前面的string库的介绍,在这里我就不再介绍vector库了,而是直接模拟实现了。 vector库的概念和作用: vector库是针对于数组的数据类型的容器,它有点类似我们曾经实现过的顺序表,你完全可以按照…

Google codelab WebGPU入门教程源码<6> - 使用计算着色器实现计算元胞自动机之生命游戏模拟过程(源码)

对应的教程文章: https://codelabs.developers.google.com/your-first-webgpu-app?hlzh-cn#7 对应的源码执行效果: 对应的教程源码: 此处源码和教程本身提供的部分代码可能存在一点差异。点击画面,切换效果。 class Color4 {r: number;g: number;b: number;a…

挑战字节软件测试岗,原来这么轻松...

当前就业环境,裁员、失业消息满天飞,好像有一份工作就不错了,更别说高薪了。其实这只是一方面,而另一方面,各大企业依然求贤若渴,高技术人才依然紧缺,只要你技术过硬,拿个年薪50w不是…

锁之间的故事

目录 常用锁策略 1.乐观锁 VS 悲观锁 2.轻量级锁 VS 重量级锁 3.自旋锁 VS 挂起等待锁 4.互斥锁 VS 读写锁 5.公平锁 VS 非公平锁 6.可重入锁 VS 可重入锁 CAS ABA问题 Synchronized原理 1. 锁升级/锁膨胀 2.锁消除 3.锁粗化 常用锁策略 1.乐观锁 VS 悲观锁 站在…

二叉树相关

一、概念 二、题目 2.1 把数组转换成二叉树 2.2.1 使用队列方式 public static Node getTreeFromArr2(int[] arr) {if (arr null || arr.length 0) {return null;}LinkedList<Node> quque new LinkedList<>();Node root new Node(arr[0]);quque.add(root);in…

有大量虾皮买家号想防关联该怎么做?

Shopee平台规定一个买家只能拥有一个买家号&#xff0c;如果一台电脑或者一个手机同时登录好几个买家号&#xff0c;那么很有可能就会关联封号的。那么有大量虾皮买家号想防关联该怎么做&#xff1f; 如果想要运用大量的shopee买家号来操作&#xff0c;那么需要使用有防指纹技术…

利用vscode连接远程服务器进行代码调试

文章目录 一、vscode下载二、连接服务器1. 安装remote development套件2. 配置ssh3. 连接服务器4. 打开服务器文件路径 三、支持GUI显示1. windows系统安装xserver服务&#xff1a;可以用xming或VcXsrv2. windows系统(安装了vscode的系统)下安装插件3. vscode实现免密登录远程服…

<蓝桥杯软件赛>零基础备赛20周--第6周--数组和队列

报名明年4月蓝桥杯软件赛的同学们&#xff0c;如果你是大一零基础&#xff0c;目前懵懂中&#xff0c;不知该怎么办&#xff0c;可以看看本博客系列&#xff1a;备赛20周合集 20周的完整安排请点击&#xff1a;20周计划 每周发1个博客&#xff0c;共20周&#xff08;读者可以按…

Ansys Speos | 如何利用Speos联合optiSLang进行光导优化设计

在本例中&#xff0c;我们将使用 Speos 和 optiSLang 实现光导的设计优化&#xff0c;以实现汽车日行灯、内饰氛围灯等的光导设计&#xff0c;并改善光导亮度的均匀性&#xff0c;以自动优化设计的方式实现更好的照明外观。 概述 在汽车照明应用中&#xff0c;日行灯是一个独特…

[文件读取]Grafana未授权任意文件读取

1.1漏洞描述 漏洞编号Grafana未授权任意文件读取漏洞类型文件读取漏洞等级⭐⭐⭐漏洞环境VULFOCUS攻击方式 描述: Grafana是一个跨平台、开源的数据可视化网络应用程序平台。用户配置连接的数据源之后&#xff0c;Grafana可以在网络浏览器里显示数据图表和警告。 Grafana 存在…

【自定义列表头】vue el-table表格自定义列显示隐藏,多级表头自定义列显示隐藏,自由搭配版本和固定列版本【注释详细】

前言 功能介绍 最近遇到一个功能&#xff0c;需要的是把表格的列可以配置&#xff0c; 用户可以根据自己想要看的数据来改变表头列显示哪些隐藏哪些。 于是我做了两个版本。第一个版本是自由搭配的。 就是提前顶号所有的列&#xff0c;然后自己可以拖拽到想要位置顺序。 也可以…

打开IE浏览器

原文地址&#xff1a;https://www.xiaoheiwoo.com/windows-11-internet-explorer/#:~:text%E5%A6%82%E4%BD%95%E5%9C%A8%20Windows11%20%E4%B8%AD%E5%90%AF%E7%94%A8%20IE%E6%B5%8F%E8%A7%88%E5%99%A8%E7%9A%843%E7%A7%8D%E6%96%B9%E6%B3%95%201%20%E6%96%B9%E6%B3%95%E4%B8%80…

俄罗斯方块

一.准备工作 先创建一个新的Java项目命名为“俄罗斯方块”。再在该项目中创建一个文件夹命名为”images”&#xff0c;并将所需的图片素材拖入该文件夹。 二.代码呈现 编写小方块类&#xff1a; import java.awt.image.BufferedImage;/*** 描述:小方块类* 属性&#xff1a;…