测试开发之性能篇 —— 性能测试设计

news2024/11/21 1:45:11

很多朋友接触性能测试是从工具开始的,比如流行的JMeter、Loadrunner等。熟悉一个测试工具,有助于对性能测试的过程、方法和机制有个直观的理解。

我们知道,无论是什么类型的测试,其目标不外乎两个,一是为了证明系统满足当初的定义(Requirement);二是尽可能早、尽可能多地发现潜在的问题(Defect)。工具是为解决特定问题而服务的,其使用是相对简单和可控的,在性能测试中,方案设计则显得更为关键。

通常,我们在做性能测试方案设计时,会从以下几个角度去思考。需要知道的是,它们之间并不是割裂的,会有交叉,界限也并不那么明显。

编号名称描述
1性能指标系统在常规的工作负荷下,各项性能指标是否满足当初界定的要求。比如响应时间不能超过多少等。
2数据容量可预期的未来时间内,数据量的大幅增长可能引发的性能瓶颈。
3能力评估单位资源、时间内,系统可处理的业务访问量。可用于测试(仿真)环境到生产(实际)环境的软硬件资源按比估算。
4压力测试验证系统在超正常负载情况下的性能表现,发现哪里最容易产生问题。可据此评估系统性能短板和不同类型软件硬件资源的配比。
5疲劳测试长时间施加一定量的负载,验证系统是否会出现诸如内存泄漏、网络拥堵等长效才会激发的问题。
6强度测试验证系统在高强度、资源极度匮乏的情况下,依然可以正常工作,未发生崩溃、重启,处理能力急剧下降,以及数据不一致等严重问题。

讲到测试场景的设计,就离不开业务上的分析,可尝试回答以下几个问题:

  1. 系统的用户规模有多大?
  2. 在可预期的未来,数据量会到达多少?
  3. 各业务子系统、功能模块,分别需承受多大访问量?
  4. 在特定的日期或时间,是否存在某些业务的峰值?
  5. 按照现有的架构设计和资源配比,可能的瓶颈在哪里?

在性能测试设计的过程中,需逐步明确和落实以下几个方面的内容:

  1. 确定测试系统中的注册用户和同时在线用户数;
  2. 通过注册和同时在线用户数,推导出并发虚拟用户数;
  3. 不能确定的,三个用户数之间可先按十分之一的比率来演算;
  4. 选择测试的接口,确定各自所需支持的每秒访问量;
  5. 设计3个以上综合业务场景,包括其中各接口请求量的占比;
  6. 针对资源消耗大的业务,如文件读写、网络传输、AI训练等,重点进行测试;
  7. 根据经验预测容易出问题的地方,单独设计测试场景;
  8. 确定各场景下的思考时间、运行时长、加压策略等测试参数配置;
  9. 综合考虑服务环境因素,如硬件、网络、(微)服务实例数、是否有负载均衡等;
  10. 确定测试工具和环境,如加压机器数量、测试工具配置等。

最后,确定测试中需要度量的性能指标,可包括:

  • 吞吐量(Throughput)
  • 每秒查询率(QPS)
  • 响应时间(RT),包括平均、最大、最小、正态分布的值。
  • 请求失败率、超时率、业务处理错误率
  • 系统指标,如CPU、内存、网络等

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

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
 

在这里插入图片描述

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

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

相关文章

直播带货前途渺茫了

我是卢松松,点点上面的头像,欢迎关注我哦! 种种迹象表明电商行业和直播带货将受到冲击。直播带货前途渺茫了,相信很快就有政策出来了,针对电商这块的,支持实体、支持取消直播带货。 (1)目前,…

C++对多继承的理解

学到C时我们知道了继承但是一般都是使用单继承为主,单继承就是一个子类只能继承一个父类而多继承是指一个子类可以同时继承多个父类。 菱形继承 菱形继承是多继承中的一个特殊情况。当一个子类同时继承两个具有共同父类的类时,就会出现菱形继承问题。但…

2 spring 识别自定义实现BeanFactoryPostProcessor 的接口

如果自定义实现了BeanFactoryPostProcessor接口,那么想让spring识别到的话,有两种方式: 1 定义在spring的配置文件中,让spring自动识别 2 调用具体的addBeanFactoryPostProcessor方法 方法1 的代码实现 定义实现BeanFactoryPo…

淘宝拍立淘接口,按图搜索商品接口,图片识别接口,图片上传搜索接口,图片搜索API接口,以图搜货接口

淘宝拍立淘图片搜索接口可以通过上传或输入图片链接的方式,调用淘宝的图片搜索引擎,返回与该图片相关的所有淘宝商品。 使用该接口需要先申请淘宝开放平台的App Key和App Secret,获取相应的API访问权限。在调用接口时,需要传入商…

YOLOv5算法改进(12)— 如何去更换主干网络(1)(包括代码+添加步骤+网络结构图)

前言:Hello大家好,我是小哥谈。YOLOv5采用的主干网络是CSPDarknet53,它是Darknet53的改进版本,采用了Cross Stage Partial连接(CSP)结构,可以提高模型的效率和准确率。在学术上,为了提升YOLOv5算法模型的准确率或者鲁棒性等,已经有很多改进方案问世。更换主干网络作为…

[C++]:2初识C++(auto) + 类和对象上:

[TOC](初识C(auto) 类和对象上) 一.初始C 1.auto关键字:(C11) 1.作为一个变量的类型给这个类型初始化,auto自动识别初始化这个变量值的类型,为auto类型的这个变量开辟一个合适的空间。 补充: 1.typeid(变量名).name—>可以打…

快速入门:Spring Cache

目录 一:Spring Cache简介 二:Spring Cache常用注解 2.1:EnableCaching 2.2: Cacheable 2.3:CachePut 2.4:CacheEvict 三:Spring Cache案例 3.1:先在pom.xml中引入两个依赖 3.2:案例 3.2.1:构建数据库表 3.2.2:构建User类 3.2.3:构建Controller mapper层代码 3.…

ModuleNotFoundError: No module named ‘torch‘

目录 情况1,真的没有安装pytorch情况2(安装了与CUDA不对应的pytorch版本导致无法识别出torch) 情况1,真的没有安装pytorch 虚拟环境里面真的是没有torch,这种情况就easy job了,点击此链接直接安装与CUDA对应的pytorch版本,CTRLF直接搜索对应CUDA版本即可查找到对应的命令.按图…

【复盘】主从延迟以及 Waiting for tablemetadata lock 线上问题

背景 今晚DBA给一个大表添加索引,1000多W,正好风控系统这个时间段有查询这个表的请求,于是就出现了复制延迟。 这是正常下的延迟 可以看出基本都是是100毫秒以下。 Waiting for tablemetadata lock,并且业务跑的SQL出现锁等待…

实现Traefik工具Dashboard远程访问:搭建便捷的远程管理平台

文章目录 前言1. Docker 部署 Trfɪk2. 本地访问traefik测试3. Linux 安装cpolar4. 配置Traefik公网访问地址5. 公网远程访问Traefik6. 固定Traefik公网地址 前言 Trfɪk 是一个云原生的新型的 HTTP 反向代理、负载均衡软件,能轻易的部署微服务。它支持多种后端 (D…

24-数据结构-内部排序-基数排序

基数排序 基数排序,给关键字分成d位(组),,对每一位的情况,可能会出现的值位r(基数)个,然后分成r个队列,对每个对林进行分配耗时O(n),最后按照改位…

join、inner join、left join、right join、outer join的区别

内连接 inner join(等值连接):只显示两表联结字段相等的行,(很少用到,最好别用); 外连接 left join:以左表为基础,显示左表中的所有记录,不管是否与关联条件相匹配,而右表中的数据只显示与关联条件相匹配的记录,不匹配…

【C/PTA】顺序结构专项练习

本文结合PTA专项练习带领读者掌握顺序结构,刷题为主注释为辅,在代码中理解思路,其它不做过多叙述。 7-1 是不是太胖了 据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。已…

山海鲸可视化B/S架构应用

一、什么是B/S架构 BS架构(Browser-Server架构)是一种常见的软件架构模式,其中系统的核心业务逻辑和数据处理都发生在服务器端(Server),而客户端(Browser)主要负责显示和用户交互。…

【AIGC核心技术剖析】用于 3D 生成的多视图扩散模型

MVDream是一种多视图扩散模型,能够从给定的文本提示生成一致的多视图图像。多视图扩散模型从二维和三维数据中学习,可以实现二维扩散模型的泛化和三维渲染的一致性。我们证明了这样的多视图先验可以作为可推广的 2D 先验,与 3D 表示无关。它可以通过分数蒸馏取样应用于 2D 生…

vue视频直接播放rtsp流;vue视频延迟问题解决;webRTC占cpu太大卡死问题解决;解决webRTC播放卡花屏问题:

播放多个视频 <div class"video-box"><div class"video"><iframe style"width:100%;height:100%;" name"ddddd" id"iframes" scrolling"auto" :src"videoLeftUrl"></iframe>&l…

Python---练习:求世界杯小组赛的总成绩(涉及:布尔类型转换为整型)

案例 世界杯案例 需求&#xff1a; 世界杯案例&#xff0c;世界杯小组赛的比赛规则是我们的球队与其他三支球队进行比赛&#xff0c;然后根据总成绩(积分)确定出线资格。小组赛球队实力已知(提示用户输入各球队实力&#xff09;&#xff0c;我们通过一个数字表示。如果我们赢…

C#冒泡排序算法

冒泡排序实现原理 冒泡排序是一种简单的排序算法&#xff0c;其原理如下&#xff1a; 从待排序的数组的第一个元素开始&#xff0c;依次比较相邻的两个元素。 如果前面的元素大于后面的元素&#xff08;升序排序&#xff09;&#xff0c;则交换这两个元素的位置&#xff0c;使…

yolov5多个框重叠问题

NMS&#xff08;Non-Maximum Suppression&#xff0c;非极大值抑制&#xff09;是一种在计算机视觉和目标检测领域常用的技术。它通常用于在图像或视频中找出物体或目标的位置&#xff0c;并剔除重叠的边界框&#xff0c;以确保最终的检测结果准确且不重叠。 会出现多个框重叠…

2020年12月 Python(三级)真题解析#中国电子学会#全国青少年软件编程等级考试

Python编程(1~6级)全部真题・点这里 一、单选题(共25题,每题2分,共50分) 第1题 要对二维列表所有的数据进行格式化输出,打印成表格形状,程序段如下: ls = [[金京,89],[ 吴树海,80]<