性能测试计划,怎么写显得你能更专业?

news2024/11/7 3:40:46

性能测试计划

性能测试是一种非常重要的测试类型,用于确定系统或应用程序在特定负载下的性能指标。以下是一个性能测试计划的建议步骤:

目标

首先,定义性能测试的目标和范围。这包括测试的系统或应用程序以及所需测试的性能指标(例如响应时间、吞吐量等)。还需要确定测试的场景和负载类型。

测试环境

为了进行性能测试,需要创建一个专门的测试环境,该环境必须与生产环境相似,并且有足够的硬件资源来模拟实际使用情况的负载。如果可能,最好使用自动化工具来部署测试环境。

测试数据

测试数据是性能测试的重要组成部分,但通常被忽略。在测试之前,需要准备真实的数据集,以便在测试期间使用它们来模拟真实的用户行为。

测试工具

选择合适的性能测试工具并编写测试脚本。您可以使用开源或商业工具,如Apache JMeter,LoadRunner或Gatling等。

测试执行

执行性能测试,并记录和监视测试结果。确保在测试期间跟踪CPU,内存和网络利用率等关键指标,并收集日志文件和报告。

分析和调整

一旦测试完成,您需要分析结果并根据所需的性能指标进行调整。在这个过程中,您可以确定瓶颈和性能问题,并确定必要的优化措施来提高系统或应用程序的性能。

报告

最后,编写性能测试报告,其中包括测试结果,分析以及建议的优化措施。确保报告易于理解,并涵盖所有测试目标和范围。

引言

  在进入今天的内容前, 先想几个问题:

  什么是测试计划?

       什么是性能测试计划?

  在你的性能知识领域中, 你认为性能测试计划应该包含哪些内容?

  因为作为企业的金牌面试官, 经过我面试的求职者,没有四位数,至少也有个位数。无论是性能测试的小白还是高级性能测试工程师,几乎都没有认真的或者完整的去实施过性能测试计划。

  其实,导致这种现在的原因,无非两种:

  1、企业 不太注重 性能测试;

  2、测试人员本身的能力不足。

  看到这里, 你是不是会说, 你看:不是我不专业,不是我不想写专业的性能测试计划,只是我的企业对性能测试计划的要求不高。

  作为一名性能测试工程师,你的专业度,一定是高于企业里的其他人,所以,你要做的,就是把你的专业,无限的放大,来完善企业中的空白。

  切勿有这种想法:反正BOSS不专业, 我随便写几段话糊弄过去就行了。同时,也为了能让你在与面试官的聊天中,体现你的专业,让面试官"折服"你,我写了这篇文章,希望你能学以致用。

什么是性能测试计划

  说道什么是性能测试计划, 我们就不得不提,什么是测试计划。引用官方文档:

  描述了要进行的测试活动的范围、方法、资源和进度的文档;

  是对整个信息系统应用软件组装测试和确认测试;

  它确定测试项、被测特性、测试任务、谁执行任务、各种可能的风险;

  测试计划可以有效预防计划的风险,保障计划的顺利实施。

  在项目的前期,测试计划是必须要做的,也是一名软件测试管理者必须具备的能力。一份完整的测试计划,可以:

  为测试各项活动制定一个现实可行的、综合的计划,包括每项测试活动的对象、范围、方法、进度和预期结果;

  确定测试所需要的时间和资源,以保证其可获得性、有效;

  确立每个测试阶段测试完成以及测试成功的标准、要实现的目标;

  识别出测试活动中各种风险,并消除可能存在的风险,降低由不可能消除的风险所带来的损失。

  你看, 测试计划的优势这么多:

  向上:领导做宏观调控;

  向下:测试人员了解项目不同阶段的测试任务。

  你还觉得测试计划的不重要吗?

  知道了测试计划,那我们再来聊一聊性能测试计划。简单的一句话概括:就是针对项目的性能制定的测试计划。

  测试计划包含整体测试的各个阶段:接口、功能、性能、自动化、集成等……

  而性能测试计划,就是针对性能测试的计划设定,理解了性能测试计划,那:

  性能测试计划包含哪些内容?

  以及如何编写有效的性能测试计划呢?

  如何让你的性能测试计划符合实际的项目呢?

  带着这些疑问,我们来逐一聊一聊。

性能测试计划包含的内容

  说到性能测试计划, 我先上一个图:

  看到这份性能测试计划, 是不是感觉似曾相识。是不是与你编写的性能测试计划的方案一样?是不是觉得,这些内容,已经足够了?

  如果你是这样想,那么,还请你思考以下几个问题:

  如果没有性能目标,你能否进行性能测试;

  如果没有性能场景和性能指标,你能否编写性能脚本;

  如果没有系统架构图, 你能否快速的了解系统架构逻辑;

  如果没有部署监控,你能否快速的定位及分析性能瓶颈。

  你看,这些都是在实际的性能测试中需要的,那肯定就需要在性能测试计划中列出来。否则, 如何进行脚本设计,如何进行监控部署,如何发现问题,分析性能瓶颈呢?

  按照上面的思路, 我再提供一张性能测试计划图,来对比一下:

  通过这两张图的对比,可以发现,第二张图更完整,不管向上对老板,向下对员工,都是一目了然。所以,你可以发现,一份好的性能测试计划,即使给外行人看,也能知道要目的和要做的内容。

  这时候,你可能有疑问,我这份性能测试计划这么多内容,那要写多长时间呢?每一项的内容,又要如何来写呢?如何让一个性能测试小白,快速掌握性能测试计划的编写要领呢?

  这里,我就逐一进行拆解。

背景

  先描述项目背景, 再阐述本次项目性能测试背景。

性能目标

  结合性能测试的场景,设定测试目标,例如:

  根据基准场景:测试某接口的最大容量;

  根据稳定性场景:测试某接口的最大运行时间。

压测范围

  根据系统的主流程,筛选需要压测的接口,如:

  计算接口;

  同步接口;

  其他主要接口。

启停准则

  这里主要包含:

  启动准则:完事具备,需要开始进行性能测试;

  结束准则:所有测试任务都完成,结束测试;

  暂停准则:在测试过程中,因测试环境受到干扰无法进行测试,导致暂停测试;

  再启动准则:解决完测试过程中的问题,可以继续进行测试。

性能指标

  包含内容,如下:

  目标接口;

  目标TPS;

  TPS标准方差;

  响应时间;

  响应时间标注方差。

系统架构图

  系统逻辑架构图;

  系统部署架构图。

压测前准备

  主要是硬件资源,例如:

  服务器台数:根据实际项目需要进行申请;

    服务器用途:数据库、缓存、集群、应用服务、监控服务部署等等;

  服务器配置:需要根据上线的服务器配置一样。

工具准备

  压测工具:实际压测的工具,例如:Jmeter、Ladrunner、Lcust等;

  监控工具:Prmethues、Grafana、Kafka、Lgstash、Spring Bt Admin等。

  数据准备

  测试脚本数据的准备:

  读取csv文件的数据;

  直接写入数据库的数据。

性能设计

  包含两部分,即:

  性能测试策略:连续、递增策略;

  业务场景设计:4种场景,如:基准场景、容量场景、稳定性场景、异常场景。

监控设计

  包含两部分,如下:

  全局监控设计:如 Prmetheus、Grafana、Spring Bt Admin等;

  定向监控设计:对具体的应用、数据库等进行监控分析,如 jstack、mysqlreprt等。

项目组织架构

  参与性能测试的项目组成员:

  PM

  架构师

  开发工程师

  性能测试工程师

  性能脚本编写工程师:性能测试分析工程师、运维

成果输出

  包含三部分内容,即

  过程性输出:性能测试脚本、性能缺陷列表;

  性能测试报告;

  性能调优报告。

项目风险分析

  主要通过以下几点进行分析:

  业务层的需求是否明确;

  环境问题;

  数据问题;

  业务模型;

  人员问题等等。

  你看,我把性能测试计划每一项的内容进行拆解, 这样是不是就通俗易懂了。

因此我建立了一个软件测试开发自学团,正在学习测试的小伙伴可以通过点击下面的小卡片

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于蒙特卡洛模拟法的电动汽车充电负荷研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

开源项目的流程

开源的好处 增加知名度和使用量:开源项目可以让更多人知道和使用,进而增加项目的知名度和使用量。提高代码质量:开源项目需要接受有可能来自全球的开发者审核和参与,这样可以使得项目代码得到更多高质量的反复审查和改进。快速修…

计算机视觉 | 目标检测与MMDetection

目 录 目标检测的基本范式 滑窗使用卷积实现密集预测锚框多尺度检测与FPN 单阶段&无锚框检测器选讲 RPNYOLO、SSDFocal loss 与 RetinaNetFCOSYOLO系列选讲 一、目标检测的基本范式 1、什么是目标检测 给定一张图片 ——》用矩形框框出所感兴趣的物体同时预测物体类…

前后端交互一、服务器概念与初识Ajax

零、文章目录 前后端交互一、服务器概念与初识Ajax 1、上网的过程 网络相关知识请参考网络详解HTTP相关知识请参考HTTP详解 (1)客户端与服务器 **上网的目的:**通过互联网获取和消费资源 **服务器:**上网过程中,负…

基于STM32的智能粮仓系统设计

一、项目背景 随着粮食质量要求的提高和储存方式的改变,对于粮仓环境的监测和控制也愈发重要。在过去的传统管理中,通风、防潮等操作需要定期人工进行,精度和效率都较低。而利用嵌入式技术和智能控制算法进行监测和控制,不仅能够…

【Git】git push origin master时发生的各类错误汇总

文章目录 一、常见的git命令二、错误一三、错误二四、错误三五、问题解决 一、常见的git命令 使用 git 命令时&#xff0c;您可以执行一系列操作来管理代码仓库。下面是一些常用的 git 命令及其功能&#xff1a; git init: 在当前目录初始化一个新的 git 仓库。git clone <…

2023年5月青少年机器人技术等级考试理论综合试卷(二级)

青少年机器人技术等级考试理论综合试卷&#xff08;二级&#xff09;2023.6 分数&#xff1a; 100 题数&#xff1a; 45 一、 单选题(共 30 题&#xff0c; 共 60 分) 1.下图中的凸轮机构使用了摆动型从动件的是&#xff1f; &#xff08; &#xff09; A.a B.b C.c D.d 试题类…

我是怎么劝退打算入行软件测试的同学的?

过去千篇一律的机构、文章都在劝大家入行软件测试——门槛低、工资高、加班少&#xff01;而这两年&#xff0c;受国内外形势、经济影响&#xff0c;整个IT行业都在走下坡路&#xff0c;被专家们称作行业回归理性发展。最近机构劝入行测试的帖子少了&#xff0c;而“我是在xxx如…

【Python 继承和多态】零基础也能轻松掌握的学习路线与参考资料

Python 继承和多态是面向对象编程中非常关键的概念。继承是一种创建新类的方法&#xff0c;通过继承一个已有的类来创建新类。而多态则是指不同的对象以不同的方式对同一消息作出响应的能力。在这篇文章中&#xff0c;我们将为您介绍 Python 继承和多态的学习路线&#xff0c;并…

d2l学习_第三章线性回归/欠拟合过拟合/权重衰减

x.1 Linear Regression Theory x.1.1 Model 线性回归的模型如下&#xff1a; 我们给定d个特征值 x 1 , x 2 , . . . , x d x_1, x_2, ..., x_d x1​,x2​,...,xd​&#xff0c;最终产生输出yhat&#xff0c;我们产生的yhat要尽量拟合原来的值y&#xff0c;在这一拟合过程中我…

【MySQL】数据库的增删改查、备份、还原等基本操作

【MySQL】数据库的基本操作 一、创建数据库---create1.1 字符集与校验规则1.1.1 查看系统默认字符集以及校验规则1.1.2 默认方式建立数据库1.1.3 指定编码集建立数据库 1.2 建库的本质 二、查看数据库及其相关属性---show2.1 显示所有数据库2.2 显示数据库的创建语句3.2 显示目…

Yarn【多队列实例、任务优先级设置】

前言 我们知道&#xff0c;Hadoop常见的三种调度器&#xff1a;FIFO调度器&#xff08;几乎不用&#xff0c;因为它是先来先服务&#xff09;、容量调度器&#xff08;Apache Hadoop 默认的调度器&#xff09;、公平调度器&#xff08;CDH默认调度器&#xff09;。 其中&…

PyTorch实战7:咖啡豆识别--手动搭建VGG16

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f366; 参考文章&#xff1a;365天深度学习训练营-第P7周&#xff1a;咖啡豆识别&#x1f356; 原作者&#xff1a;K同学啊|接辅导、项目定制 目录 一、 前期准备1. 设置GPU2. 导入数据3. 划分数…

Zookeeper节点操作

ZooKeeper的节点操作 ZooKeeper的节点类型 ZooKeeper其实也是一个分布式集群&#xff0c;其中维护了一个目录树结构&#xff0c;在这个目录树中&#xff0c;组成的部分是一个个的节点。ZooKeeper的节点可以大致分为两种类型: 短暂类型 和 持久类型 短暂类型ephemeral: 客户端…

Creating Add-in Hooks (C#)

本文介绍如何使一个文件在添加、检入、检出到库时&#xff0c;让add-in 程序在SOLIDWORKS PDM Professional 中通知到你。 注意&#xff1a; 因为 SOLIDWORKS PDM Professional 无法强制重新加载Add-in程序 &#xff0c;必须重新启动所有客户端计算机&#xff0c;以确保使用最…

电力综合自动化系统在煤矿领域的设计与应用

安科瑞虞佳豪 持续的高温&#xff0c;给能源保供带来严峻的考验。针对南方部分地区电力供应紧张的局面&#xff0c;煤炭资源大省山西&#xff0c;在确保安全生产的基础上&#xff0c;积极协调增产保供。 这几天&#xff0c;南方多地持续高温&#xff0c;用电量达到高峰。在山西…

深入理解深度学习——注意力机制(Attention Mechanism):Bahdanau注意力

分类目录&#xff1a;《深入理解深度学习》总目录 之前我们探讨了机器翻译问题&#xff1a; 通过设计一个基于两个循环神经网络的编码器—解码器架构&#xff0c; 用于序列到序列学习。 具体来说&#xff0c;循环神经网络编码器将长度可变的序列转换为固定形状的上下文变量&…

抖音seo矩阵系统源码搭建步骤分享

目录 账号矩阵系统源码搭建包括以下步骤&#xff1a; 二、代码实现 三、 代码展示 四、 服务交付 故障级别定义 服务响应时间 账号矩阵系统源码搭建包括以下步骤&#xff1a; 1. 准备服务器和域名 准备一台服务器&#xff0c;例如阿里云、腾讯云等。并在网站上购买一个域…

C++:类型转换

目录 一. C语言的类型转换 二. C类型转换 2.1 static_cast 2.2 reinterpret_cast 2.3 const_cast 2.4 dynamic_cast 三. 运行时类型识别 -- RTTI 四. 总结 一. C语言的类型转换 C语言的类型转换分为隐式类型转换和强制类型转换&#xff0c;隐式类型转换发生在相近的类…

WEB测试环境搭建和测试方法大全

一、WEB测试环境搭建 WEB测试时搭建测试环境所需的软硬件包括&#xff1a;电脑一台、JDK1.6、Tomcat7.0、mysql、IE浏览器、Firefox浏览器、Chrome浏览器、SVN客户端 通过SVN客户端导出最新的Web工程部署到Tomcat7.0下的webapps中&#xff0c;另外重要的一点就是修改数据库连…