全网最细,真实企业性能测试落地实施,一文带你快速打通...

news2024/11/18 14:57:31

目录:导读

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


前言

1、什么是性能测试?

指通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。

功能测试的时候关注的是1个人的操作,性能测试关注的是多个人。

2、性能测试什么时候做?

接口测试是最先做,性能测试是最后做。

性能测试是基于所有功能都测试完毕并且修复完成,基本不改变,正常测试流程已经全部走完,在上线前的两三天做性能测试,性能测试通过则可以上线。

3、不同群体眼中的性能

1)用户的视角

响应时间(还要让我等多久?需要加载老半天才出现页面?)
确定性(为什么总是失败?闪退?无响应?)

2)开发视角

架构设计是否合理?——架构设计
数据库设计是否合理?——数据库设计
代码是否存在性能问题?——代码
是否有不合理的内存使用?——代码
是否有不合理的线程同步操作?——代码
是否有不合理的资源竞争?——代码
代码算法是否还能进一步提升?——代码

3)系统管理员(运维)视角

服务器资源使用合理吗?——资源利用率
数据库使用合理吗?——资源利用率
系统是否实现扩展?——可扩展性(比如:服务器动态扩展)
最多支撑多少用户访问?——系统容量
最大业务处理量?——系统容量
系统有哪些潜在的瓶颈?——可扩展性
更换哪些设备,添加哪些机器可以提高系统性能?——可扩展性
7×24小时连续不间断业务访问?——稳定性

4)测试眼中的性能

官方回答:
测试人员通常是作为软件质量控制的一个角色,不仅仅是找BUG,更需要对整个软件的质量负责,性能也属于质量的一部分,因此测试人员眼中的性能应该是全面的,考虑的东西也需要全面。

测试人员需要考虑全面的性能,包括用户、开发、运维等各个视角的性能。

测试人员在做性能测试时除开要关注表面的现象。
比如:响应时间,也需要关注本质。
比如:用户看不到的服务器资源利用率,架构设计是否合理,代码是否合理等方面。

实际测试:
将开发视角看成一块,运维视角也看成一块,站在用户的角度,模拟用户操作。
如果达标就通过,上线。

如果不达标,就要判断是开发的问题还是运维的问题。
监控系统的物理资源,比如:CPU占用100%(一般是85%以内,70%、60%、50%都ok),就是运维问题,或者是内存占满,带宽打满。

运维已经调过物理资源,CPU、内存、带宽等也都达标,测试发现还有性能问题,那就是开发问题。就要指派给开发去处理。

性能测试的指标?是谁定的?
产品经理和项目经理制定。

4、性能测试的场景维度和类型

1)基准测试

在给系统施加较低压力时,查看系统的运行状况并记录相关数据作为基础参考。

比如:一个系统的性能要求是满足100个人使用,我们就会取10-20个人去做测试就会得到一组数据,这个数就作为基准测试的基础参考值

2)负载测试

是指对系统不断地增加压力或增加一定压力下的持续时间,直到系统的某项或多项性能指标达到安全临界值,例如:某种资源已经达到饱和状态。

正常是由小往大增加,需要注意的点是需要往安全的临界值去加,而不是往超负荷的去加,也就是说性能是走上坡路的,寻找最佳性能的那个点。

如果加到发现性能下降,就需要往回退,取更小的差值,比如60直接加到70的时候出现性能指标下降,就需要取65、66、67等慢慢尝试,找到系统最优点。

3)压力测试

压力测试是评估系统处于或超过预期负载时系统的运行情况,关注点在于系统在峰值负载或超出最大载荷情况下的处理能力。

70往上加,观察软件是如何处理这种情况:
①系统崩溃
②所有人都无法访问
③一部分人可以访问,一部分人无法访问,需要错峰访问(比如:考试系统查分)

4)稳定性测试

在给系统加载一定业务压力(40%-60%)的情况下,使系统运行一段时间,以此检测系统是否稳定。

5)并发测试

测试多个用户同时访问同一个应用、同一个模块或者数据记录时是否存在死锁或者其他性能问题。

5、性能测试指标确立及分析

1)响应时间(RT——Response-time)

定义:从用户发送一个请求到用户接受到服务器返回的响应数据的这段时间就是响应时间。

关键路径:http请求经过网络发送到web服务器进行处理,如果需要操作DB,再由网络转发到数据库进行处理,然后返回值给web服务器,web服务器最终把结果数据通过网络返回给客户端。

2)吞吐量

定义:单位时间内系统处理的客户端请求的数量。(判断系统处理能力的一个指标)

计算单位:一般使用 请求数/秒 作为吞吐量的单位,可以使用 页面数/秒 表示。另外,从业务角度来说也可以使用 访问人数/天 或 页面访问量/天 作为单位。

计算方法:throughput = (number of requests)/(total time)

3)并发数

并发用户数:某一物理时刻同时向系统提交请求的用户数,提交的请求可能是同一个场景或功能,也可以是不同场景或功能。

在线用户数:某段时间内访问系统的用户数,这些用户并不一定同时向系统提交请求。(日活——每日活跃用户数)

系统用户数:系统注册的总用户数据。
三者之间的关系:系统用户数 >= 在线用户数 >= 并发用户数

等等…

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

人生最美丽的风景,是坚持不懈的努力;奋斗的道路上,充满荆棘与挑战,但只要心怀信念与激情,你将开创属于自己的辉煌之路。

生活中最大的幸运是,我们可以选择自己的路,不断地追逐梦想和抓住机会,即使失败和困境接踵而至,仍然要坚持勇往直前,不断前行。

世界是属于敢于拼搏的人,不经历风雨,怎能见彩虹。奋斗不仅是为了实现梦想,更是磨炼意志,成就更强大的自己。相信自己,努力奋斗,未来必将绽放辉煌。

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

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

相关文章

墨西哥专线适合企业大批量寄送吗?

随着全球经济一体化的发展,企业间的交流与合作日益密切。跨境物流服务作为企业开展国际贸易的重要基础设施,其重要性不言而喻。墨西哥专线作为一种高效、快速的跨境物流解决方案,受到了越来越多企业的关注。那么,墨西哥专线是否适…

软件测试面试必问:为什么要选择软件测试?

经常会遇到一些面试官没事的时候问,为什么选择软件测试? 我都在这个行业,你怎么还问我为什么选择软件测试? 错误回答一:我觉得软件测试收入较高。 我们都知道软件测试收入是很高,但是这也不是你面试回答的点…

MATLAB导入EXCEL数据做曲线拟合

MATLAB导入EXCEL数据做曲线拟合 导入数据 导入的EXCEL格式为如下,有一列模拟数据和对应的实测数据 打开之后改个名,方便后续处理导入之和关掉该页面,可以看到已经生成了一个表格数据 然后新建变量 将该列数据复制到fanyan变量中&#x…

如何列出 Ubuntu 和 Debian 上已安装的软件包

当你安装了 Ubuntu 并想好好用一用。但在将来某个时候,你肯定会遇到忘记曾经安装了那些软件包。 这个是完全正常。没有人要求你把系统里所有已安装的软件包都记住。但是问题是,如何才能知道已经安装了哪些软件包?如何查看安装过的软件包呢&a…

智慧工地:数字革命下的建筑业新趋势

在当今建筑领域,智慧工地正迅速崭露头角。这个概念不仅代表了技术进步,还预示着建筑行业的数字化和智能化未来。从多个角度来看,智慧工地都具有深远的意义,它正在改变着我们建筑的方式和未来。 提高工程效率 智慧工地利用物联网&…

FP-Growth算法全解析:理论基础与实战指导

目录 一、简介什么是频繁项集?什么是关联规则挖掘?FP-Growth算法与传统方法的对比Apriori算法Eclat算法 FP树:心脏部分 二、算法原理FP树的结构构建FP树第一步:扫描数据库并排序第二步:构建树 挖掘频繁项集优化&#x…

Android:自定义列表弹窗的单选图标样式、去掉列表弹窗的上下提示线

正常声明一个单选列表弹窗,如下代码: AlertDialog.Builder builder new AlertDialog.Builder(this, R.style.Theme_AlertDialog_Base);String []items {"1111111","2222222","3333333","4444444","5555…

Android APT实现,SqInject的实现原理

一、APT技术简介 1、APT定义 APT(Annotation Processing Tool)即注解处理器,是一种处理注解的工具,确切的说它是javac的一个工具,它用来在编译时扫描和处理注解。注解处理器以Java代码作为输入,生成.java文件作为输出 2、注解定…

【three.js】坐标辅助器和轨道控制器

结合上一篇基本的3d页面代码,我们在里面添加坐标辅助器,也就是x y z轴坐标系,这样可以更直观的查看物体的位置 一、添加坐标辅助器 查看效果,z轴不显示是因为,z轴是正对我们脸部,从我们正面看就是一个点 …

蓝桥杯报名已经开始,还不知道怎么准备?教你一文通关蓝桥!

目录 引言 1、什么是蓝桥杯? 2、我应不应该参加蓝桥杯? 3、现在0基础参加还来得及吗?我不敢参加怎么办? 4、蓝桥杯的流程? 5、如何学习? 如果你是零基础 如果你有基础 6、刷题?周赛&am…

数据重整:用Java实现精准Excel数据排序的实用策略

摘要:本文由葡萄城技术团队原创并首发。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 前言 在数据处理或者数据分析的场景中,需要对已有的数据进行排序,在E…

C++day02(引用、const、函数重载、结构体、类)

今日任务 代码&#xff1a; #include <iostream> /** 自己封装一个矩形类(Rect)&#xff0c;拥有私有属性:宽度(width)、高度(height)&#xff0c;定义公有成员函数: 初始化函数:void init(int w, int h) 更改宽度的函数:set_w(int w) 更改高度的函数:set_h(int h) 输出…

Maven 环境配置

Maven 是一个基于 Java 的工具&#xff0c;所以要做的第一件事情就是安装 JDK。 系统要求 项目 要求 JDK Maven 3.3 要求 JDK 1.7 或以上 Maven 3.2 要求 JDK 1.6 或以上 Maven 3.0/3.1 要求 JDK 1.5 或以上 内存 没有最低要求 磁盘 Maven 自身安装需要大约 10 MB 空间…

SwipeRefreshLayout 下拉刷新

1.SwipeRefreshLayout是Androidx提供的下拉刷新的库&#xff0c;需要在代码中引入该库&#xff0c;才能使用。 implementation androidx.swiperefreshlayout:swiperefreshlayout:1.1.0 2.在layout中配置。SwipeRefreshLayout&#xff0c;必须包含一个根节点的子view <com.e…

5+乳酸化修饰+预后模型

今天给同学们分享一篇乳酸化修饰预后模型的生信文章“Lactylation-Related Gene Signature Effectively Predicts Prognosis and Treatment Responsiveness in Hepatocellular Carcinoma”&#xff0c;这篇文章于2023年4月25日发表在Pharmaceuticals (Basel)期刊上&#xff0c;…

spring 事物源码阅读之事务与持久化操作的结合

前面文章说到在开启事务后&#xff0c;会将数据库连接存放在当前线程的ConnectionHolder。那么后续的数据库持久化操作是怎么感知的呢。这里就要说到一个重要的类TransactionSynchronizationManager。 TransactionSynchronizationManager TransactionSynchronizationManager是…

IDEA2021创建Web项目配置Tomcat

1.新建一个普通的项目。 2.右键新建的项目&#xff0c;选择添加框架支持 3.勾选web application 4.在WEB-INF里创建lib和classes文件夹 5.file-project structure-modules-paths&#xff0c;选择use module compile output path&#xff0c;将output path和test output path的路…

Springboot知识点必知必会(一)

mvc设计模式 MVC设计模式是Model-View-Controller的缩写&#xff0c;它是一种用于设计用户界面的软件设计模式。Spring MVC是Spring框架的一个模块&#xff0c;它提供了一种基于Java的方式来实现MVC设计模式。 以下是Spring MVC中MVC设计模式的组成部分和工作原理&#xff1a; …

在Linux中通过docker安装appnode面板

先在Linux中安装docker&#xff0c;然后在docker中安装appnode面板&#xff0c;并进行docker网络端口映射。 安装docker 第一步&#xff0c;卸载旧版本docker。 若系统中已安装旧版本docker&#xff0c;则需要卸载旧版本docker以及与旧版本docker相关的依赖项。 命令&#…

计算机竞赛 : 题目:基于深度学习的水果识别 设计 开题 技术

1 前言 Hi&#xff0c;大家好&#xff0c;这里是丹成学长&#xff0c;今天做一个 基于深度学习的水果识别demo 这是一个较为新颖的竞赛课题方向&#xff0c;学长非常推荐&#xff01; &#x1f9ff; 更多资料, 项目分享&#xff1a; https://gitee.com/dancheng-senior/pos…