首页 > 其他分享 >一文2000字手把手教你写一份优质的性能测试报告的编写

一文2000字手把手教你写一份优质的性能测试报告的编写

时间:2023-12-23 20:13:07浏览次数:40  
标签:场景 测试报告 登录 响应 手把手 并发 2000 测试 上传

性能测试项目实战(风暴平台)

1、背景

公司之前的测试团队做API的⾃动化测试都是使⽤JMeter等工具来进行,这样的话测试效率⽽⾔不是那么很⾼,⽽ 且在扩展性⽅⾯不是很有竞争⼒的。所以开发了新的测试平台,但是考虑到公司

的测试⼈员有1000⼈,那么就需要验证1000⼈同时使⽤测试平台,是否会出现平台⽆响应以及崩溃(雪崩)的情况。

2、性能测试过程

2.1测试前期准备(前置工作)

2.2测试工具引入

基于梳理的业务场景,和服务底层稳定性体系的保障,性能测试⼯具的选择具体如下:

2.3测试计划

2.3.1背景

公司之前的测试团队做API的⾃动化测试都是使⽤JMeter等⼯具来进⾏,这样的话测试效率⽽⾔不是那么很⾼,⽽ 且在扩展性⽅⾯不是很有竞争⼒的。所以开发了新的测试平台,但是考虑到公司

的测试⼈员有1000⼈,那么就需要验证1000⼈同时使⽤测试平台,是否会出现平台⽆响应以及崩溃(雪崩)的情况。

2.3.2前置工作

(1)人员配置

 

(2)技术(工具)选择

 

(3)测试范围

 

(4)测试风险

目前无风险,一般情况下,无风险,就可以填写无。

2.3.3测试设计与开发

jmeter工具

jmeter如何写接口的测试用例,在接口测试里说过,此处不再赘述,本次通过浏览器的network抓取接口数据。

(1)测试并发登录

该场景有两种设置设计思路,一般一起使用,比较有说服力。当服务满足100个人同时登录时,再验证一下90和110个人同时登录的情况,可以得到一个响应时间和同时登录的人数的函数,为后续

服务器的使用提供一个参考数据。

使用调度器的设计思路,可以保证负载达到目标要求。

 

不使用调度器的思路,这种方法无法保证服务器的负载达到要求。

(2)产品列表加载

该场景有两种设置设计思路,一般一起使用,比较有说服力。当服务满足50个人同时登录时,再验证一下40和60个人同时登录的情况,可以得到一个响应时间和同时登录的人数的函数,为后续

服务器的使用提供一个参考数据。

使用调度器的设计思路

不使用调度器的思路

(3)产品搜索

与产品列表加载同理。

(4)同时支持执行api测试用例

首先需要在测试平台上点击执行api测试用例,然后再jmeter中填写测试用例,再考虑并发。该场景有两种设置设计思路,一般一起使用,比较有说服力。当服务满足100个人同时登录时,再验证

一下90和110个人同时登录的情况,可以得到一个响应时间和同时登录的人数的函数,为后续服务器的使用提供一个参考数据。设计思路与测试并发登录一致。

测试最简单的方法

在测试并发登录时,如需要满足50个人同时登录该测试平台,我们可以先测试一个人登录,看响应时间是否超过5s,如果超过5s表示需要优化,可不进行50个人同时登录该测试平台的测试,直接

与开发沟通优化。

(5)上传文件最大支持2G(非功能性验证)

当被测平台的文件上传服务,最大支持上传2G的文件时,我们对平台做性能测试时,可以上传2G的文件,然后看上传过程中是否会出现timeout(解决办法:把文件先进行拆分,如拆分成4个500

兆的文件,然后在进行上传,上传成功后再合并)、上传成功的文件是否会缺失或者上传成功的文件是否会乱码或者文件错乱。(出现socket表示网络层出现错误)

文件上传服务监控是否会出现内存泄露的步骤:打开JVM工具——获取pid——通过jvisualvm查看监控(CPU和memory)——页面操作文件上传——观察日志,如果日志中出现java.log.out of

memory表示内存泄漏。

loucst

(6)支持连续的发送api请求

该场景需要用到locust工具,我们首先需要创建locustfile文件夹,内容如下:

接下来,我们打开控制台进入存放locustfile文件的目录下,输入locust -f locustfile文件夹的文件名,然后进入locust网站,进行场景设计,发送请求,然后点击charts就可以查看到响应时间等数据表。

2.4测试执行与管理

执行我们的测试计划,收集监控结果。以测试并发登录的场景为例,我们通过jmeter执行测试计划,然后通过Grafana进行数据的检测,我们主要需要添加如下图所示的两项资源:

我们需要特别注意的几个结果如图:summary的总述部分、响应时间、吞吐量和系统负载。

 

2.5数据收集

收集执行过程中的数据。

2.6测试分析(写测试报告)

2.6.1人员参与

2.6.2报告汇总

需要对每个场景进行单独的具体的分析,这里我们以测试并发登录为例,对该场景进行分析如下:

测试并发登录场景

(1)测试结论:测试结果不符合预期,在100⽤户并发登录的情况下,响应时间最⼤是31.88s。

(2)过程数据:把summary的总述部分、响应时间、吞吐量和系统负载的数据图截下来放到报告中,进行简单的分析。

从上图中,我们可以看到吞吐量在15:40:40时,吞吐量达到最大,而在15:40~15:41这个时间段中,系统的负载和响应时间页达到了最高点。

(3)错误汇总

此时简单的描述下错误类型,然后把错误日志截图下来,如下图:

*注意在截图错误日志时,我们在日志中找到错误行的信息,然后截图时截取该错误信息的上下个30行日志信息,并且要截取到详细时间。

2.6.3测试风险

这里预期会发生的风险也需要考虑到,如图:

2.6.4测试结论

最后,总体的对各个测试场景性能测试是否通过,做一个汇总,这里只以测试并发登录为例进行填写。依据上述的各个结果,整体测试结论具体汇总如下图:

最后如果你想学习软件测试和需要软件测试资料,欢迎加入笔者的交流群:731789136,里面可以免费领取软件测试+自动化测试资料+软件测试面试宝典+简历模版+实战项目+面试刷题工具和大佬答疑解惑,我们一起交流一起学习!

搜索

复制

标签:场景,测试报告,登录,响应,手把手,并发,2000,测试,上传
From: https://www.cnblogs.com/nhb1234/p/17923544.html

相关文章

  • python自动化学习笔记5-----allure测试报告
    1、运行测试报告 2、allure注解的使用  3、优化测试报告之添加对应的标签 4、注解的使用     5、yaml文件格式 6、更改logo(1)allure目录下找到allure.yml的文件,增加插件    (2)在插件目录下添加要展示的图片    (3)修改styles.cs......
  • 手把手教你如何下载新东方在线上面已购买的视频课程
    前言:很多同学都想知道新东方在线上的视频课程怎么下载,但是新东方在线上面已购买的视频课程是不提供直接下载方式的,所以下面就教大家如何用学无止下载器下载新东方在线上面已购买的视频课程。一、电脑网页打开新东方在线官网(https://study.koolearn.com/my),进入我的课程二、找到......
  • 手把手教你isPalindrome 方法在密码验证中的应用
    在信息安全领域中,密码验证是一个极为重要的组成部分。一个强密码应具备足够的复杂性,以免遭到破解。而回文密码是一种具备特殊性质的密码,其正序和倒序相同,因此具有极高的安全性,并能发挥重要作用。在实际密码策略中,我们可以使用回文判断算法中的isPalindrome来验证用户输入的密码是......
  • 研发提效必备技能:手把手教你基于Docker搭建Maven私服仓库
    沉淀,成长,突破,帮助他人,成就自我。大家好,我是冰河~~在研发的过程中,很多企业都会针对自身业务特点来定制研发一些工具类库,但是这些工具类库又不会对外公开,那如何在组织内部共享这些类库呢?一种很好的方式就是在公司内部搭建一套Maven私服仓库。一、背景知识搭建Maven私服仓库可......
  • 迅为3A5000_7A2000全国产处理器LoongArch架构核心主板
    性能:采用全国产龙芯3A5000处理器,基于龙芯自主指令系统(LoongArche)的LA464微结构,并进一步提升频率,降低功耗,优化性能。桥片:采用龙芯7A2000,支持PCIE3.0、USB3.0和SATA3.0显示接口2路、HDMI和1路VGA,可直连显示器;另外内置一个网络PHY,片内集成了自研GPU,搭配32位DDR4显存接口......
  • 手把手教你用python做一个年会抽奖系统
    引言马上就要举行年会抽奖了,我们都不知道是否有人能够中奖。我觉得无聊的时候可以尝试自己写一个抽奖系统,主要是为了娱乐。现在人工智能这么方便,写一个简单的代码不是一件困难的事情。今天我想和大家一起构建一个简易的抽奖系统,这样也能够巩固一下我自己对Python语法和框架的理解......
  • 手把手教你使用ArkTS中的canvas实现签名板功能
     一、屏幕旋转● 实现签名板的第一个功能就是旋转屏幕。旋转屏幕在各种框架中都有不一样的方式,比如:在H5端,我们一般是使用CSS中的transform属性中的rotate()方法来强制将网页横屏,然后实现一系列功能● 在嵌套第三方APP中,我们一般是调用对应的SDK提供的方法,即可实现旋转屏幕......
  • 使用docker编译OpenHarmony e2000记录
    使用docker编译OpenHarmonye2000记录目录使用docker编译OpenHarmonye2000记录0、环境准备1、安装docker2、编译docker镜像3、创建docker容器4、docker编译系统5、镜像推送6、镜像拉取0、环境准备参考device_board_phytium/e2000/README.md·Phytium嵌入式软件/Phytium-Ope......
  • 解决方案 | AutoCAD二次开发的ProgID一览表(AutoCAD2000 ~ AutoCAD2024)
    1图片版本    2文字版本AutoCAD产品名版本号ProgIDAutoCAD2004R16AutoCAD.Application.16AutoCAD2005R16.1AutoCAD.Application.16.1AutoCAD2006R16.2AutoCAD.Application.16.2AutoCAD2007R17AutoCAD.Appl......
  • MySQL:SQL 错误 [1118] [42000]: Row size too large.
    1.场景:今天在用MySQL建表的时候,报了一个错误;SQL错误[1118][42000]:Rowsizetoolarge.Themaximumrowsizefortheusedtabletype,notcountingBLOBs,is65535.Thisincludesstorageoverhead,checkthemanual.YouhavetochangesomecolumnstoTEXTor......