全网火爆,性能测试从0到1分析需求到实战详解,冲出高级测试岗...

news2024/11/28 18:36:10

目录:导读

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


前言

1、制定测试目的
性能测试是一项严谨的需要各团队协同配合的工作,其中包括产品、开发、运维、网络、DBA、测试等角色。从零开始实施性能测试,而性能测试流程,是最重要的一步。

制定性能测试流程指南的目的,是从技术角度制定性能测试实施过程中关键技术规范,更好的对系统进行性能测试,帮助性能测试人员更好地从技术上来规避系统上线后的风险、

评估线上系统的真实能力,根据业务模型摸底线上能力以提前应对,尽可能减少系统上线后的性能风险带来的损失。

2、适用范围
对性能测试实施过程中非常重要和关键的相关技术进行分析,主要包括:

系统环境、测试指标、业务模型、数据量级、测试模型、测试策略、测试脚本、被测场景、服务监控、瓶颈分析、优化验证。

3、性能测试流程
按照业内目前的最佳实践,性能测试的流程是很详细的,分为很多步骤。
如下图:

请添加图片描述

考虑到从零开始实施的难度、公司所处的阶段、研发部门技术建设以及上面提到的问题,在最开始时候,建议对其进行一定的精简,原因有如下几点:

接受程度:流程越精简,各团队成员的接受性越快;
推动难度:精简的流程易于更快速的推动以及调整;
快速产出:更快的产生反馈,性能测试产出更及时;
心理落差:期待值越低,落地的结果越容易被接受;

请添加图片描述

4、流程四大阶段
大体来说,性能测试的流程可分为如上四个阶段,分别是需求阶段、准备阶段、实施阶段以及结束。

1)需求阶段
①提出需求
性能测试一定是先有需求,才可以决定要不要继续执行。而性能需求的提出方,可以是开发(觉得某个接口慢)、可以是运维(对某个系统的服务能力进行容量评估);

也可以是测试人员(从需求评审中分析出某个需求需要进行性能测试来规避风险)、更可以是产品(线上问题直接表现&用户反馈)。

而上图中项目负责人的角色不一定必须是岗位title意义上的PM角色,而是需要这么一个角色来做好居中沟通、资源协调的工作。

②需求评审
不经过评审的需求往往有很多坑!!!
只有多方相关人员参与评审,从各自的角度给出意见,沟通达成一致,才能决定后续的要不要做?怎么做?以及谁来做什么事情!

③需求调研
需求调研阶段主要是对后续性能测试实施的一些必要信息进行更细致的沟通和确认,以及在职责、工时、排期、交付时间这几点上寻求平衡的可接受的点。

2)准备阶段
①环境准备
无论是功能测试还是自动化或者性能测试,总是需要一个合适的环境来进行。

对性能测试来说,无论是环境选择(生产or性能测试环境)还是申请对应的资源(虚拟机&云服务器&docker),一般都需要运维工程师来进行搭建配置。

②应用部署
性能测试的被测应用必须是稳定的,没有P2及以上缺陷或通过回归测试的版本包,根据每个公司的职责定位不同,应用部署一般是开发进行部署,或开发提供对应的代码路径,运维进行拉取部署。

③数据准备
性能测试对数据的要求是很高的,无论是数据量级、精准度抑或是数据的多样性。

一般分为如下几种数据类型:
铺底数据:最常见的准备方式为从生产拖库最新的最完整的基础数据来作为性能测试所用;

测试数据:比如性能测试场景需要读写大量的数据,而为了保证测试结果的准确性,一般通过从生产拉取同等量级或者至少未来一年的增长量级的脱敏数据;

参数化数据:不同类型的数据处理逻辑有差异时,需要通过测试数据的多样化来提高性能测试代码的覆盖率,而参数化是最常见的方式;

④脚本开发
性能测试脚本需要针对业务模型转化后的测试模型以及采用的测试策略进行针对性的开发调试试运行。

3)实施阶段
完成准备阶段的工作,就开始开展性能压测了(有时候需要进行压测预热),这也是很多对性能测试不太了解的同学对性能测试的认知(录制脚本→无脑高并发)。

①压测执行
性能测试执行阶段,是需要执行很多轮次,且测试脚本也需要不断地调整修改,根据测试结果不断改进的,这样才能得到更为准确的测试结果。

②服务监控
这个阶段称之为APM(Application Performance Management:对应用程序性能和可用性的监控管理)更合适。

狭义上的APM单指应用程序的监控,如应用的各接口性能和错误监控,分布式调用链路跟踪,以及其他各类用于诊断(内存,线程等)的监控信息等。

广义上的APM, 除了应用层的监控意外,还包括App端监控、页面端监控、容器、服务器监控,以及其他平台组件如中间件容器、数据库等层面的监控。

③瓶颈定位
进行性能测试的目的,就是为了探测系统是否存在影响提供正常服务的性能瓶颈以及为上线提供容量评估。

如果系统性能表现未到达预期指标,则需要对日志、监控数据进行分析,定位其性能瓶颈并针对性的进行优化才可以。

④优化验证
发现性能瓶颈并修改优化后,需要再次执行压测,以验证问题是否得到解决以及性能的提升能力,衡量的标准是需求评审和调研阶段确定的业务性能指标。

4、结束阶段
性能测试结束的标志,一般包括如下如下几点:
涉及的测试场景均已测试完毕、测试过程中发现的问题已全部修复验证、测试结果达到了预期的性能指标、满足上线要求。

①测试报告
在满足上面4个条件后,最好是出具一份简洁但是明确的测试报告,说明本次性能测试的目的、范围、环境信息、测试结果、问题,并给出测试结论。

测试报告的方式可以是文档、邮件、一个HTML页面等方式,但这个环节一定不能省略!!!

②报告评审
最好是让参与本次性能测试各环节工作的各个角色都参与进行评审,大家对结果无异议,即可视为本次性能测试结束。

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

生命中没有所谓的终点,只有不断追寻的过程。无论前路如何崎岖,我们都要坚持初心、砥砺前行,去实现自己的梦想。相信自己,勇往直前,创造属于自己的精彩人生!

生活中常常充满了挫折和困难,但只要保持前行的动力和信念,我们就一定能够越过每一个障碍。勇往直前,不断奋斗,成就更加辉煌的未来!

成功的路上充满了辛酸和汗水,但只要坚定自己的信念,持之以恒地努力奋斗,最终一定能够梦想成真。不要害怕失败,相信自己,勇往直前,迎接更美好的明天!

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

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

相关文章

《设计模式》备忘录模式

《设计模式》备忘录模式 定义: 备忘录模式又称为快照模式或者令牌模式,在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态。属性行为型模式。 备…

【云原生】私有镜像的解决方案-Harbor管理实战

前言 通过前面的镜像管理,我们知道docker的开发和运行都离不开镜像管理,如果要进行镜像管理就需要使用镜像仓库。 docker官方提供的镜像仓库是: docker hub, 很方面但从安全和效率的角度考虑,这样的公有镜像环境就无…

Qt文件系统源码分析—第一篇QFile

深度 本文主要分析Windows平台,Mac、Linux暂不涉及 本文只分析到Win32 API/Windows Com组件/STL库函数层次,再下层代码不做探究 本文QT版本5.15.2 类关系图 QTemporaryFile继承QFile QFile、QSaveFile继承QFileDevice QFileDevice继承QIODevice QIODev…

实用技能 || 从安装到实战!Citespace、vosviewer保姆级教程!

【基于Citespace和vosviewer文献计量学相关论文 】 专题一:文献计量学方法与应用 1 文献计量学方法基本介绍 2 与其他综述方法区别联系 3 各学科领域应用趋势近况 4 主流分析软件优缺点对比 5 经典高分10SCI思路复盘 6 软件安装与Java环境配置 专题二&#…

【IDEA】DeBug(图文并茂)

文章目录 01_Debug简介和意义02_IDEA中的Debug步骤03_跳转到当前代码执行的行04_步过调试的使用05_步入调试的使用06_强制步入调试的使用07_步出调试的使用08_回退断点调试的使用09_运行到光标处10_计算表达式11_条件断点12_多线程调试 IDAEA(Interactive Data Anal…

【k8s】【ELK】Sidecar容器运行日志Agent

1、日志收集场景分析与说明 对于那些能够将日志输出到本地文件的Pod,我们可以使用Sidecar模式方式运行一个日志采集Agent,对其进行单独收集日志1、首先需要将Pod中的业务容器日志输出至本地文件,而后运行一个Filebeat边车容器,采…

【Mysql实战】存储过程详解

快速入门 创建存储过程 CREATE PROCEDURE p1()BEGIN-- SQL语句SELECT count(*) FROM user; END;调用存储过程 CALL p1();查看存储过程 SHOW CREATE PROCEDURE 存储过程名称删除存储过程 DROP PROCEDURE [ IF EXISTS ] 存储过程名称 ;入参出参 IN:该类参数作为输…

关于不同处理器的函数调用规则

关于不同处理器的函数调用规则 接前面一篇变长参数调用的记录,这次从原理上进行了进一步研究。 不同调用规则对对于编译出来的汇编影响很大的,这里之前的理解比较粗浅,尤其是一般教科书或者网上能看到的内容都比较老,这里记录一下…

【马蹄集】第十一周作业

第十一周作业 目录 MT2012 竹鼠的白色季节MT2013 照亮街道MT2014 打靶MT2026 二维坐标点移动MT2027 一秒成零 MT2012 竹鼠的白色季节 难度:黄金    时间限制:1秒    占用内存:250M 题目描述 小码哥的竹鼠养殖场中的竹鼠都在一条直线的隔间…

深度学习笔记之递归网络(一)引子:序列模型

深度学习笔记之递归网络——引子:序列模型 引言回顾:齐次马尔可夫假设序列模型序列信息序列数据建模 引言 从本节开始,将介绍递归网络系列。本节将介绍序列模型。 回顾:齐次马尔可夫假设 齐次马尔可夫假设——在隐马尔可夫模型…

LeetCode 124. 二叉树中的最大路径和

124. 二叉树中的最大路径和 描述 二叉树中的 路径 被定义为一条节点序列,序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一定经过根节点。 路径和 是路径中各节点值的总和。 给你一…

收藏|必读10本pcb设计书籍推荐

1."High-Speed Digital Design: A Handbook of Black Magic"。 作者是Howard Johnson和Martin Graham。这是一本关于高速数字电路设计的优秀教材,适合那些需要设计高速电路的工程师。 作为比较早出来的信号完整性参考书,对国内的信号完整性研…

Apollo与SpringBoot整合原理深度剖析

Apollo与SpringBoot整合原理深度剖析 Spring环境上下文模块Value注解如何完成属性注入application.yml等配置文件加载时机监听环境上下文prepared事件Loader加载配置文件 Apollo与SpringBoot整合原理Value注解的热更新原理 Spring环境上下文模块 Spring Envionment设计如下: 需…

Unlimiformer:一个Transformers输入无限长文本思路和中文长文本摘要上的性能实验

Unlimiformer:一个Transformers输入无限长文本思路和中文长文本摘要上的性能实验 1、前言 在处理长文本输入时,以往方法常采用截断(如:max_len512)、分块(将输入分成多个块,并进行逐块处理&am…

【EasyPoi实战系列】Spring Boot使用EasyPoi实现多Sheet导出 - 第470篇

悟纤:师傅,那个讨人厌的产品又来捣乱了~ 😒 师傅:哈哈,你又来抱怨老板设定的无休止需求了啊? 😆 悟纤:没错,这次竟然要求导出多个Sheet,这还能不能好好地活着…

十九、Sleuth整合Zipkin链路跟踪

目录 链路跟踪概述 SpringCloud Sleuth 1、架构图 2、主要概念 2.1、跟踪:Trace (一条完整链路--包含很多span(微服务接口)) 2.2、跨度:Span 2.3、标注:Annotation Sleuth整合Zipkin实现分布式链路跟踪 1、搭建zipkin环境 1.1、下载…

2023年5月中国数据库排行榜:OTO组合回归育新机,华为高斯蓄势待发展雄心

路漫漫其修远兮,吾将上下而求索。 2023年5月的 墨天轮中国数据库流行度排行 火热出炉,本月共有262个数据库参与排名。本月排行榜前十变动较大,可以用一句话概括为:openGauss 立足创新夺探花;华为云GaussDB 云上之争成赢…

单片机设计_室内环境智能监测系统(STM32 OLED ESP8266 DHT11 MQ-2 加湿器)

想要更多项目私wo!!! 一、电路设计 室内环境智能监测系统 主要功能: 1.检测空气温湿度 2.检测光照强度 3.检测烟雾浓度 4.数据显示在手机端和设备OLED屏幕上 5.当空气温度高于设定的阈值时,风扇开启 6.当空气湿度…

【Linux从入门到精通】上下文概念详解

上篇文章(进程的基本概念)我们讲解了进程后,还留下了一个上下文数据概念还没有解释。本篇文章会对上下文概念进行详解。在理解上下文概念时,同时会引出很多新的概念。我们都会对此进行详细解释,希望本篇文章会对你有所…

7款产品经理必备的交互软件

作为UI/UX设计师,我相信你或多或少接触过很多交互设计软件。 为您整理总结了几款流行的交互软件。如果您在上述交互设计软件中确实存在选择困难,希望通过阅读本文帮助您快速做出正确的选择。 即时设计 即时设计是一款「专业UI设计工具」,不…