如何做一份精致的性能测试报告?

news2024/11/24 6:39:06

相比于普通的功能测试,性能测试对测试工程师的技能要求更高,一般来说,也只有中高级测试工程师才会有机会做性能测试。

对于题主关心的问题,我拆分出下面三个部分来做解答:

1、性能测试报告的目的
2、性能测试过程中的关注点有哪些?
3、如何做一份精致的报告
4、性能测试学习视频推荐

行文开始。


一、性能测试报告的目的

如何做一份精致的性能测试报告?首先要明确测试报告的目的是什么,测试报告要给谁看。

1、性能测试报告的目的是什么?

性能测试报告的目的是:总结过程,呈现结论。

性能测试做完了,怎么做的,各项指标怎么样,是否符合预期,我们需要通过一份报告来呈现。

同时,性能测试报告也是一份留档,在下次业务扩容进行压测的时候可以作为基线参考,可以更好地评估压测指标。

2、性能测试报告给谁看?

在做性能测试的过程中,很多时候是要研发工程师协助一起完成的,所以最终的报告不仅是我们自己要看,同时也要给研发工程师及架构师看。因此,我们在撰写报告的时候要把各个角色关注的指标有效地呈现出来。


二、性能测试过程中的关注点

性能测试分别要关注施压端和服务端。

施压端即我们用来模拟压力发出请求的服务器,常用的工具有Jmeter、Loadrunner等,模拟较大压力时通常采用多台机器组成的集群。

在施压过程中,施压端一般要关注三个指标: qps(请求量)、rt(响应时间)、error(错误率)。

服务端即服务程序所在的机器,一般是多台服务器组成的集群,在性能测试过程中是被压测的对象。

服务端(或服务集群)一般关注下面几个指标:qps(处理的请求量)、rt(响应时间)、cup(cpu使用率)、mem(内存占用情况)、load(负载)、traffic(网络速率)。

为什么要关注上述这些指标呢?看完指标具体含义,你就能get到了:

1)qps

QPS(Query Per Second),每秒钟能够处理的请求的数量,是衡量一个系统性能的重要指标。

2)rt

RT(Response Time),响应时间(一般单位为ms),是指从客户端发一个请求开始计时,到客户端接收到从服务器端返回的响应结 果结束所经历的时间,响应时间由请求发送时间、网络传输时间和服务器处理时间三部分组成。一般情况下,响应时间还会细分为:最小响应时间、平均响应时间、最大响应时间。

3)error

error请求错误率,一个请求预期正常的返回code为200,其它code(比如302、404、500等)均为非预期的,记为错误。错误率是指在施压机发送的所有请求中,返回code非200的占比。

4)cpu

CPU(%) 是指测试任务运行的这个时间段内,应用服务系统的 CPU 资源占用率。这是对一个时间段内CPU使用状况的统计,通过这个指标可以看出在某一个时间段内CPU被占用的情况,如果被占用时间很高,那么就需要考虑CPU是否已经处于超负荷运作,长期超负荷运作对于机器本身来说是一种损害,因此必须将CPU的利用率控制在一定的比例下,以保证机器的正常运作。

5)mem

Memory (%) 指的是当前系统内存的使用量占总内存大小的比率,反应当前机器配置情况对应用的内存的一个承载能力,判断扩容等重要指标。

6)load

Load 就是一定时间内,计算机的任务执行队列的长度,cpu计算的队列。平均Load是指,在特定的一段时间内统计的正在CPU中运行的(R状态)、正在等待CPU运行的、处于不可中断睡眠的(D状态)的任务数量的平均值。平均Load是最常用的指标。

7)traffic

Traffic (kb/s) 指的是网络传输的速率,反应了当前应用所属服务器带宽的使用情况。可以细分为 in(入) 和 out(出),一般会统计 最大值、最小值、平均值等。


三、如何做一份精致的报告

压测结束,最后要输出测试报告,一份精致的报告不仅能够很好地展示测试结果,同时也是体现自己的专业性的机会。

1、通过几个问题来介绍精致报告组成部分

问题1、用什么文档写?

如果自己所在公司没有规定,建议紧跟在线协作的趋势,使用在线文档编写,比如腾讯文档、钉钉文档、飞书文档等,功能都很丰富好用。

如果自己的所在公司有内部协作平台,就在指定平台上写,最终成稿之后复制到邮件正文发送即可。

问题2、用什么语言写?

根据自己公司的类型来,一般国内公司就用中文,没必要用英文,花里胡哨反而不好。

如果是在国际化企业,有不同籍员工,那就要用公司规定的语种。

问题3、报告内容用图表还是文字?

我们可以参考优秀的报告模板,总结下来就是字要少,图表要丰富,能用图说明的绝不用文字。

相比于文字,图表显得专业、高级,而且压测数据一般都是是变化的,只有图表才能够准确直观地展示压测过程的各项指标。

测数据的图表一般在压测工具(Jmeter可以使用第三方插件)中会自动生成【下方有Jmeter使用视频】,需要我们截图并整理。图表有了,接下来就该整理撰写报告了。

问题4、关键内容有哪些?

一份完整的报告应该包含以下关键内容:

    • 压测信息(包含任务名称、压测时间、相关责任人等)

    • 施压机信息(包含机房信息、机器配置等)

    • 服务端信息(包含机房信息、机器配置等)

    • 压测结果(包含平均qps、最大最小耗时、cpu平均使用率、内存平均使用率、总的请求数、错误率等)

    • 压测详情(单个接口时该内容可省略,多个接口时,则将第4项内容按接口拆分展示)

    • 压测指标(三大指标qps、rt、error的图表放在这里)

    • 服务监控指标(服务器或集群的指标图表放在这里)

问题5、排版格式注意什么?

报告中字体要协调统一,缩进换行等基本排版要美观。

问题6、报告附件补充什么?

  • 测试方案

  • 测试测数据

问题7、发送报告的注意事项

  • 使用公司指定的邮箱发送

  • 收件人应包含相关的各个角色

2、给出一份测试报告的样例,作为参考

作为程序员,大家都普遍都低调含蓄,但是该展现自己专业性的时候一定要积极表现。

对于测试工程师来说不仅要掌握专业的测试技能,同时也要提升各种文档的撰写能力,让自己的技能得到全面的展现。


四、性能测试学习资料推荐

只懂理论,不懂操作,也只能是纸上谈兵,最后附上常用的压测工具视频和书本,赶紧学习起来吧。

1、书籍推荐

《精通软件性能测试与LoadRunner实战》

2、视频推荐

1.《4天带你入门性能测试2021版》
2.《性能测试工具LoadRunner入门》
3.《自动化工具Jmeter_入门到进阶6小时搞定》
 


总结:性能测试属于软件测试的高阶测试,薪资高,发展好。

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

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

相关文章

【算法分析与设计报告】快递终端送货配送系统、基因序列比较、地图染色、文章查重系统、果园篱笆问题(附源码)

一、快递终端送货分配问题 问题描述 假设某快递终端投递站,服务n个小区,小区与快递点之间有道路相连,如下图,边上的权值表示距离。 图1-1 小区快递点图 现在设有m包裹,每个包裹都有自己的目的地及总量。 假设送货员一…

IPB072N15N3G-ASEMI代理英飞凌高压MOS管IPB072N15N3G

编辑:ll IPB072N15N3G-ASEMI代理英飞凌高压MOS管IPB072N15N3G 型号:IPB072N15N3G 品牌:英飞凌 封装:TO-263 最大漏源电流:31A 漏源击穿电压:600V RDS(ON)Max:99mΩ…

第四届“中国法研杯”司法人工智能挑战赛-刑期预测赛道三等奖方案

一、前言 本文将回顾第四届“中国法研杯”司法人工智能挑战赛-刑期预测算法赛道比赛。使用多任务预训练、然后进行微调的形式最终在比赛中取得了三等奖的成绩。 二、任务介绍 主办方在第一届“中国法研杯”比赛上提出了刑期预测任务,本届将针对往届刑期预测准确率…

《终身成长》笔记六——称赞努力的过程,也将其与结果关联

目录 经典摘录 成为好父母好老师 成长型思维模式的真伪 第一种错误理解:很多人将他们身上某些他们喜欢的优点称作“成长型思维模式” 第二种错误理解:很多人认为成长型思维模式只关乎努力,特别是去夸奖别人的努力 第三种错误理解&#xff…

基于树莓派4B的智能家居

基于树莓派4B的智能家居 前言C语言的简单工厂模式工厂模式介绍类和对象工厂模式的优缺点优点缺点 智能家居框架产品工厂卫生间灯设备二楼灯设备餐厅灯设备客厅灯设备泳池灯设备风扇设备锁设备警报器设备地震监测设备火灾监测设备温湿度检测设备 指令工厂语音控制设备server控制…

如何创建样本手册?

第一步:提前研究和规划 首先明确目标客户群体在其中扮演的角色。 谁会穿你的衣服?您品牌的潜在客户是谁?他们的愿望是什么?他们会被什么打动?设置客户角色至关重要,因为它将决定样本手册的基调&#xff0…

Simulink 自动代码生成电机控制:模型仿真速度的优化

目录 方法一 Simulationmode 方法二 多核并行 方法三 Performance Advisor 总结 方法一 Simulationmode 执行下面的指令获取Simulink仿真实时,这里以霍尔FOC的模型为例,在切换模式为Accelerator时不能使用调用子模型的形式,需要把子模型复制…

map的forEach区别

map的forEach区别 先总结下: map和forEach区别是: 1.map有返回值而且必须return返回一个数组才行 ; 而forEach没有返回值可直接打印结果; 即:forEach()方法不会返回执行结果,而是undefined。也就是说,forEa…

vue 在线聊天实战范例(含选择发送表情、图片、视频、音频,自定义右键快捷菜单,一键复制,左右聊天气泡)

最终效果 完整代码 index.vue <template><div class"page"><div class"leftBox"><h1>访客</h1><div class"chatBox"><div class"chatRecordBox"><div v-for"(item, index) in cha…

DBCO-COOH分子量:305.3,CAS:1353016-70-2,二苯基环辛炔-羧基;类似有DBCO-NH2、SH、MAL、NHS等等

中文名称&#xff1a;二苯基环辛炔-羧基 英文名称&#xff1a;DBCO-acid 英文别称&#xff1a;DBCO-COOH cas: 1353016-70-2 分子式&#xff1a;C19H15NO3 分子量&#xff1a;305.3 DBCO-COOH是DBCO 衍生化的常用构件&#xff0c;在EDC、DCC和HATU等活化剂存在下&#xf…

linux kernel menuconfig kconfig makefile

概述 menuconfig是Linux平台用于管理代码工程、模块及功能的实用工具。 menuconfig的使用方式通常是在编译系统之前在系统源代码根目录下执行make menuconfig命令从而打开一个图形化配置界面&#xff0c;再通过对各项的值按需配置从而达到影响系统编译结果的目的。 Nuttx的me…

Spring Boot 数据库操作Druid和HikariDataSource

目录 Spring Boot 数据库操作 应用实例-需求 创建测试数据库和表 进行数据库开发&#xff0c; 在pom.xml 引入data-jdbc starter 参考官方文档 需要在pom.xml 指定导入数据库驱动 在application.yml 配置操作数据源的信息 创建bean\Furn.java 测试结果 整合Druid 到…

六、easyUI中的window(窗口)组件

1.window&#xff08;窗口&#xff09;组件的概述 窗口控件是一个浮动和可拖拽的面板&#xff0c;它可以用作应用程序窗口。默认情况下&#xff0c;窗口可以移动&#xff0c;调整大小和关闭。它的内容也可以被定义为静态HTML或要么通过Ajax动态加载 2.window&#xff08;窗口&…

MySQL-备份+日志:介质故障与数据库恢复

MySQL-备份日志&#xff1a;介质故障与数据库恢复 第1关&#xff1a;备份与恢复任务描述相关知识MySQL的恢复机制MySQL的备份与恢复工具编程要求代码参考 第2关 备份日志&#xff1a;介质故障的发生与数据库的恢复任务描述相关知识编程要求测试说明代码参考 第1关&#xff1a;备…

《分布式微服务电商源码》-项目简介

1.常见的电商模式 市面上有 5 种常见的电商模式 B2B、B2C、C2B、C2C、O2O 1.1.B2B 模式 B2B(Business to Business)&#xff0c;是指商家和商家建立的商业关系&#xff0c;如阿里巴巴. 1.2.B2C 模式 B2C(Business to Consumer) 就是我们经常看到的供应商直接把商品买个用户&a…

057:cesium设置纯颜色材质

第057个 点击查看专栏目录 本示例的目的是介绍如何在vue+cesium中设置纯颜色的材质,颜色的表达方式可以参考这篇文章 Cesium七种方法设置颜色 直接复制下面的 vue+cesium源代码,操作2分钟即可运行实现效果. 文章目录 示例效果配置方式示例源代码(共87行)相关API参考:专…

用友BIP新零售产品发布,与零售企业共创新未来

随着数智化时代的到来&#xff0c;零售企业不断面临着更多的挑战和机遇。为了满足消费者多元化的需求&#xff0c;零售企业需要采用多种方式来提高竞争力&#xff0c;如多渠道销售、线上线下融合、数智化运营、个性化营销和无缝化体验等。用友BIP新零售为零售企业提供了数智化转…

Jenkins的持续集成与持续部署

系统总体架构 Gitlab Gitlab是一款主要用于代码管理的工具&#xff0c;相较于GitHub&#xff0c;可以自己搭建服务器&#xff0c;这可以避免因为网络速度慢导致部署效率低下&#xff0c;同时&#xff0c;自己搭建服务器&#xff0c;安全性更高。Jenkins Jenkins主要用于管理版本…

改图片分辨率:提升图像质量的关键步骤

无论您是一名摄影师、设计师&#xff0c;还是一个爱好者&#xff0c;改变图片分辨率都是必不可少的工作。在本文中&#xff0c;我们将介绍改图片分辨率的作用以及它在哪些场景下使用。 改图片分辨率介绍 图片分辨率是指图像中所包含的像素数量&#xff0c;通常以“每英寸像素…

threejs 相机OrbitControls常用方法及属性

相机控件OrbitControls 通过OrbitControls可以对三维场景进行缩放、平移、旋转&#xff0c;本质上改变的不是场景&#xff0c;而是相机的参数&#xff0c;相机的位置角度不同&#xff0c;同一个场景的渲染效果是不一样&#xff0c;比如相机围绕着一个场景旋转&#xff0c;就像…