性能测试如何做?超详细性能测试-测试策略总结,新人进阶之路...

news2024/11/20 17:38:28

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

性能测试出现的初衷?

先思考一个问题:我们开展性能测试的初衷或者说需求从何而来?

可能是线上用户反馈APP响应太慢,可能是财务或成本部门反映IT的硬件成本太高,也可能是某次业务运营活动由于系统无法及时正确的处理导致了业务目标未达成(问:双11零点线上系统挂了是什么体验)。

这些问题归类来说,都是源于用户和业务的痛点或诉求:

APP响应太慢:想办法提升处理速度;
硬件成本太高:想办法降低硬件成本;
业务目标未达成:想办法提升系统稳定性;

性能测试的目的是什么?

在聊测试策略之前,很有必要聊聊性能测试的目的,或者性能测试的本质是要做什么,解决什么问题。只有想明白这点,后面的需求分析、工具选型、制定测试策略才能更好的开展。

在实际的软件研发测试交付过程中,对测试同学来说,除了要验证功能的正确性之外,系统的性能表现也是很重要的一项工作内容。

简单理解就是用户在使用系统提供的服务时,除了功能不出错,还要尽可能支持更多的人用系统提供的服务。功能的正确性是基本盘,更好的性能具有更大的附加值。

软件系统是运行在服务器上面的,服务器的底层是硬件资源和网络,从另一个角度来看摩尔定律的话,就是硬件的配置越高越好,原则上能提供更好的性能。

当然,软件的性能还与其最初的设计和构建有很大的关系。

因此,性能测试的本质是什么?
找到软件运行环境中底层硬件的资源瓶颈;
找到软件设计和构建过程中出现的影响性能的点;

新手需要的是什么?

很多网上的文章或者技术专栏抑或技术书籍,告诉了我们很多的测试策略名词,比如并发测试/负载测试/极限测试/配置测试/容量测试/浪涌测试/高可用测试/容错恢复测试。

这些理论知识容易让新手云里雾里,不知道什么情况该用什么策略。
当然,这些理论都没问题,但理论和实践之间存在一个巨大的鸿沟,那就是如何让理论成为自己的理论,这需要大量的实践思考和总结。

工作中常用的测试策略

还是以实际工作的场景来谈常用的测试策略,其中最关键的就是2点:如何设置脚本并发和测试数据。

下面是一些常见的工作案例,先介绍案例,然后举例说明测试策略。

案例名称脚本并发策略/测试数据策略服务配置/并发推荐数值
新服务上线梯度递增压力/参数化4C8G/20-100
性能优化验证梯度递增压力/参数化4C8G/10-40
负载均衡验证梯度递增压力/参数化4C8G/10-60
参数配置调整验证恒定并发压力/参数化4C8G/固定数值
业务/技术逻辑调整验证恒定并发压力/参数化4C8G/固定数值

总结:
绝大多数场景,第一次压测都推荐梯度递增方式,这样便于找到性能拐点;
固定并发压力只适用于其他条件不变,只有某一个影响因素变更的情况下使用;

一般都推荐先梯度,找到性能拐点定位问题后,再通过固定并发方式去验证优化是否生效;

单独的性能测试环境很重要,如果环境无法独立,建议听领导的要求压测一波统计数据出个报告就行;

测试数据记得一定要参数化,一定不要用同一个或同一批数据去反复压测(功能测试都更新数据更何况性能);

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

每一次努力都是一次积累,每一份坚持都是一份收获。只有不断地挑战自我,才能让生命焕发出迷人的光芒。所以,请勇敢地奋斗,相信自己会创造出更美好的明天!

只要心中有梦想,就不要停下前进的脚步;只要你不轻易放弃,成功就会属于你;只需坚持努力,才能成就辉煌人生;只要勇往直前,每一天都会更加精彩!

每一次的努力,都是成为更好的自己的里程碑。每一个成功背后都有无数次的尝试和失败,并不是因为天赋异禀而取得的。只要心怀梦想、坚定信念,就能在前进的道路上越走越远,让未来变得更加辉煌。

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

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

相关文章

YOLOv5【训练train.py逐行源码及参数调参解析】超详细解读!!!建议收藏✨✨!

之前的文章介绍了YOLOv5的网络结构🚀与目录结构源码🚀以及detect.py🚀的详细解读,今天带来的是YOLOv5的 train.py 代码参数逐行解读以及注释,废话不多说,让我们一起学习YOLOv5的 train.py 源码吧&#xff0…

功能测试和自动化测试的差距在哪里?

一直以来,软件的测试主要是以手工测试为主,但是随着现代软件的复杂程度的加深,人们对使用手工方式来完成软件测试感到的越来越力不从心,同时因为在软件测试中存在着大量的重复性工作,而这种工作是比较适合机器而不是人…

rsync

配置rsync源服务器: #建立/etc/rsyncd.conf 配置文件 vim /etc/rsyncd.conf #添加以下配置项 uid root gid root use chroot yes #禁锢在源目录 address 192.168.80.10 …

​Kali-linux无线网络嗅探工具Kismet​

如果要进行无线网络渗透测试,则必须先扫描所有有效的无线接入点。刚好在Kali Linux中,提供了一款嗅探无线网络工具Kismet。使用该工具可以测量周围的无线信号,并查看所有可用的无线接入点。本节将介绍使用Kismet工具嗅探无线网络。 &#xf…

MySQL_6 自连接和外连接

目录 一、自连接 1.概述 : 2.语法 : 3.演示 : 二、外连接 1.为什么需要外连接? 2.外连接的定义 : 3.外连接的演示 : 1 左外连接 2 右外连接 3 对部门表问题的解决 一、自连接 1.概述 : 自连接是指在同一张表上的连接查询(将同一张看做两张表)&a…

R语言实践——rWCVP:按照物种的原生分布区清洗坐标点

rWCVP:按照物种的原生分布区清洗坐标点 加载库工作流(单个物种)1. 下载发现记录数据(rgbif)2. 发现记录的预备3. 获取原生区范围4. 清除非原生分布记录 加载库 library(rWCVP) library(rgbif) library(tidyverse) lib…

产品Backlog和需求管理

产品Backlog 产品backlog是一个按照价值排序的需求清单。为了达成产品目标,所有的需求都需要放到产品backlog中进行管理和规划。由产品负责人负责管理和维护。Leangoo为每一个里程碑建立了一个产品Backlog看板, 通过这个产品backlog看板来进行需求管理和规划。 里…

搭建服务器的主流中间件有哪些?如何在外网访问内网的服务?

计算机业内人士对于搭建服务器的中间件并不陌生,apache、tomcat、IIS、nginx 都是比较常用的搭建服务器的中间件,它们之间还是有一些区别差异的。今天就说说这些中间件之间有哪些区别,以及如何利用快解析实现内网主机应用让外网访问。 首先说…

大数据入门(六)- UCloud创建云服务器

一.注册UCloud账户 使用UCloud的服务,首先需要注册账户 账户注册非常简单,在UCloud网站首页(https://www.ucloud.cn/)右上角点击快速注册 二.创建VPC 1.注册成功后,选择全部产品 2.选择私有网络UVPC 3.区域选择华北…

uni-app开发小程序使用uni.chooseMedia选择图片,安卓手机无法选择图片

uni-app开发小程序时,使用uni.chooseMedia选择图片,苹果手机是正常的,安卓手机无法打开手机选择图片 问题复现解决方法!!我的反思与总结 问题复现 一、在小程序中,选择图片并上传,是一个很常见…

[Python报错] ImportError: cannot import name ‘timer’ from ‘timer’

[Python报错] ImportError: cannot import name ‘timer’ from ‘timer’ 前言 我最近遇到这个报错,卡了我好长时间去解决,我在互联网上找了很多资料,遗憾的是,我没找到有其他人遇到的类似的问题。所以在这里做一下记录。事实上…

两年外包,从4K涨到了15K....

我18年毕业于一个普通二本学校,电子信息工程学院,是一个很不出名的小本科。大学期间专业知识也没有去认真的学习,所以毕业的时候就随便找了一份工作,在一个外包公司做功能测试。 记得那时候薪资大概是4k左右,因为是以…

神经网络实验---人工神经网络(2)

本实验目的主要是掌握梯度下降法的优化算法;能够使用tf.keras构建Sequential模型,完成多分类任务。 1. 实验目的 ①掌握梯度下降法的优化算法; ②能够使用tf.keras构建Sequential模型,完成多分类任务。 2. 实验内容 ①下载MNIS…

架构设计之复用性概谈

作为开发人员,你对复用这个概念一定不陌生。在开发过程中,我们把系统中通用的代码逻辑抽取出来,变成公共方法或公共类,然后在多个地方调用,这就是最简单的技术上的复用。 但一开始,我们不会过多地考虑复用&…

迭代后首波实测!360智脑一键联网,代码超强,AI诈骗一眼看穿

360大模型(又)交卷了!作为国内首个能联网的大模型,360智脑给了我们怎样的惊喜?话不多说,新鲜出炉的第一手实测来了。 不得不说,自从GPT大模型混战开赛之后,教主周鸿祎可谓是存在感十…

易观分析:消费金融机构以APP为触点,创新消费场景,激发消费活力

易观:随着“用好消费金融、释放消费潜力”等金融支持扩内需的持续深入,消费金融APP活跃用户规模将保持稳健增长的态势,进而在拉动内需、促进消费升级、服务实体经济中扮演更重要的角色。 一、疫情防控较快平稳转段,激发消费市场活…

总结button,input type=“button“,input type=“text“中:[在value添加值] 和 [标签内添加值]的区别

1.如果是需要一个 普通文本框 <input></input>和<input type"text"></input>外观相同 都是 2.对比button,input type"button",input type"text"中&#xff1a;在value添加值 和 标签内 添加值 html中&#xff1a; &l…

第十三章 常用类(Math 类、Arrays 类、System类、Biglnteger 和BigDecimal 类、日期类)

一、Math 类&#xff08;P481&#xff09; Math类包含&#xff0c;用于执行基本数学运算的方法&#xff0c;如初等指数、对数、平方根和三角函数 &#xff08;1&#xff09;abs&#xff1a;绝对值 &#xff08;2&#xff09;pow&#xff1a;求幂 double pow Math.pow(2, 4); /…

520 | ChatGPT会是一个完美情人吗?

A GENERATIVE AI EXPERIMENT 机器人能感受到爱吗&#xff1f;这个困扰了科学家们多年的未解之谜&#xff0c;如今随着ChatGPT的爆火再次回到人们的视线中。虽然我们尚未准备好为机器赋予情感&#xff0c;但机器已经可以借助生成式AI来帮助人类表达自己的情感。 自然情感表达 …

网络原理(七):http 协议(下)

上一章只是谈到了http 中的几个header属性&#xff1a; Host &#xff1a; 域名端口号Content-Length &#xff1a;表示 body 中的数据长度Content-type &#xff1a;表示 body 中的数据格式。User-Agent &#xff1a;表示浏览器/操作系统的属性。Referer &#xff1a; 表示这…