全网最详细,性能测试场景模型分析,从0到1实施性能测试...

news2024/11/26 13:36:09

目录:导读

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


前言

性能测试,需求分析是重中之重——分析不到位会导致场景不符合实际,做无用功;
工具+监控没太多学习成本;
真实的性能需求,才是影响最终测试结果的关键因素;

相信很多做性能测试的同学,都遇到过下面这些问题:
需求不明确,有时候甚至是“我们有个XXX接口,你给我压一下”这种伪需求;

需求不明确导致无法对测试点&测试场景进行详尽完善的分析,最终的测试结果与实际需要的结果差距很大,无法对瓶颈定位和线上容量规划提供精确的参考;

工作结果没有正向有效的反馈机制,出了问题甚至需要背锅这种蛋疼的事情;

当然,实际工作中,还会遇到很多其他的问题,重要的是:我们如何分析问题背后的原因,然后想办法解决问题!

关于场景建模,主要从如下三方面入手:

业务场景

在测试开始前的需求阶段,一定要梳理调研清楚,我们测试的范围和目的是什么?

比如有些电商项目,项目主要是社交电商+鉴定,社交必备的风控业务,电商先天自带的物流仓储业务,基础的消息及推送服务,以及双十一必备的促销活动,在双十一大促期间,这些都是核心的业务链路。

以交易业务来说,交易业务链路,会包含如下的一些核心业务链路:

请添加图片描述

其中,首页可能会包含开屏页、登录首页、促销活动页,个人主页等;商品会包含商品详情、商品列表、商品收藏等;以及订单、购物车、支付、搜索等和交易有强依赖的业务。

根据不同业务链路包含的细分业务功能,以及结合系统架构类型(微服务可能会根据业务属性来做高度内聚解耦),划分不同功能的优先级和重要程度。

这样,我们在需求阶段,就可以得到一个比较明确的业务场景,从而开始下一步的工作。

链路场景

完成了测试范围的确认和业务场景的梳理划分,接下来,就是从需求→测试点的拆分(关于这点,初始的想法是和压测场景合并来说,但仔细想想,作为一个独立场景更好)。

在链路场景构建过程中,最重要的,是考虑到如下三点:

1、任务拆解
任务拆解,和字面意思一样,根据梳理出来的业务场景,从用户的角度来划分不同的操作流程,然后梳理出不同业务链路的任务List;

2、任务排期
根据拆分的业务链路,分析梳理它的前置项(环境准备、服务联调)、跨部门合作(运营投放、渠道引流)、资源投入(开发、运维、测试)、交付产出(版本、API文档、日志服务、监控)。

然后按照时间节点,预估工期并进行倒排,工时预估到天/人,可以有半天左右的浮动,但一定要明确交付时间和预案(比如各team交付太晚或资源不足的备份方案)。

3、权重划分
你看,按照上面的玩法,梳理出来的东西一定很多。但很多时候,交付产出总会晚点,资源投入总会少点,预案基本是没有的。

针对这种问题,作为性能测试,该如何做呢?答案其实上面已经说到了,划分权重和优先级,在有限的时间和资源投入范围内,优先保障核心和重要链路的测试覆盖!

毕竟,兜底方案,是有很多的,比如流量限流、服务降级甚至熔断(这些手段都是有损的,但为了保障到时候服务不挂掉,这些都是可接受的)。

PS:有些细节性的东西,限于保密和安全规则,无法详细介绍,但抓住重点,按照上面介绍的思路去实践,总归会有适合自己团队的方法。

压测场景

前面我们确认了测试范围、业务场景、业务链路,划分了优先级和权重,做了一些预案及任务排期,但最终要落地的,还是测试方案及具体的测试场景。

比如,针对不同的业务场景,我们要采用哪些测试策略,如何进行测试,什么时候开始,预期结果以及验收标准等等。

这里,我建议在输出最终的测试方案前,先画个思维导图,和开发、运维甚至架构童鞋快速的review一下,先达成大方向的一致,然后输入测试方案,执行压测。

可以参照如下的压测思路进行具体的测试场景设计:

请添加图片描述

具体实践,还是建议根据各自team的特点,针对性执行。

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

人生没有彩排,每一次经历都是一场及时行乐的演出。投身于追求自己的理想与目标中,不断努力,你将收获更多的成功与快乐。

别让自己的人生被安排好,去探索更大的世界吧。用心经营每一天,积极面对每一个挑战,勇攀高峰,你将成为最耀眼的存在。

在你坚定的信念和不懈的努力中,每一个小小的进步都是一份收获。别放弃,别停止,不要忘记你为什么开始。成功属于那些永不言败的人。

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

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

相关文章

资深测试总结,Python接口自动化测试-数据依赖解决(详全)

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

MyBatis学习 (一) 配置文件解析流程

MyBatis源码学习 最近在学习MyBatis的代码。记录下 首先下载下源码: https://github.com/mybatis/parent https://github.com/mybatis/mybatis-3 parent为父控依赖。也需要下载。 入口 InputStream inputStream null; try {// 获取配置文件inputStream Reso…

Java经典笔试题—day06

Java经典笔试题—day06 🔎选择题🔎编程题🥝不要二🥝把字符串转换成整数 🔎结尾 🔎选择题 (1)关于抽象类与最终类,下列说法错误的是? A. 抽象类能被继承,最终类只能被实…

Python、Pytest、Allure、Selenium和Jenkins实现自动化测试集成实例

下方查看历史精选文章 重磅发布 - 自动化框架基础指南pdfv1.1大数据测试过程、策略及挑战 测试框架原理,构建成功的基石 在自动化测试工作之前,你应该知道的10条建议 在自动化测试中,重要的不是工具 本文将介绍如何使用Python、Pytest、Allur…

燃气巡检系统

燃气管网检查是整个管网可靠运行的重要保证,尤其是加强天然气管道巡检管理更是重中之重。要做好管网维护工作,必须认真把握好每个环节,每个过程,每个细节,认真落实管网巡维制度等,而通过凡尔码管理系统可使…

程序员痛心流涕自述:“因为把自己代码给了别人,我亲手断送了自己的前程”

在求职的过程中,一般都会有投递简历、笔试、面试以及背调的环节,而在这几个环节中折戟沉沙的人也着实不少。 不少人觉得,在求职时简历需要优化,背调不能有瞒报、捏造的情况,而笔试面试则是纯纯的要靠硬实力。 虽然说…

MySQL基础(二十六)索引的创建与设计原则

1. 索引的声明与使用 1. 1 索引的分类 MySQL的索引包括普通索引、唯一性索引、全文索引、单列索引、多列索引和空间索引等。 从功能逻辑上说,索引主要有 4 种,分别是普通索引、唯一索引、主键索引、全文索引。 按照物理实现方式,索引可以分…

【Linux】shell编程之循环语句

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、循环语句二、for循环语句1.for 语句的结构2.for语句应用示例 三、while 循环语句1.while 循环语句结构2.while语句应用示例 四、until 循环五、跳出循环六、死循…

【Linux】信号的保存

信号的小细节真的很多~ 文章目录 前言一、信号的保存总结 前言 首先我们先引出一个新的概念,叫核心转储。linux系统提供了一种能力,操作系统可以将一个进程在异常的时候将核心代码部分进行核心转储,将内存中进程的相关数据全部dump到磁盘中&…

新版ripro全站美化子主题美化包使用说明手册

前言: 安装 Ripro 前,首先是需要先安装好 WordPress 主程序,因为 Ripro和美化包只是 WordPress 的一枚主题而已! 如何安装 WordPress 并不在本教程范围内,建议百度 如何安装好 WordPress ,但是还是想建议一下,尽量选择 Linux+php+nginx 的机器来安装 WordPress! 安装…

win部署CAS服务并使用

前提描述:通过本次了解cas是个什么东西,并使用它。 cas为oss(单点登录)的一种实现方案。要实现cas单点登录,首先需要部署cas的server服务。 CAS是Central Authentication Service的缩写,中央认证服务,。 一、安装CAS…

若依管理系统RuoYi-Vue:权限系统设计详解

文章目录 摘要数据库表结构设计菜单管理目录、菜单和按钮的区别菜单权限 api接口权限配置方法PreAuthorize注解介绍数据权限 前端vue权限拦截菜单权限按钮权限 摘要 若依(RuoYi)是一款基于Spring Boot和Vue.js开发的快速开发平台,它的权限管…

今天面了个阿里拿25k出来的小哥,让我见识到了什么是测试天花板

2022年堪称大学生就业最难的一年,应届毕业生人数是1076万。失业率超50%! 但是我观察到一个数据,那就是已经就业的毕业生中,计算机通信等行业最受毕业生欢迎! 计算机IT行业薪资高,平均薪资是文科其他岗位的…

优秀CRM系统的四个条件

如今,构建“以客户为中心”的经营模式,是许多企业提升竞争力的核心战略。CRM系统能够管理客户关系,提高销售线索转化率,帮助企业实现业绩增长。那么众多品牌中,CRM系统哪家公司做得更好? CRM做得好有哪几个…

Vue换肤主题

拷贝颜色选择组件 **ThemePicker <template><!-- navabar的换肤组件 --><el-color-pickerv-model="theme":predefine="[#409EFF,

智慧校园水电节能监管系统

现阶段各高校用电设备量多范围广&#xff0c;包含寝室、办公室、教室、会议厅、试验室、公共图书馆、运动场馆、饭堂、路面、园林绿化等地方&#xff0c;能耗极大。而且大多数节能意识薄弱&#xff0c;欠缺科学合理、科学合理的规章制度开展监管&#xff0c;造成电力能源很多消…

达索的全面的三维设计和产品开发工具CATIA V5-6R 2020版本下载与安装配置教程

目录 前言一、CATIA 安装二、CATIA更新包安装三、使用配置四、帮助文档安装&#xff08;非必要&#xff09;总结 前言 Dassault Systemes公司的CATIA软件是一种基于计算机辅助设计&#xff08;CAD&#xff09;和计算机辅助制造&#xff08;CAM&#xff09;的软件&#xff0c;用…

Vue(组件间通信:props、自定义事件、全局事件总线、消息订阅与发布)

一、props props不仅可以实现父给子传递信息&#xff0c;还可以进行子给父传递信息 1.父给子传递信息&#xff1a; 父组件中给子组件实例传递信息 子组件利用props进行接收组件传递信息&#xff08;接收方式有三种&#xff1a;数组、对象、配置对象&#xff09; 2.子给父传递…

【表面缺陷检测】基于yolov5的布匹表面缺陷检测(附代码和数据集)

写在前面: 首先感谢兄弟们的订阅,让我有创作的动力,在创作过程我会尽最大能力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌。 路虽远,行则将至;事虽难,做则必成。只要有愚公移山的志气、滴水穿石的毅力,脚踏实地,埋头苦干,积跬步以至千里,就…

Mybatis Plus 入门 简单的CRUD 使用详解 条件查询 分页查询 DML操作 MP代码生成器

Mybatis Plus入门 MP是 MybatisPlus&#xff0c;简称MP&#xff0c;是一个 Mybatis 的增强工具&#xff0c;在 Mybatis 的基础上只做增强不做改变。MP为简化开发、提高效率而生。 它已经封装好了单表curd方法&#xff0c;我们直接调用这些方法就能实现单表CURD。 注意&#xf…