浅谈性能测试中的基准测试

性能测试中有一种测试类型叫做基准测试。这篇文章,就聊聊关于基准测试的一些事儿。

1、定义

通过设计合理的测试方法,选用合适的测试工具和被测系统,实现对某个特定目标场景的某项性能指标进行定量的和可对比的测试。

2、特质

①、可重复性:可进行重复性的测试,这样做有利于比较每次的测试结果,得到性能结果的长期变化趋势,为系统调优和上线前的容量规划做参考。

PS:这种特质是为了满足基准测试的日常轮询需要。

②、可观测性:通过全方位的监控(包括测试开始到结束,执行机、服务器、数据库),及时了解和分析测试过程发生了什么。

③、可展示性:相关人员可以直观明了的了解测试结果(web界面、仪表盘、折线图树状图等形式)。

④、真实性:测试的结果反映了客户体验到的真实的情况(真实准确的业务场景+与生产一致的配置+合理正确的测试方法)。

⑤、可执行性:相关人员可以快速的进行测试验证修改调优(可定位可分析)。

3、前置条件

基准测试一定要在可控的条件下进行。

面对日益复杂的系统和不断增长的用户数,以及性能测试可能涉及到的多个业务系统,只有做到基准测试所涉及的业务场景、系统架构、测试环境等在可控状态下,才能得到相对准确的结果,为容量规划、缺陷定位、系统调优提供参考和依据。

4、意义

①、为容量规划确定系统和应用程序的极限;

②、为配置测试的参数和配置选项提供参考依据;

③、为验收测试确定系统是否具备自己所宣称的能力;

④、为性能基线的建立提供长期的数据统计来源以及比较基准。

5、前提

①、测试目的:明确测试的目的,测试什么?用什么测试方法、策略?

②、测试环境:被测系统的环境是什么,SIT还是UAT活着PAT?

③、测试限制:要执行测试有哪些限制因素,该如何解决?

④、风险因素:测试可能存在哪些风险,解决方案是什么?

⑤、结果分析:对测试结果如何分析?测试产生的数据如何分析、定位?

6、原则

①、测试策略:稳定且连续的工作负载,多次运行,看测试结果数据的正态分布趋势,尽量取平均值;

②、数据统计:真实环境下测试数据的平均值、峰值各是多少,取值的维度;

③、差异风险:明确存在哪些风险,风险对测试结果的影响,是否忽略;

④、特殊情况:有哪些特殊情况,是否有对应的解决方案(比如支付场景中的支付服务调用,是否采用挡板等)。

7、需要考虑的因素

交易配比:某些业务场景,一个流程包含多个事务,在模拟并发中,不同的事务各自的占比;

突发性的读写操作:某些特殊业务场景,会有短时的大流量冲击或者请求数量骤减,该如何模拟(浪涌测试);

系统配置:不同环境的系统配置不同,测试结果如何换算、如何对比?

测试时长:测试执行过程中,运行多长时间,不同交易运行的时间分配等;

结果展示类型:平均值、峰值、百分比值如何展示,如何对比?

成功/失败占比:每次测试过程中,成功和失败的事务占比统计;

是否可重现:如测试过程中出现报错或某些异常情况,是否可以重现?

是否可对比:是否有其他测试工具或者测试结果进行对比(尽量多次执行测试,进行测试结果对比:标准方差、正太分布了解一下?)

8、简单可行的方法

逐渐增加系统负载是一个确定系统所能处理的最大吞吐量的简单办法,也是寻找系统性能拐点的可行策略(阶梯式加压测试)。

9、重点

基准测试的工作重点是统计分析:可以从以下几个维度去进行统计:

①、选择合适的测试工具,设定合理的测试方法以及需要确认的系统性能指标;

②、选择不同的测试工具,对测试结果进行对比,选择稳定且能反应系统真是性能表现的结果;

③、多次执行测试,收集大量的测试数据集和指标;

④、从不同维度解读分析数据,生成报告。

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

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取

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

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

相关文章

FPGA——verilog实现格雷码与二进制的转换

文章目录 一、格雷码简介二、二进制转格雷码三、格雷码转二进制四、仿真 一、格雷码简介 格雷码是一种循环二进制码或者叫作反射二进制码。跨时钟域会产生亚稳态问题(CDC问题):从时钟域A过来的信号难以满足时钟域B中触发器的建立时间和保持时…

【ROS第一讲】一、创建工作空间

【ROS第一讲】一、创建工作空间 一、工作空间1.src:2.build:3.devel:4.install: 二、创建工作空间1.工作空间的编译2.配置环境变量: 三、创建功能包 一、工作空间 1.src: 放置所有功能包源码的空间 2.build&#xf…

vue中tab隐藏display:none(v-show无效,v-if有效)

目录 背景 原因:display: table-cell>display:none 解决: 方法A.获取元素设置display(适用于 简单场景) 方法B.自定义tabs​​​​​​​ (适用于 复杂场景) 背景 内联样式(style“ ”) /this.$…

redis群集(主从复制)

---------------------- Redis 主从复制 ---------------------------------------- 主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(Master),后者称为从节点(Slave);数据的复制是单向的&#xf…

Docker 如何助您成为数据科学家

一、说明 在过去的 5 年里,我听到了很多关于 docker 容器的嗡嗡声。似乎我所有的软件工程朋友都在使用它们来开发应用程序。我想弄清楚这项技术如何使我更有效率,但我发现网上的教程要么太详细:阐明我作为数据科学家永远不会使用的功能&#…

5.定时器-间歇函数

网页中经常会需要一种功能:每隔一段时间需要自动执行一段代码,不需要我们手动去触发 例如:网页中的倒计时 ●要实现这种需求,需要定时器函数 5.1开启定时器 语法 setInterval(函数,间隔时间)作用:每隔一段时间调用这…

excel要如何自动累加某个单元格上方的所有单元格?

输入公式 SUM(INDIRECT("A1:A"&ROW()-1)) 运行实例如下图 注意图中b4,和b5单元格都输入相同的公式。 此方法可以避免写vba,以前此类问题的解决都是通过vba代码进行处理 对函数进行解析 主要使用了 INDIRECT() 2、公式说明:…

Windows实现端口转发(附配置过程图文详解)

文章目录 1. 前言2. 命令提示符3. 防火墙4. netsh 命令4.1 查看已有的转发规则4.2 新增转发规则4.3 删除转发规则 5. 图解汇总6. 欢迎纠正~ 1. 前言 利用Windows端口转发,实现本地设备 ⬅➡ 公网主机 ⬅➡ 远端服务器 2. 命令提示符 以管理员身份打开“命令提示…

成本中心修改或者创建保存时增强的实现

成本中心修改或者创建保存时增强 用户出口程序为:EXIT_SAPLKMA1_003。 可以通过SMOD 或者 CMOD来添加增强代码。 CMOD->COOMKS02 ->EXIT_SAPLKMA1_003 按公司要求,写了段代码检查 创建利成本中心时,业务范围要规范输入。 data PRCTR…

2023年 React 最佳学习路线

CSS CSS JavaScript JavaScript TypeScript 目前没有找到比其他文档好很多的文档地址 可以先看官网 React 新版 React 官方文档无敌 React React-router-dom V5 V6 Webpack webpack Antd antd

Docker 镜像构建 搭建分布式LNMP论坛 实践

地址规划 nginx 172.18.0.10 mysql 172.18.0.20 php 172.18.0.30 宿主机准备 拉取镜像,下面以此镜像为基础 docker pull centos:7 创建自定义网段以便指定 IP 不变动 docker network create --subnet172.18.0.0/16 --opt "com.docker.network.bridge.na…

百题千解计划【CSDN每日一练】Ctrl+X,Ctrl+V(附解析+多种实现方法:Python、Java、C、C++、go、C#、JavaScript)

你要变成什么样子,全看你自己的选择。 🎯作者主页: 追光者♂🔥 🌸个人简介: 💖[1] 计算机专业硕士研究生💖 🌟[2] 2022年度博客之星人工智能领域TOP4🌟 🏅[3] 阿里云社区特邀专家博主🏅 🏆[4] CSDN-人工智能领域优质创作者🏆 📝…

直播带货app开发开发流程分析

随着小视频管理体系愈来愈变成人们的生活中的一部分,也随之短视频卖货逐步形成岗位内主流的转现方式,将短视频平台生产制造变成短视频带货体系计划愈来愈多,那样,把小视频管理体系开发设计变成短视频带货体系必须两步?…

红黑树深入剖析【C++】

目录 一、红黑树概念 二、红黑树节点结构设计 三、插入操作 处理情况1 处理情况2 处理情况3 插入总结: 四、插入操作源码 五、红黑树验证 一、红黑树概念 红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色&#xff0…

入门Linux基本指令(2)

这篇文章主要提供一些对文件操作的Linux基本指令&#xff0c;希望对大家有所帮助&#xff0c;三连支持&#xff01; 目录 cp指令(复制) mv指令(剪切) nano指令 cat指令(打印文件内容) > 输出重定向 >> 追加重定向 < 输入重定向 more指令 less指令(推荐) …

AI 绘画Stable Diffusion 研究(一)sd整合包v4.2 版本安装说明

部署包作者:秋葉aaaki 免责声明: 本安装包及启动器免费提供 无任何盈利目的 大家好&#xff0c;我是风雨无阻。众所周知&#xff0c;StableDiffusion 是非常强大的AI绘图工具&#xff0c;需要详细了解StableDiffusion的朋友&#xff0c;可查看我之前的这篇文章&#xff1a; 最…

读《全球科技通史》总结——历史总在重演,科技永远向前

今天和大家分享一下吴军老师的《全球科技通史》。大部分人谈到历史的时候&#xff0c;关注的是国家的兴衰、王朝的更替&#xff0c;往往忽视了科技的力量。“文津图书奖”得主吴军博士&#xff0c;从科技视角串联历史&#xff0c;首次以能量和信息两条主线&#xff0c;系统阐述…

全方位支持图文和音视频、100+增强功能,Facebook开源数据增强库AugLy

Facebook 近日开源了数据增强库 AugLy&#xff0c;包含四个子库&#xff0c;每个子库对应不同的模态&#xff0c;每个库遵循相同的接口。支持四种模态&#xff1a;文本、图像、音频和视频。 最近&#xff0c;Facebook 开源了一个新的 Python 库——AugLy&#xff0c;该库旨在帮…

git的clone,上传,mirror与upstream同步

文章目录 clone日志信息的同步子树合并同步 clone clone他人项目&#xff0c;git到自己的项目 rm -rf .git .git存放原始项目的日志信息&#xff0c;这里需要添加自己的日志信息&#xff0c;需要删除重写。也可手动删除 git init 初始化文件&#xff0c;依据本地日志信息生产.…

【RabbitMQ】之高可用集群搭建

目录 一、RabbitMQ 集群原理 1、默认集群原理2、镜像集群原理3、负载均衡方案 二、RabbitMQ 高可用集群搭建 1、RabbitMQ 集群搭建2、配置镜像队列3、HAProxy 环境搭建4、Keepalived 环境搭建 一、RabbitMQ 集群简介 1、默认集群原理 3-1、RabbitMQ 集群简介 单台 RabbitM…