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

news2024/11/24 4:25:27

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

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测试结论

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

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

在这里插入图片描述

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

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

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

相关文章

只要看完这6个案例,就会刷新你对室内空间颜色搭配的认知

只要看完这6个案例,就会刷新你对室内空间颜色搭配的认知! 室内设计和家居装饰灵感因 "芭比娃娃 "电影的上映而席卷了 A&D 行业。随着多年来粉红色的复苏,专家们采用大胆的粉红色调和女性化的装饰也就不足为奇了,而这…

不同阶段uncertainty如何设置

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? PreCTS stage: Setup uncertainty jitter skew margin Hold uncertainty skew margin PostCTS stage: Setup uncertainty jitter margin Hold uncertainty margin jitter指的是pll时钟抖动…

每个开发人员都想使用的编程语言

在任何时候,一些编程语言都会把大量的开发人员变成热情的布道者,试图说服世界其他地方的人相信它的伟大。 当热起来的时候,这种语言可能会成为行业标准,但其他时候,这种受欢迎程度就会消失。 在这个故事中&#xff0…

【重要!合规政策更新】欧盟,儿童玩具相关产品卖家请及时关注!儿童玩具EN71

合规政策更新! 尊敬的卖家: 您好! 我们此次联系您是因为您正在销售需要审批流程的商品。为此,亚马逊正在实施审批流程,以确认我们网站上提供的商品类型须符合指定的认证标准。要在亚马逊商城销售这些商品&#xff0…

华为OD七日集训第8期 - 按算法分类,由易到难,循序渐进,玩转OD

目录 一、适合人群二、本期训练时间三、如何参加四、7日集训第8期五、精心挑选21道高频100分经典题目,作为入门。第1天、数据结构第2天、滑动窗口第3天、贪心算法第4天、二分查找第5天、分治递归第6天、深度优先搜索dfs算法第7天、宽度优选算法,回溯法 六…

小程序框架语法详解以及页面生命周期的代码预演

目录 一、框架简介 二、视图层 2.1 简介 2.2 WXML语法演示 2.2.1 数据绑定 2.2.2 列表渲染 2.2.3 条件渲染 2.2.4 模板 2.3 事件系统 2.4 页面一级菜单展示及切换 2.5 a页面跳b页面界面内部按钮演示 2.6 a页面跳c页面(不在一级菜单内的页面)…

基于SpringBoot的在线小说阅读平台系统

基于SpringBoot的在线小说阅读平台系统的设计与实现~ 开发语言:Java数据库:MySQL技术:SpringBootMyBatisVue工具:IDEA/Ecilpse、Navicat、Maven 系统展示 主页 个人中心 登录界面 管理员界面 摘要 基于Spring Boot的在线小说阅读…

【M1-Java】讲讲 StringBuffer和StringBuilder区别

StringBuffer和StringBuilder区别 开头:首先,StringBuffer和StringBuilder都是用于存储或者修改拼接字符串的,与String类似。 来源:都继承AbstractStringBuilder类。初始容量为16的字符串缓冲区。 字符修改上的区别: ①和 String 类不同的…

安全测试概述和用例设计

一、安全测试概述 定义:安全测试是在软件产品开发基本完成时,验证产品是否符合安全需求定义和产品质量标准的过程。 概念:安全测试是检查系统对非法侵入渗透的防范能力。 准则:理论上来讲,只要有足够的时间和资源&a…

Java中,对象一定在堆中分配吗?

在我们的日常编程实践中,我们经常会遇到各种类型的对象,比如字符串、列表、自定义类等等。这些对象在内存中是如何存储的呢? 你可能会毫不犹豫地回答:“在堆中!”如果你这样回答了,那你大部分情况下是正确…

深入理解Scrapy

Scrapy是什么 An open source and collaborative framework for extracting the data you need from websites. In a fast, simple, yet extensible way. Scrapy是适用于Python的一个快速、简单、功能强大的web爬虫框架,通常用于抓取web站点并从页面中提取结构化的数…

开源六轴机械臂myCobot 280末端执行器实用案例解析

Intrduction 大家好,今天这篇文章的主要内容是讲解以及使用一些myCobot 280 的配件,来了解这些末端执行器都能够完成哪些功能,从而帮助大家能够正确的选择一款适合的配件来进行使用。 本文中主要介绍4款常用的机械臂的末端执行器。 Product m…

安防监控系统EasyCVR视频汇聚平台设备树收藏按钮的细节优化

视频监控TSINGSEE青犀视频平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,在视频监控播放上,TSINGSEE青犀视频安防监控汇聚平台可支持1、4、9、16个画面窗口播放,可同时播放多路视频流&#…

使用allure如何生成自动化测试报告 ?一文详解allure的使用 。

网上介绍allure报告的很多 ,但个人总感觉还是不够整体 ,不够详细 ,所看到的都是局部 。故本人花了些时间 ,将这个allure详细的整理了一遍 。整体且涉及每个细节 。 1.allure介绍 它是一个生成HTML测试报告的工具包 使用java开发…

14.6 Socket 应用结构体传输

当在套接字编程中传输结构体时,可以将结构体序列化为字符串(即把结构体的所有成员打包成一个字符串),然后将字符串通过套接字传输到对端,接收方可以将字符串解析为结构体,然后使用其中的成员数据。这种方法…

如何提高企业工作微信的管理效率?

微信作为一款拥有数亿用户的软件,其使用频率在全国范围内居高不下。随着企业的不断发展,微信在工作中的应用也变得越来越广泛。为了更好地服务客户并提升业务效益,企业通常会为新入职员工配置工作微信以便于业务沟通和客户服务。然而&#xf…

推荐系统离线评估方法和评估指标,以及在推荐服务器内部实现A/B测试和解决A/B测试资源紧张的方法。还介绍了如何在TensorFlow中进行模型离线评估实践。

文章目录 🌟 离线评估:常用的推荐系统离线评估方法有哪些?🍊 1. RMSE/MSE🍊 2. MAE🍊 3. Precision/Recall/F1-score🍊 4. Coverage🍊 5. Personalization🍊 6. AUC &…

ChatGPT当导购员!全球最大超市,全面应用生成式AI

全球最大连锁超市沃尔玛(Walmart)在官网宣布,将在电商平台试用3款生成式AI,帮助用户改善购物体验提升效率。 据悉,沃尔玛使用了一种类ChatGPT的产品,可根据文本提示自动生成购物建议、搜索建议和评论摘要等…

客流人数管理新趋势:景区客流采集分析系统的功能特点

随着旅游业的蓬勃发展,越来越多的人选择前往景区进行休闲和旅游。然而,人流量的增加也给景区管理带来了一系列的挑战。为了更好地管理和运营景区,景区客流采集分析系统应运而生。 一、案例展示 二、产品卖点 该系统利用先进的人工智能算法和…

今天面了一个来华为要求月薪23K,明显感觉他背了很多面试题...

最近有朋友去华为面试,面试前后进行了20天左右,包含4轮电话面试、1轮笔试、1轮主管视频面试、1轮hr视频面试。 据他所说,80%的人都会栽在第一轮面试,要不是他面试前做足准备,估计都坚持不完后面几轮面试。 其实&…