爆肝整理,性能测试方法与关键指标以及瓶颈定位思路,一篇贯通...

目录:导读

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


前言

性能测试方法

1、验收性能测试
模拟生产上线业务环境,测试是否满足性能需求

特点:
确定用户的环境
用户需求的性能指标
执行、分析结果
验收性质
测试结果要有客观性

2、负载测试
主要考察软件系统在既定负载下的性能表现,其中既定负载一般是指客户需求的负载。

测试指标一般体现在:响应时间、交易容量TPS(或者吞吐量)、并发容量以及资源使用率等。

3、压力测试
为了考察软件系统在极端条件下的表现,我们需要进行压力测试。其中极端条件可以是超负荷的交易量和并发用户数。

这个极端条件可能要远高于用于的性能需求。

压力测试的目的是:系统出现问题后,需要考察系统处理问题的方式。如我们期待软件系统在面临压力的情况下仍然可以保持稳定,处理速度可以稍微慢些,但是系统不能崩溃。

通过压力测试可以让我们识别系统的弱点(或bug)以及了解系统在极限负载下程序将如何运行。

4、并发测试
目的:验证系统的并发处理能力。

手段:和客户端建立大量的并发连接时,通过客户端的响应时间和服务端的性能监测情况来判断系统是否达到了既定的并发能力指标。

5、配置测试
通过对被测系统软硬件环境的调整,了解不同环境对系统性能影响的程度,从而找到系统各项资源的最优分配原则。

6、可靠性测试
目的:测试系统在一定负载下长时间运行是否会发生问题。

原因:软件系统的有些问题并不能一下子就暴露出来,需要时间积累才能达到能够度量的程度。如内存泄露问题需要经过一段时间积累才能慢慢变得显著,在运行初期缺很难检测出来。

7、恢复性测试
目的:验证系统在局部出现故障情况下,能否继续使用。 – 针对这一问题,关键的业务系统都会采用热备份或者负载均衡的方式实现系统的恢复。

性能测试关键指标

1、响应时间
2、并发用户数
平均并发用户数的计算:C = nL/T
其中,C表示平均的并发用户数
n:表示平均每天访问用户数
L:表示一天内用户从登陆到退出的平均时间
T:表示考察时间,即一天内多长时间有用户使用系统

3、吞吐量:单位时间内处理用户请求的数量
4、系统性能计算器
5、思考时间

性能瓶颈定位思路

整体思路:从前到后,从表象到内部

1、首先排查压力机自身的问题,如CPU、内存、网络、脚本
2、监控中间件的访问日志,观察相应时间耗时,出现在哪一个环节。Tomcat、nginx、apache、mysql
3、排查网络问题,监控压力机到后端服务器的网络是否出现瓶颈

4、监控服务端的所有机器(Tomcat、nginx、apache、mysql)的操作负载,CPU、内存、网络、磁盘是否达到瓶颈

5、监控应用服务器日志,查看是否存在ERROR、timeout、等报错
6、监控中间件连接数是否达到上线,比如tomcat、nginx、mysql连接数是否达到上线
7、监控应用程序的线程状态,使用jstack、jvisualvm查看是否有死锁、阻塞等情况

8、监控应用程序的jvm,使用jstat、jamp查看gc情况,是否存在内存泄漏
9、监控耗时比较长的代码方法,使用jprofiler监控应用程序
10、监控数据库,是否存在慢查询,一般数据库CPU高都是因为sql语句效率低
11、监控数据库的执行计划,是否有全表扫描,预计索引不生效的情况
12、检查系统外部依情况,如果外部依赖系统性能差,也会造成本系统性能低
13、对于不好定位的问题,可以考虑采用模块隔离法来确定问题

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

不要害怕前进的路途再漫长,只因脚下有坚定的步伐;不要畏惧人生的风雨再狂暴,只因心中有无尽的勇气。奋斗吧,这世界正等待你展现璀璨的光芒!

不管遇到何等艰难险阻,心中要始终燃烧着激情与勇气;不论前方多么迷茫困顿,永远保持信念与坚定的步伐。奋斗的人生,终将绽放属于自己的辉煌与荣耀!

每一次坚持,都是超越自己的勇敢;每一次努力,都是迈向辉煌的脚步。不停奋斗,才能收获无尽的可能。相信自己的力量,勇往直前,终将书写属于自己的传世之章。

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

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

相关文章

抓包工具Fiddler下载与安装

一、Fiddler介绍 1.Fiddler简介 Fiddler 是一款免费、灵活、操作简单、功能强大的 HTTP 代理工具,是目前最常用的 HTTP 抓包工具之一。可以抓取所有的 HTTP/HTTPS 包、过滤会话、分析请求详细内容、伪造客户端请求、篡改服务器响应、重定向、网络限速、断点调试等…

数据结构刷题训练:队列实现栈

目录 前言 1. 题目:使用队列实现栈 2. 思路 3. 分析 3.1 创建栈 3.2入栈 3.3 出栈 3.4 栈顶数据 3.5 判空和 “ 栈 ” 的销毁 4. 题解 总结 前言 我们已经学习了栈和队列,也都实现了它们各自的底层接口,那么接下我们就要开始栈和队列的专项刷…

go内存管理机制

golang内存管理基本是参考tcmalloc来进行的。go内存管理本质上是一个内存池,只不过内部做了很多优化:自动伸缩内存池大小,合理切割内存块。 基本概念: Page:页,一块 8 K大小的内存空间。Go向操作系统申请和…

2.Model、ModelMap和ModelAndView的使用详解

1.前言 最近SSM框架开发web项目,用得比较火热。spring-MVC肯定用过,在请求处理方法可出现和返回的参数类型中,最重要就是Model和ModelAndView了,对于MVC框架,控制器Controller执行业务逻辑,用于产生模型数据…

Spring Cloud构建微服务断路器介绍

什么是断路器 断路器模式源于Martin Fowler的Circuit Breaker一文。“断路器”本身是一种开关装置,用于在电路上保护线路过载,当线路中有电器发生短路时,“断路器”能够及时的切断故障电路,防止发生过载、发热、甚至起火等严重后果…

【Redis】使用Docker镜像配置集群时的Operation timed out问题

不知道有没有小伙伴跟我一样是使用的Docker镜像进行Redis集群案例模拟的(三台虚拟机确实带不动 ),然后我遇到了一个问题:Could not connect to Redis at 172.17.0.2:6379: Operation timed out 172.17.0.2是我其中一个Redis实例的…

如何测试Linux磁盘的读写速度

在Linux系统中也有很多命令可以测试硬盘的读写速度指标。以下是几个常用命令(注意:在执行测试命令之前,请务必备份数据以避免数据丢失! 1、dd 命令 首先挂载磁盘 mount /dev/sdb /testdd 命令可用于进行硬盘读写速度测试。 例…

android 开发中常用命令

1.反编译 命令&#xff1a;apktool d <test.apk> -o <folderdir> 其中&#xff1a;test.apk是待反编译文件的路径&#xff0c;folderdir是反编译后的文件的存储位置。 apktool d -f <test.apk> -o <folderdir> 注意&#xff1a;如果dir已经存在&am…

【Sklearn】基于决策树算法的数据分类预测(Excel可直接替换数据)

【Sklearn】基于决策树算法的数据分类预测&#xff08;Excel可直接替换数据&#xff09; 1.模型原理1.1 模型原理1.2 数学模型 2.模型参数3.文件结构4.Excel数据5.下载地址6.完整代码7.运行结果 1.模型原理 决策树是一种基于树状结构的分类和回归模型&#xff0c;它通过一系列…

MySql(干货)

写这篇博客的目的不是为了将介绍原理&#xff0c;而是为了Sql中的代码操作属实太多了&#xff0c;在这里进行一个汇总&#xff0c;方便查阅&#xff01;&#xff01;&#xff01; Sql分类 分类全称说明 DDL Data Definintion Language数据定义语言&#xff0c;用来定义数据库对…

微信小程序(由浅到深)

文章目录 一. 项目基本配置1. 项目组成2. 常见的配置文件解析3. app.json全局的五大配置4.单个页面中的page配置5. App函数6.tabBar配置 二. 基本语法&#xff0c;事件&#xff0c;单位1. 语法2. 事件3. 单位 三. 数据响应式修改四 . 内置组件1. button2. image3. input4. 组件…

k8s常用资源管理 控制

目录 Pod&#xff08;容器组&#xff09;&#xff1a;Pod是Kubernetes中最小的部署单元&#xff0c;可以包含一个或多个容器。Pod提供了一种逻辑上的封装&#xff0c;使得容器可以一起共享网络和存储资源 1、创建一个pod 2、pod管理 pod操作 目录 创建Pod会很慢 Pod&…

什么是事务,并发带来的事务问题以及事务隔离级别(图文详解)

一、什么是事务&#xff1f; 简单说就是逻辑上的一组操作&#xff0c;要么都执行&#xff0c;要么都不执行。 举个例子&#xff0c;假如小明要给小红转账100元&#xff0c;这个转账会涉及到两个关键操作&#xff1a;①将小明的余额减少100元。 ②将小红的余额增加100元 。但…

学习笔记整理-JS-04-流程控制语句

文章目录 一、条件语句1. if语句的基本使用2. if else if多条件分支3. if语句算法题4. switch语句5. 三元运算符 二、循环语句1. for循环语句2. for循环算法题3. while循环语句4. break和continue5. do while语句 三、初识算法1. 什么是算法2. 累加器和累乘器3. 穷举法4. 综合算…

设计模式(2)工厂方法模式

一、 1、介绍&#xff1a;定义一个用于创建对象的接口&#xff0c;让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。简单工厂模式的最大优点在于工厂类中包含了必要的逻辑判断&#xff0c;根据客户端的选择条件动态实例化相关的类&#xff0c;对于客户端来说…

odoo-034 float 浮点数比较

文章目录 前提问题解决总结 前提 odoo 版本&#xff1a;13 python&#xff1a;3.6.9 问题 比较销售订单行中已送货跟已开票&#xff0c;在 tree 视图显示搜索后的结果。发现搜索条件为已送货 > 已开票时&#xff0c;结果中会包含已送货已开票的。 解决 把这两个值打印出…

LeNet中文翻译

Gradient-Based Learning Applied to Document Recognition 基于梯度的学习应用于文档识别 摘要 使用反向传播算法训练的多层神经网络构成了成功的基于梯度的学习技术的最佳示例。给定适当的网络架构&#xff0c;基于梯度的学习算法可用于合成复杂的决策表面&#xff0c;该决策…

【Vue-Router】使用 prams 路由传参失效

报错信息&#xff1a; [Vue Router warn]: Discarded invalid param(s) “name”, “price”, “id” when navigating. list.json {"data": [{"name": "面","price":300,"id": 1},{"name": "水",&quo…

考研408 | 【计算机网络】 网络层

导图 网络层&#xff1a; 路由器功能&#xff1a;转发&路由选择 数据平面 数据平面执行的主要功能是根据转发表进行转发&#xff0c;这是路由器的本地动作。 控制平面 1.传统方法/每路由器法&#xff1a; 2.SDN方法&#xff08;Software-Defined Networking) 控制平面中的…

html实现商品图片放大镜,html图片放大镜预览

效果 实现 复制粘贴&#xff0c;修改图片路径即可使用 <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>商品图片放大镜</title></head><style>body {margin: 0;padding: 0;}#app {padding: 10px;posit…