性能测试(测试系列10)

news2024/11/28 18:53:33

目录

前言:

1.什么是性能测试

1.1生活中遇到的软件问题

1.2性能测试的定义

1.3性能测试和功能测试有什么区别

1.4性能的好坏的区分

1.5影响一个软件性能的因素

2.为什么要进行性能测试

3.性能测试常见的术语以及衡量指标

3.1并发

3.2用户数

3.3响应时间

3.3.1用户响应时间

3.3.2请求响应时间

3.3.3影响软件响应时间的因素

3.4事务响应时间

3.5每秒事务通过数量

3.6点击量

3.7点击率

3.8吞吐量

3.9吞吐率

3.10思考时间

3.11资源利用率

4.性能测试分类

4.1基准性能测试定义

4.2负载性能测试

4.3压力性能测试

4.4可靠性测试

5.性能测试执行流程

结束语:


前言:

在上一节中小编主要是基于我们之前写过的一篇博客以及在测试阶段所学习的Junit5对博客系统的前端页面进行了一些基础的自动化测试,帮助我们熟悉了如何使用Junit进行自动化测试。接下来小编将与大家分享一下有关于性能测试一些基础知识。

1.什么是性能测试

1.1生活中遇到的软件问题

在生活中我们也会经常遇到软件的性能问题,比如在双十一的时候,淘宝会由于用户访问的次数和数量太大,从而导致奔溃,还有在春运的时候,12306也会经常出现各种各样的问题,在某个消息突然爆火的时候微博也经常会出现奔溃。这些都是我们经常在生活中遇到的问题。

1.2性能测试的定义

性能测试就是测试人员借助性能测试工具,模拟系统在不同场景下,对应的性能指标是否达到预期。

1.3性能测试和功能测试有什么区别

在测试方式上:

  • 功能测试:依靠人工执行。
  • 性能测试:依靠工具执行。

在场景方面:

  • 功能测试:不管在什么场景下,只要能够正常运行即可。
  • 性能测试:软件子啊一些极端的情况下,是不是可以正常运行。

1.4性能的好坏的区分

究竟什么样的软件属于软件性能好的表现,什么样的软件属于软件性能不好的表现呢?
比如现在有两个软件,软件1的登录时间是3s,而软件2的登录时间是3ms,自然从时间层面上来看当然是软件2了。在比如下面这张图中通过DAU(日活跃用户数)的比对我们可以看到活跃数越大的性能自然也就越好。

1.5影响一个软件性能的因素

影响一个软件的性能因素有哪些呢?主要有以下几点:

  • 硬件:服务器CPU的利用率,内存,磁盘操作频率,CPU核心数。
  • 软件:算法,编程语言。
  • 用户:用户数量,用户使用时长,用户访问频率。

2.为什么要进行性能测试

①获取系统性能指标,作为性能指标的基准。

②验证系统的性能指标是否达到要求(性能需求):

  • 应用程序是否能够满足系统要求的各种性能指标。
  • 应用程序是否能处理预期的用户负载并有盈余能力。
  • 引用程序是否能处理业务所需的事务数量。
  • 在预期和非预期的用户负载下,应用程序是否稳定。
  • 是否能确保用户在真正使用软件时获取得舒服的体验。

③发现系统的性能瓶颈,内存泄漏等问题。

④系统正常工作的情况下的最大容量。

⑤帮助系统运维部门能更好的规划硬件配置。 

3.性能测试常见的术语以及衡量指标

下面我们来谈一下性能测试中常见的术语,以及性能测试衡量指标。

3.1并发

比如下面的一个场景中:一个用户使用CSND,100万个用户每隔10s访问CSDN和100万个用户同时访问CSDN。此时以上的场景中显然最后一个是并发的情况。

并发也是分场景的:

  • 业务层面的并发用户数:指的是同时向服务器发送请求的用户数量。
  • 后端服务器层面的并发用户数:指的是同时向服务器发送请求的请求数量。

3.2用户数

①系统用户数:系统注册的用户。

②在线用户数:成功登录系统用户数。

③并发用户数:大量的用户访问系统,此时访问的用户数,就是并发用户数量。

这里并发量的大小顺序是① < ② < ③

3.3响应时间

在响应时间里面有分为用户响应时间,请求响应时间。接下来我们分别来看一下。

3.3.1用户响应时间

如上图所示用户的响应时间应该就是:N1 + A1 + N2 + A2 + N3 + A3 + N4

3.3.2请求响应时间

如上图所示请求响应的时间应该就是:A1 + N2 + A2 + N3 + A3

3.3.3影响软件响应时间的因素

响应一个软件响应时间的因素有以下几点:

  • 数据库性能。
  • 网络带宽。
  • 服务器处理性能。
  • 软件算法,逻辑。
  • 用户的设备。

3.4事务响应时间

比如当你点开一个浏览器页面搜索东西的时候,从你点击搜索到页面返回一个响应的时间就是事务的响应时间。

3.5每秒事务通过数量

每秒事务通过的数量=处理的事务数量 / 事务花费的时间。

每秒事务通过的数量越多自然而然说明软件性能越好。

3.6点击量

点击量就是指用户点击的数量。

3.7点击率

点击率 = 点击量 / 时间。

3.8吞吐量

吞吐量就是指用户一次请求和服务器之间的数据交互量。

3.9吞吐率

通途率 = 吞吐量 / 时间

吞吐率越高说明性能越高,反之则越低。

3.10思考时间

思考时间是指用户在对软件进行操作的时候,每一个操作中间间隔时间。

3.11资源利用率

资源利用率是指不同系统资源的使用情况。包含CPU,内存,硬盘,网络。

4.性能测试分类

4.1基准性能测试定义

基准性能就是让系统在正常情况下,观察软件性能指标。它的使用场景是在软件刚上线的时候进行摸底性能测试。

4.2负载性能测试

负载性能测试是验证软件在一定的压力情况下运行,观察性能指标是否出现了拐点。

4.3压力性能测试

压力性能测试是指系统处于饱和情况下,来观察系统性能指标。

4.4可靠性测试

可靠性测试是验证系统在一个持续的时间段内运行,在这个运行时间段,观察系统各项性能指标是否正常。比如持续一天->持续运行一周->持续运行一个月->持续运行一个季度->持续运行一年。

5.性能测试执行流程

功能测试的执行流程:需求分析->测试计划->测试设计->测试执行->测试评估(测试报告)->上线。

性能测试的执行流程:需求分析->测试计划->选择一款性能测试工具->性能测试脚本编写->执行性能测试脚本->产出一个性能测试报告。

在性能测试中出现了不符合预期的情况,我们不把他叫做bug而是叫做性能瓶颈。在性能测试中,如果出现了性能瓶颈,开发修复的过程,叫做优化

结束语:

好了这节小编就给大分享到这里啦,希望这节对大家有关于性能测试有一个大概的了解,想要学习的同学记得关注小编和小编一起学习吧!如果文章中有任何错误也欢迎各位大佬及时为小编指点迷津(在此小编先谢过各位大佬啦!)

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

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

相关文章

Jmeter如何设置中文版

第一步&#xff1a;找到 apache-jmeter-5.4.3\bin目录下的 jmeter.properties 第二步:打开 三&#xff0c;ctrf 输入languageen&#xff0c;注释掉&#xff0c;增加以行修改如下 四&#xff0c;ctrs 保存修改内容&#xff0c;重新打开jmeter就可以了

golang-bufio 缓冲写

1. 缓冲写 在阅读这篇博客之前&#xff0c;请先阅读上一篇&#xff1a;golang-bufio 缓冲读 // buffered output// Writer implements buffering for an io.Writer object. // If an error occurs writing to a Writer, no more data will be // accepted and all subsequent…

5.0: Dubbo服务导出源码解析

#Dubbo# 文章内容 Dubbo服务导出基本原理分析Dubbo服务注册流程源码分析Dubbo服务暴露流程源码分析服务导出的入口方法为ServiceBean.export(),此方法会调用ServiceConfig.export()方法,进行真正的服务导出。 1. 服务导出大概原理 服务导出的入口方法为ServiceBean.export…

stm32之28.ADC

须看原理图&#xff08;引脚、电压值、ADC几号通道&#xff09;配置 。 若对比值0~4096 模拟电压/参考电压4096/x 假设模拟电压2.1V&#xff0c;参考电压3.3v&#xff0c;4096/x3.3/2.1 ->3.3x2.1x4096 ->x2,606.5 也可反推出模拟电压 ADC转换时间 ADC时钟来源于…

leetcode645. 错误的集合(java)

错误的集合 题目描述优化空间代码演示 题目描述 难度 - 简单 LC645 - 错误的集合 集合 s 包含从 1 到 n 的整数。不幸的是&#xff0c;因为数据错误&#xff0c;导致集合里面某一个数字复制了成了集合里面的另外一个数字的值&#xff0c;导致集合 丢失了一个数字 并且 有一个数…

时序预测 | MATLAB实现CNN-GRU卷积门控循环单元时间序列预测(风电功率预测)

时序预测 | MATLAB实现CNN-GRU卷积门控循环单元时间序列预测&#xff08;风电功率预测&#xff09; 目录 时序预测 | MATLAB实现CNN-GRU卷积门控循环单元时间序列预测&#xff08;风电功率预测&#xff09;预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.时序预测 | MA…

Python中的绝对和相对导入

在本文中&#xff0c;我们将看到Python中的绝对和相对导入。 Python中导入的工作 Python中的import类似于C/C中的#include header_file。Python模块可以通过使用import导入文件/函数来访问其他模块的代码。import语句是调用import机制的最常见方式&#xff0c;但它不是唯一的…

常见数学名词的物理意义(更新中)

BetterExplained – Math lessons that click 一、复数 i 的物理意义就是旋转&#xff0c;i 就是逆时针旋转90&#xff0c;i*i 就是逆时针旋转180 加法&#xff1a;实部相加&#xff0c;虚部相加 乘法&#xff1a; 复数zxyi控制了函数的放缩和旋转 ——x 放缩&#xff0c;…

Shell开发实践:服务器的磁盘、CPU、内存的占用监控

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;CSDN领军人物&#xff0c;全栈领域优质创作者✌&#xff0c;CSDN博客专家&#xff0c;阿里云社区专家博主&#xff0c;2023年6月CSDN上海赛道top4。 &#x1f3c6;数年电商行业从业经验&#xff0c;历任核心研发工程师…

基于vue-cli创建后台管理系统前端页面——element-ui,axios,跨域配置,布局初步,导航栏

目录 引出安装npm install安装element-ui安装axios 进行配置main.js中引入添加jwt前端跨域配置 进行初始布局HomeView.vueApp.vue 新增页面和引入home页面导航栏总结 引出 1.vue-cli创建前端工程&#xff0c;安装element-ui&#xff0c;axios和配置&#xff1b; 2.前端跨域的配…

SQL查询本年每月的数据

--一、以一行数据的形式&#xff0c;显示本年的12月的数据&#xff0c;本示例以2017年为例&#xff0c;根据统计日期字段判断&#xff0c;计算总和&#xff0c;查询语句如下&#xff1a;selectsum(case when datepart(month,统计日期)1 then 支付金额 else 0 end) as 1月, sum…

UE4 春节鞭炮

先搞个基类&#xff0c;一个鞭炮的 搞个鞭炮类&#xff0c;存多个鞭炮 在构造函数的位置先生成对应的鞭炮数 将鞭炮绑定到绳子上&#xff0c;随绳子摆动而一起摆动 在基类里面写爆炸事件 最后用Timer去调用

一篇文章搞懂Redis缓存

目录 一、什么是缓存缓存的优缺点缓存的优点缓存的缺点 二、Redis缓存三、缓存的更新策略主动更新策略 四、缓存穿透解决方案 五、缓存雪崩解决方案 六、缓存击穿解决方案 一、什么是缓存 我们都知道在计算机中内存的速度比磁盘要快非常多&#xff0c;如果每次都要去磁盘获取数…

《Python魔法大冒险》004第一个魔法程序

在图书馆的一个安静的角落,魔法师和小鱼坐在一张巨大的桌子前。桌子上摆放着那台神秘的笔记本电脑。 魔法师: 小鱼,你已经学会了如何安装魔法解释器和代码编辑器。是时候开始编写你的第一个Python魔法程序了! 小鱼:(兴奋地两眼放光)我准备好了! 魔法师: 不用担心,…

Lesson6---案例:人脸案例

学习目标 了解opencv进行人脸检测的流程了解Haar特征分类器的内容 1 基础 我们使用机器学习的方法完成人脸检测&#xff0c;首先需要大量的正样本图像&#xff08;面部图像&#xff09;和负样本图像&#xff08;不含面部的图像&#xff09;来训练分类器。我们需要从其中提取特…

解决Debian系统通过cifs挂载smb后,中文目录乱码问题

解决Debian系统通过cifs挂载smb后&#xff0c;中文目录乱码问题 //$smb_server/share /mnt/nas_share cifs credentials/root/.smbcredentials,iocharsetutf8 0 0默认通过以上命令挂载smb&#xff0c;但是在查看文件目录时&#xff0c;中文乱码 解决问题方式&#xff1a; de…

BLDC无感方波控制

BLDC无感控制 反电动势过零检测反电动势检测方法比较器模式采样过零信号闭环的建立 BLDC 方波启动技术转子预定位电机的外同步加速电机运行状态的转换 程序部分 反电动势过零检测 它的主要核心就是通过检测定子绕组的反电动势过零点来判断转子当前的位置。 三相六状态 120通电…

JavaScript -【第二周】

文章来源于网上收集和自己原创&#xff0c;若侵害到您的权利&#xff0c;请您及时联系并删除~~~ 理解什么是流程控制&#xff0c;知道条件控制的种类并掌握其对应的语法规则&#xff0c;具备利用循环编写简易ATM取款机程序能力 运算符语句综合案例 1. 运算符 算术运算符赋值运…

【python爬虫】批量识别pdf中的英文,自动翻译成中文上

不管是上学还是上班,有时不可避免需要看英文文章,特别是在写毕业论文的时候。比较头疼的是把专业性很强的英文pdf文章翻译成中文。我记得我上学的时候,是一段一段复制,或者碰到不认识的单词就百度翻译一下,非常耗费时间。本文提供批量识别pdf中英文的方法,后续文章实现自…

简明易懂:Python中的分支与循环

文章目录 前言分支结构if 语句&#xff1a;单一条件判断else语句&#xff1a;提供备选方案elif 语句&#xff1a;多条件判断嵌套的分支结构&#xff1a;复杂条件逻辑 循环结构for循环&#xff1a;遍历序列range()函数与for循环while循环&#xff1a;条件重复循环控制&#xff1…