当前位置: 首页 > news >正文

从“入门”到“专家”,一份3000字完整的性能测试体系的知识分享

随着科技的飞速发展,软件产品广泛应用于各个行业领域,人们对计算机和网络的依赖性越来越大,对新奇事物也越来越感兴趣,成千上万的用户活跃在庞大的网络系统中,这给提供服务的系统带来严重的负荷,"高并发"、"数据集中"便是系统网络发展中最明显的特征。

时过境迁,IT服务系统的性能测试与优化越来越重要,性能测试已经不再是一个可有可无的工作,越来越多的企业在产品测试的过程中都将性能测试列为工作内容的重要环节。

一、工作中的性能测试难题

如果你恰好刚刚进入一家新公司,做了一段时间的功能测试,你觉得没问题可以胜任,信心十足。可好景不长,突然领导让你开展性能测试,作为想保住工作的测试员你无法拒绝,但作为初出茅庐的测试新人,你除了手足无措,只能默默慨叹自己能力尚欠,眼前只会出现一个又一个无从下手的难题:

1、项目需求缺乏的情况下,如何开展性能测试需求分析工作?
2、系统没有相关的历史数据,也不明了未来上线后的用户情况,如何设计并发用户数和业务数据量呢?
3、不是每一个功能或是每一组业务都要进行性能测试,如何进行性能测试必要性分析呢?如何分析并确认性能测试范围?
4、性能测试指标有那么多,比功能测试的预期结果需要考虑的内容要多很多,如何进行性能测试指标的定义?如何选择合理的性能测试指标?
5、负载压测执行后,如何判断是否存在性能故障?
6、如果出现了性能故障,如何进行调优?如何确定调优结果?
听听15年资深测试工程师分享的性能测试经验及必备干货,或许能帮助你解决很多工作中的迷惑。

二、功能测试如何转性能测试?

提问者:小北

面临状况:做了大半年的功能测试,日常工作也就测测软件界面和软件逻辑,时间久了觉得枯燥无味,薪资不高是硬伤,想转性能测试方向,但感觉需要学习的东西太多了,无从下手,很是苦恼,求大神指点迷津。

大佬即时贴:有这种想转的思想很好。相信有很多和你同样情况的同学,同时,半年的经验一下子转过来是不可能的。

首先,你已经做了大半年功能测试了,相信已经具备了自己搭建测试环境的能力,对整个系统也有很深的理解了。这个过程是每个测试员必须经历的,可以提高自己的学习能力,也可以为日后的进阶打下坚实的基础。建议多跟测试项目,加深学习和理解被测项目用了哪些技能。

其次,学习一款性能测试工具。我本人不建议上来就学那些操作系统、数据库等知识。毕竟先从工具入手是最快最合适的,至于会不会分析,那是知识的累积程度和思维方式的问题,是后面的问题,如果真想转,先学一款工具,把工具玩熟。且在功能测试中,如果有性能需求,多多参与。

性能能测试拼的是对整个计算机体系的理解,而不仅仅是工具。但我们必须先掌握工具,以此为切点快速的入门。

三、做性能测试,该掌握什么?

性能测试工作阶段流程

1、性能测试需求分析(准备阶段)

明确性能测试范围、定义性能测试指标

2、性能测试计划

确定测试领域、分析用户场景、确定性能目标、性能测试工作安排、制定实施时间、性能测试风险预防

3、性能测试设计(时间比重大)

测试环境设计、测试场景设计、测试用例设计、脚本和辅助工具的开发及使用

4、性能测试实施

构建性能测试场景、执行测试脚本、测试结果记录

5、性能测试故障定位

6、性能测试调优

性能测试执行过程中的各种坑

1、性能测试环境监控问题

2、缓存处理优化问题

3、Linux下MySQL跟踪

4、通过git获取优化后代码

5、验证码校验问题

6、批量数据构造+存储过程

7、MySQL占用CPU过高

8、最多可以支持多少并发

9、不通过上游流程,如何直接加压

10、性能测试用例设计

11、批量数据构造+自动化技术

12、复杂性能测试设置

13、如何评估当前系统性能状况

14、架构对数据库性能的影响

15、多个业务性能测试

16、集合点对性能的影响

17、批量数据构造+SQL命令

18、调优前后性能指标对比

性能测试执行工作全面演绎

1、部署性能测试环境:

LNMP:Linux+Nginx+MySQL+PHP

2、性能测试执行:

Fiddler+Jmeter+PhpMyAdmin+Linux(xshell)+NMON

3、性能测试故障定位:

缓存问题、数据初始化问题、设计架构问题

4、性能测试调优:

缓存调优、数据库调优、代码调优

关于功能测试的文章,网络上可以查找到很多,但是关于性能测试,专业系统的文章却寥寥无几,很少有文章介绍如何优化系统的性能。

当然,性能测试只是软件测试工作中的一部分,想从初级的功能测试到最高端的测试开发,还有很多技能是需要去掌握的,同样也是有很多窍门的!

今天的分享就到此结束了, 如果文章对你有帮助,记得点赞,收藏,加关注。会不定期分享一些干货哦......

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助……如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加入下方我们的测试交流群大家一起讨论交流学习。

相关文章:

从“入门”到“专家”,一份3000字完整的性能测试体系的知识分享

随着科技的飞速发展,软件产品广泛应用于各个行业领域,人们对计算机和网络的依赖性越来越大,对新奇事物也越来越感兴趣,成千上万的用户活跃在庞大的网络系统中,这给提供服务的系统带来严重的负荷,"高并…...

构建对话机器人:Rasa3安装和基础入门

在开源对话机器人中,Rasa社区很活跃,在国内很多企业也在使用Rasa做对话机器人,有rasa开发经验的往往是加分项。 当年实习的时候接触到了Rasa,现在工作中也使用Rasa,因此,写写一些经验文档,有助后…...

Spark计算框架入门笔记

Spark是一个用于大规模数据处理的统一计算引擎 注意:Spark不仅仅可以做类似于MapReduce的离线数据计算,还可以做实时数据计算,并且它还可以实现类似于Hive的SQL计算,等等,所以说它是一个统一的计算引擎 既然说到了Spar…...

入职数据分析公认的好书|建议收藏

众所周知,数据分析经常出现在我们的日常生活中,各行各业都需要数据分析。可你知道什么是数据分析?它在企业里到底扮演什么角色?以及如果我们自己也想拥有数据分析的能力,以便更好的满足数据分析的需求,我们…...

Linux查找文件和目录,重定向输出 ,系统默认运行级别的查看和设置理论和练习

♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维课堂笔记,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生! ♥️夕阳下,是最美的绽放&#xff0…...

Redis源码---键值对中字符串的实现,用char*还是结构体

目录 前言 为什么 Redis 不用 char*? char* 的结构设计 操作函数复杂度 SDS 的设计思想 SDS 结构设计 SDS 操作效率 紧凑型字符串结构的编程技巧 小结 前言 对于 Redis 来说,键值对中的键是字符串,值有时也是字符串在 Redis 中写入一…...

算法 - 剑指Offer 表示数值的字符串

题目 请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。 数值(按顺序)可以分成以下几个部分: 若干空格 一个 小数 或者 整数 (可选)一个 ‘e’ 或 ‘E’ ,后面跟着一个 …...

初识机器学习

监督学习与无监督学习supervised learning:监督学习,给出的训练集中有输入也有输出(标签)(也可以说既有特征又有目标),在此基础上让计算机进行学习。学习后通过测试集测试给相应的事物打上标签。…...

VsCode安装PlatformIO 开发ESP arduino,买的板子或者随便ESP,PlatformIO添加Board(不是自定义Board)

这次主要记录怎么给新建选板子的时候没有的板子下程序 我这里是一块 WiFi Kit 32 (V3) PlatformIO里面只有到V2 先从头开始,安装PlatformIO 安装PlatformIO 直接搜索安装 安装有时候会比较慢,左侧出现蚂蚁图标之后点击会显示 右下角会提示正在安…...

golang 复杂数据结构解析

[{"key":"15275771","pack":{"1":[{"name":"消息配置","id":15275771,"version":1,"createUser":"molaifeng","data":"test"}]},"callback&qu…...

不怕被AirTag跟踪?苹果Find My技术越来越普及

苹果的 AirTag 自推出以来,如何有效遏制用户用其进行非法跟踪,是摆在苹果面前的一大难题。一家为执法部门制造无线扫描设备的公司近日通过 KickStarter 平台,众筹了一款消费级产品,可帮助用户检测周围是否存在追踪的 AirTag 等设备…...

Linux驱动中的open函数是如何从软件打通硬件呢?

一、前言 打开文件是Linux系统中最基本的操作之一,open函数可以实现打开文件的功能。下面我将为您介绍open函数打通上层到底层硬件的详细过程。 二、open函数打通软硬件介绍 open函数是系统调用中的一种,其原型定义在头文件unistd.h中: #…...

Java 基础语法

Java 是一门广泛使用的编程语言,由于其简单易学和可移植性,已成为开发 Web 应用程序、移动应用程序、桌面应用程序以及企业级应用程序的首选语言之一。在本文中,我们将探讨 Java 的基础语法,包括变量、数据类型、运算符、控制流等…...

python下如何安装并使用matplotlib(画图模块)

在搜索命令中输入cmd,以管理员身份运行。 输入以下命令,先对pip安装工具进行升级 pip install --upgrade pip 升级完成 之后使用pip安装matplotlib pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple 也可以使用pycharm来安装matp…...

系统分析师---计算机网络思维导图

TCP、IP协议簇(4星) 传输协议:TCP有连接、可靠、有回应机制、三次握手基于TCP的应用层协议:POP3:邮件收取,默认端口110SMTP:邮件发送,默认端口25FTP:文件传输协议&#…...

算法练习(七)数据分类处理

一、数据分类处理 1、题目描述: 信息社会,有海量的数据需要分析处理,比如公安局分析身份证号码、 QQ 用户、手机号码、银行帐号等信息及活动记录。采集输入大数据和分类规则,通过大数据分类处理程序,将大数据分类输出…...

nohup ./startWebLogic.sh >out.log 2>1 解析

在启动weblogic的时候我们经常看到如下的命令: nohup ./startWebLogic.sh >out.log 2>&1 & 从09年开始用weblogic到现在已经过去3年多了 ,今天终于将该命令理解清楚了。 其中 0、1、2分别代表如下含义: 0 – stdin (standa…...

OpenCV 坡度计算(基于DEM,C++版本)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 假设一个点位于曲面 z = f ( x , y ) z=f(x,y) z=...

IDEA上使用git,知道这几步操作就够了!

前言由于一年多没用git(种种原因不堪回首),所以在上班当天,整个人都不好了,从拉取代码到提交代码,整整花费了不少时间,而且有些操作都不知道啥作用,点也不是,不点也不是&…...

Shell的退出状态(if语句判断的是某个命令的退出状态)

以下内容源于C语言中文网的学习与整理,如有侵权,请告知删除。 一、退出状态 (1)不管是 Bash 内置命令,还是外部的 Linux 命令,还是自定义的 Shell 函数,当它运行结束或者退出时,都…...

Scala面向对象

与java的区别和联系 类的定义: class Person{ var name "scala" def sayHello(){ println("Hello,"name) } def getName name } 注意:如果在定义方法的时候指定了(),那么在调用的时候()可写可不写,如果在定…...

LLaMA-META发布单卡就能跑的大模型

2023年2月25日,Meta使用2048张A100 GPU,花费21天训练的Transformer大模型LLaMA开源了。 1.4T tokenstakes approximately 21 days 以下是觉得论文中重要的一些要点 1)相对较小的模型也可以获得不错的性能 研究者发现在给定计算能力限制的情…...

第一篇自我介绍(单片机)

小白的单片机之旅 🤔自我介绍🤔 😊学习目标😊 😜关于单片机😜 🌝目标公司🌝 🍀小结🍀 🎉博客主页:小智_x0___0x_ 🎉欢…...

Tik Tok品牌营销,如何做好内容打法

TikTok 上做好品牌营销,并不能只关注品牌所获得的视频浏览量和点赞量,根据潜在客户需求生成的内容策略同样至关重要。通过建立营销漏斗模型,可以将 TikTok 策略分为三种不同类型的内容,从具有广泛吸引力的内容转变为具有高度针对性…...

2023年5月软考软件设计师备考经验

一、考试目标: 通过本考试的合格人员能根据软件开发项目管理和软件工程的要求,按照系统总体设计规格说明书进行软件设计,编写程序设计规格说明书等相应的文档,组织和指导程序员编写、调试程序,并对软件进行优化和集成…...

SpringBoot 2.x ——使用 mail 实现邮件发送

文章目录前言环境、版本等pom依赖引入springboot项目配置文件获取邮箱授权码配置properties文件定义接口信息接收类编写邮件发送服务类编写接口swagger测试1、简单邮件发送2、html格式发送(支持附件)前言 最近再看xxl-job的源码,其中在邮件告警通知中使用到了告警信…...

项目结束先别着急庆祝,项目经理还有这些事要做

项目管理生命周期结束阶段的目的是确认项目可交付成果的完成,使项目发起人满意,并向所有参与者和利益相关者传达项目的最终处置和状态。 项目结束确保项目的所有参与者和利益相关者都清楚后续活动(如新项目、服务过渡、SLA等)&a…...

没想到的 IIFE

没想到的 IIFE 有时候我们想要立即执行一下所定义的函数,可以怎么做呢? function foo(num) {return num ?? 1; }foo();写完然后调用对吧,这是可以的,但你有没有觉得这其实有点脱裤子放屁了,完全可以直接调用就是了…...

「牛客网C」初学者入门训练BC156

🐶博主主页:ᰔᩚ. 一怀明月ꦿ ❤️‍🔥专栏系列:线性代数,C初学者入门训练 🔥座右铭:“不要等到什么都没有了,才下定决心去做” 🚀🚀🚀大家觉不错…...

【Proteus仿真】【STM32单片机】粮仓温湿度控制系统设计

文章目录一、功能简介二、软件设计三、实验现象联系作者一、功能简介 本项目使用Proteus8仿真STM32单片机控制器,使用声光报警模块、LCD1602显示模块、DHT11温湿度模块、继电器模块、加热加湿除湿风扇等。 主要功能: 系统运行后,LCD1602显示…...

各种类型网站建设/seo优化主要做什么

1. 什么是fastjson? fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。 Fastjson使用场景 Fastjson已经被广泛使用在各种场景,包括cac…...

linux网站建设论文/爱论坛

介绍: 这是一个用vuejs2.0和element搭建的后台管理界面。 相关技术: vuejs2.0:渐进式JavaScript框架,易用、灵活、高效,似乎任何规模的应用都适用。 element:基于vuejs2.0的ui组件库。 vue-router&#xff…...

如何与导航网站做友情链接/国内电商平台有哪些

域名 通常 Internet 主机域名的一般结构为:主机名.三级域名.二级域名.顶级域名(又称为一级域名)。二级域名及其以上级别的域名,统称为子域名,有多少个点就是几级域名顶级域名分为两类:一个是按照国家&#…...

比较好的做简历的网站/百度搜索网

ITlike里面有很多工具:http://www.itlike.com/software/index.html...

成都网站建设四川推来客网络/合肥优化推广公司

jQuery多个版本或和其他js库冲突主要是常用的$符号的问题,这个问题 jquery早早就有给我们预留处理方法了,下面一起来看看解决办法。jquery版本冲突怎么解决?jQuery多个版本冲突的解决方法。1、分别引入不同版本的jquery库;2、使用…...

网站的布局有哪些/建一个网站大概需要多少钱

github文档地址&#xff1a; https://github.com/yimijianfang/vue-drag-verify 转载自&#xff08;http://www.jq22.com/jquery-info22779&#xff09;注意用的时候需要对父元素或html设置 user-select: none 效果1 实现方法 1 新建一个 vue 文件 将以下代码复制进去 <…...