测试|性能测试相关理论

news2024/9/24 13:21:39

测试|性能测试相关理论(了解)

文章目录

  • 测试|性能测试相关理论(了解)
    • 1.什么是性能测试
      • 生活中遇到的软件性能问题:
      • 性能测试定义:
      • 性能测试和功能测试有什么区别:
      • 性能好坏的评价指标
      • 影响一个软件性能因素有哪些
    • 2.为什么要做性能测试(了解)
    • 3.性能测试的常见术语及性能测试衡量指标☆☆☆☆☆
      • 并发用户数
      • 响应时间/平均响应时间(RT /ART)
      • 事务响应时间&每秒事务通过数
      • 点击率&吞吐量&资源利用率
      • 思考时间
    • 4.性能测试分类☆☆☆(会区分即可)
      • 1.基准性能测试
      • 2.负载性能测试
      • 3.压力性能测试
      • 4.可靠性测试
    • 5.性能测试执行流程
    • 6.如何确定性能测试的需求(了解)

1.什么是性能测试

生活中遇到的软件性能问题:

软件崩了eg.淘宝崩了,抖音崩了【服务器崩了】

性能测试定义:

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

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

对于一个产品,我们一般考虑它的功能,界面,易用,兼容,性能,安全,网络,中断几个维度,其中功能和界面相关我们一般使用手工测试,也可以使用自动化测试,而性能测试一般是使用工具完成。

自动化测试(UI自动化测试,接口自动化,单元自动化)一般都是指功能的自动化测试。

  • 功能测试依靠人工执行,而性能测试依靠工具完成
  • 功能测试不管在什么场景下,只要能够正常运行即可,而性能测试需要软件在一些极端的情况下也能够正常运行

性能好坏的评价指标

  • 系统/事务的平均响应时间
  • 事务处理效率TPS(transaction per second)
  • 吞吐率
  • 每秒点击次数
  • 服务器资源占用情况,内存和CPU使用率
  • 软硬件配置是否合适

DAU:day active user,日活跃用户数

12306(并发量太大):减少并发数,软件算法优化,服务器升级

影响一个软件性能因素有哪些

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

2.为什么要做性能测试(了解)

  1. 系统正常工作的情况下最大容量
  2. 发现系统的性能瓶颈,内存泄漏等问题
  3. 帮助运维部门能更好的规划硬件配置
  4. 验证系统性能指标是否达到要求
    • 应用程序是否能满足系统要求的各种性能指标
    • 应用程序是否能处理预期的用户负载并有盈余能力
    • 应用程序是否能处理业务所需要的事务数量
    • 在预期和非预期用户负载下,应用程序是否稳定
    • 是否能确保用户在真正使用软件时获得舒服的体验

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

性能测试工作实质上是利用工具去模拟大量用户操作来验证系统能够承受的负载情况,找出潜在的性能问题分析并解决;找出系统性能变化趋势,为后续的扩展做准备 。

并发用户数

并发用户数&在线用户数&系统用户数区别:

系统用户数:即系统注册用户数。可以是活跃用户也可以是僵尸用户数

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

并发用户数:大量用户访问系统,区分业务层面和后端服务器层间

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

一般来说,一个业务的完成可能会向服务器发送好几个请求

并发用户数即大量用户同时访问系统。并发用户对系统造成压力。

响应时间/平均响应时间(RT /ART)

rt:response time art:average response time

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wY0yO1eT-1690898710795)(https://ts1.cn.mm.bing.net/th/id/R-C.f672e6c2dc6a827823fe5c9d2f011b65?rik=YYsSU9746pSCNw&riu=http%3a%2f%2fimg2.sycdn.imooc.com%2f5aceffc10001f67206490188.jpg&ehk=rc7NwnfFdvDa6o9rBmK8gYeD6MlVx0%2bdZV9dnop1gi8%3d&risl=&pid=ImgRaw&r=0)]

1.用户响应时间(前端性能评估)

N1+A1+N2+A2+A3+N3+N4

即应用系统从发起请求开始,到客户端接收完所有字节数据,并渲染前端页面所耗费的时间

2.请求响应时间(服务器端性能评估)

A1+N2+A2+A3+N3

即web服务器,应用服务器,数据库服务器等各种服务器之间通信和处理请求的时间。

3.影响软件响应时间因素

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

事务响应时间&每秒事务通过数

358定律:

每秒事务通过数:每秒系统能够处理的事务数

点击率&吞吐量&资源利用率

点击率:Hit Per Second ,用户每秒向web服务器提交的HTTP请求数点击率越大,服务器压力越大。(不是点击量)

注:这里的点击不是鼠标的一次点击,一次点击可能有多次HTTP请求。

吞吐量:Throughput ,用户一次请求和服务器之间的数据交互量(network size)

资源利用率:cpu、内存、硬盘、网络等不同系统资源的使用情况。

思考时间

思考时间:用户在进行操作时,每个请求之间的间隔时间

4.性能测试分类☆☆☆(会区分即可)

以下为常见性能测试

1.基准性能测试

即让系统在正常情况下运行观察软件性能指标

应用场景:软件刚上线时进行性能摸底

2.负载性能测试

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

3.压力性能测试

即系统处于饱和情况下,观察系统性能指标。

往往会把系统搞崩溃。

4.可靠性测试

验证系统在一个持续时间段内运行,观察系统各项性能指标是否正常。(4个9,5个9)

(通常会使用工具)在一定压力下。

持续1天—>持续运行1周—>持续运行1个月—>一个季度—>1年

若崩溃了,会不会影响后边的业务。

5.性能测试执行流程

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

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

性能测试中出现了不符合预期的情况,不叫它bug,叫性能瓶颈

性能测试中,出现性能瓶颈,开发修复的过程,叫优化
性能测试是在功能测试完全通过的前提下进行的。

6.如何确定性能测试的需求(了解)

1.关键性能指标分析

需要明确而量化的性能指标,只有这样才具备可测试性,可验证性。

一组清晰定义的预期性能指标量,是性能测试的基本要素。

如果是一个全新的应用系统,无法确定具体的性能指标怎么办?
(1)可以通过“基时准测试”,获取性能指标数据 (2)从业务,用户体验,竞品的的性能指标信息来定义性能指标的数据 。

2.关键业务分析

如果在某一些业务功能上不出现性能问题,那么系统就不会出现性能问题,而
这些业务功能就是系统性能测试的关键业务所在。 根据帕雷托法则(pareto Principle),系统中各个功能的使用频率是不相同的,有20%的功能是常用的
功能,用户80%以上的时间都在使用这些功能,这些功能就是性能测试当中我们测试人员需要关注的。

所以,要确定性能测试的关键业务要从业务功能的使用频率,功能的计算量和资源的消耗程度来决定,确定好关键业务之后,我们在进行性能测试的时候只要对关键的业务进行测试用例的设计系统的性能测试脚本就会基于这些关键的业务进行开发 。

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

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

相关文章

Stable Diffusion AI绘画学习指南【插件安装设置】

插件安装的方式 可用列表方式安装,点开Extensions 选项卡,找到如下图,找到Available选项卡,点load from加载可用插件,在可用插件列表中找到要装的插件按install 按扭按装,安装完后(Apply and restart UI)应…

第5章 最佳实践

过去的错误 不要怪罪JavaScript 游览器遇到不合法的html会想尽办法将他展现出来游览器遇到不合法的js将拒绝执行它们并报错写js要保障自己代码的健壮性 质疑一切 写js功能前一定要考虑这个功能的合理性,避免造成不可预见的后果写js功能前一定要考虑用户的游览器…

2023牛客暑期多校训练营5-B Circle of Mistery

2023牛客暑期多校训练营5-B Circle of Mistery https://ac.nowcoder.com/acm/contest/57359/B 文章目录 2023牛客暑期多校训练营5-B Circle of Mistery题意解题思路代码 题意 解题思路 感性地想一下,若已有一个环,则再出现其他环就显得多余&#xff0…

spring中怎么通过静态工厂和动态工厂获取对象以及怎么通过 FactoryBean 获取对象

😀前言 本章是spring基于XML 配置bean系类中第4篇讲解spring中怎么通过静态工厂和动态工厂获取对象以及怎么通过 FactoryBean 获取对象 🏠个人主页:尘觉主页 🧑个人简介:大家好,我是尘觉,希望…

【IMX6ULL驱动开发学习】21.Linux驱动之PWM子系统(以SG90舵机为例)

1.设备树部分 首先在 imx6ull.dtsi 文件中已经帮我们定义好了一些pwm的设备树节点&#xff0c;这里以pwm2为例 pwm2: pwm02084000 {compatible "fsl,imx6ul-pwm", "fsl,imx27-pwm";reg <0x02084000 0x4000>;interrupts <GIC_SPI 84 IRQ_TYP…

2023年第四届“华数杯”数学建模思路 - 案例:FPTree-频繁模式树算法

## 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 算法介绍 FP-Tree算法全称是FrequentPattern Tree算法&#xff0c;就是频繁模式树算法&#xff0c;他与Apriori算法一样也是用来挖掘频繁项集的&#xff0c…

Databend 开源周报第 104 期

Databend 是一款现代云数仓。专为弹性和高效设计&#xff0c;为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务&#xff1a;https://app.databend.cn 。 Whats On In Databend 探索 Databend 本周新进展&#xff0c;遇到更贴近你心意的 Databend 。 从 Kafka 载入数…

内存“银行”

项目介绍 本项目实现的是一个内存银行&#xff0c;它的原型是Google的一个开源项目tcmalloc&#xff0c;tcmalloc全称Thread-Caching Malloc&#xff0c;即线程缓存的malloc&#xff0c;实现了高效的多线程内存管理&#xff0c;用于替换系统的内存分配相关函数malloc和free。 有…

Linux第四章之权限理解

一、Linux用户的概念 Linux下有两种用户&#xff1a;超级用户&#xff08;root&#xff09;、普通用户。 超级用户&#xff1a;可以再linux系统下做任何事情&#xff0c;不受限制普通用户&#xff1a;在linux下做有限的事情。 超级用户的命令提示符是“#”&#xff0c;普通用户…

2023年第四届“华数杯”数学建模思路 - 案例:最短时间生产计划安排

文章目录 0 赛题思路1 模型描述2 实例2.1 问题描述2.2 数学模型2.2.1 模型流程2.2.2 符号约定2.2.3 求解模型 2.3 相关代码2.4 模型求解结果 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; 最短时间生产计划模型 该模型出现在好几个竞赛赛题上&#x…

【React】搭建React项目

最近自己在尝试搭建react项目&#xff0c;其实react项目搭建没有想象中的那么复杂&#xff0c;我们只需要使用一个命令把React架子搭建好&#xff0c;其他的依赖可以根据具体的需求去安装&#xff0c;比如AntDesignMobile的UI框架&#xff0c;执行npm install antd-mobile --sa…

什么是注意力机制?注意力机制的计算规则

我们观察事物时&#xff0c;之所以能够快速判断一种事物(当然允许判断是错误的)&#xff0c;是因为我们大脑能够很快把注意力放在事物最具有辨识度的部分从而作出判断&#xff0c;而并非是从头到尾的观察一遍事物后&#xff0c;才能有判断结果&#xff0c;正是基于这样的理论&a…

Stable Diffusion VAE:改善图像质量的原理、选型与使用指南

VAE Stable Diffusion&#xff08;稳定扩散&#xff09;是一种用于生成模型的算法&#xff0c;结合了变分自编码器&#xff08;Variational Autoencoder&#xff0c;VAE&#xff09;和扩散生成网络&#xff08;Diffusion Generative Network&#xff09;的思想。它通过对变分自…

【贪心+01背包】Tower

这是个很经典的问题 Tower - 洛谷 题意&#xff1a; 思路&#xff1a; 首先可以确定是个背包而且肯定要排序&#xff0c;但是根据什么排序不确定 因为交换相邻两个箱子只有对自身产生影响&#xff0c;所以可以贪心地考虑这两个箱子如何摆最优&#xff0c;而又因为本身上面的…

无人机编队路径规划算法的Matlab实现

室内多智能体协同控制是指在密闭空间内的各个无人机及无人车在运动时能够相互之间保持一定的相对距离&#xff0c;并在速度及位置上按照预设路线或命令进行运动的过程。本平台的多智能体协同定位采用光学运动捕捉技术&#xff0c;并通过WiFi网络实现多机、多车间的通信&#xf…

13-1_Qt 5.9 C++开发指南_多线程及QThread 创建多线程程序_ThreadSignal

一个应用程序一般只有一个线程&#xff0c;一个线程内的操作是顺序执行的&#xff0c;如果有某个比较消耗时间的计算或操作&#xff0c;比如网络通信中的文件传输&#xff0c;在一个线程内操作时&#xff0c;用户界面就可能会冻结而不能及时响应。这种情况下&#xff0c;可以创…

2023年第四届“华数杯”数学建模思路 - 案例:感知机原理剖析及实现

# 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 一、感知机的直观理解 感知机应该属于机器学习算法中最简单的一种算法&#xff0c;其原理可以看下图&#xff1a; 比如说我们有一个坐标轴&#xff08;图中的…

火车头伪原创插件怎么用【php源码】

这篇文章主要介绍了儿童学python编程哪个学校好&#xff0c;具有一定借鉴价值&#xff0c;需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获&#xff0c;下面让小编带着大家一起了解一下。 1、python几岁学比较好 python建议8岁到10岁以上的孩子学习&#xff0c;详细介…

聊天系统登录后端实现

定义返回的数据格式 # Restful API from flask import jsonifyclass HttpCode(object):# 响应正常ok 200# 没有登陆错误unloginerror 401# 没有权限错误permissionerror 403# 客户端参数错误paramserror 400# 服务器错误servererror 500def _restful_result(code, messa…

线性代数基础一 行列式

前言 行列式在线性代数中具有非常重要的地位,很多线性代数的问题都可以转化为计算行列式来解决。 集合 集合的表示方法&#xff1a;常用的有列举法和描述法。 列举法&#xff1a;常用于表示有限集合&#xff0c;把集合中的所有元素一一列举出来&#xff0c;写在大括号内&am…