性能测试(测试系列10)

目录

前言:

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.rhkb.cn/news/119221.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

神经网络--感知机

感知机 单层感知机原理 单层感知机:解决二分类问题&#xff0c;激活函数一般使用sign函数,基于误分类点到超平面的距离总和来构造损失函数,由损失函数推导出模型中损失函数对参数 w w w和 b b b的梯度&#xff0c;利用梯度下降法从而进行参数更新。让1代表A类&#xff0c;0代…

关于异或的小疑惑

今天写c&#xff0c;当我写出如下代码时&#xff0c;编译器报错了 #include<bits/stdc.h>using namespace std;int main(){int a1,b3,c2,d6;// cout<<(a^b^c^d)<<endl;cout<<a^b^c^d<<endl;return 0; } D:\sublineText\demo\demo.cpp: In funct…

C++ do...while 循环

不像 for 和 while 循环&#xff0c;它们是在循环头部测试循环条件。do…while 循环是在循环的尾部检查它的条件。 do…while 循环与 while 循环类似&#xff0c;但是 do…while 循环会确保至少执行一次循环。 语法 C 中 do…while 循环的语法&#xff1a; do {statement(s…

煤矿监管电子封条算法

煤矿监管电子封条算法基于yolov5网络模型深度学习框架&#xff0c;先进技术的创新举措&#xff0c;煤矿监管电子封条算法通过在现场运料运人井口、回风井口、车辆出入口等关键位置进行人员进出、人数变化和设备开停等情况的识别和分析。YOLO检测速度非常快。标准版本的YOLO可以…

MongoDB 的简介

MongoDB 趋势 对于 MongoDB 的认识 Q&A QA什么是 MongoDB&#xff1f; 一个以 JSON 为数据模型的文档数据库一个以 JSON 为数据模型的文档数据库文档来自于“JSON Document”&#xff0c;并非我们一般理解的 PDF&#xff0c;WORD谁开发 MongDB&#xff1f; 上市公司 MongoD…

SpringBoot核心原理与实践

第一章、SpringBoot简介 1、入门案例 2、官网创建压缩包程序 注意使用的版本pom文件中java --> 1.8、 springboot --> 2.5.0 3、SpringBoot快速启动 运行程序--找引导类 换技术、加技术--加starter 第二章、基础配置 1、配置文件格式 《1、端口号配置》 《2、将目录文…

DOCKER 部署 webman项目

# 设置基础镜像 FROM php:8.2-fpm# 安装必要的软件包和依赖项 RUN apt-get update && apt-get install -y \nginx \libzip-dev \libpng-dev \libjpeg-dev \libfreetype6-dev \&& rm -rf /var/lib/apt/lists/*# 安装 PHP 扩展 RUN docker-php-ext-configure gd …

leetcode 84. 柱状图中最大的矩形

2023.8.30 本题和接雨水 有点类似&#xff0c;依旧用双指针来解。但是本题要记录的是当前柱子 左右两侧第一个小于该柱子的索引。将其保存在两个数组中&#xff0c;最后再求最大面积。代码如下&#xff1a; class Solution { public:int largestRectangleArea(vector<int&g…

STM32f103入门(10)ADC模数转换器

ADC模数转换器 ADC简介AD单通道初始化代码编写第一步开启时钟第二步 RCCCLK分频 6分频 72M/612M第三步 配置GPIO 配置为AIN状态第四步&#xff0c;选择规则组的输入通道第五步 用结构体 初始化ADC第六步 对ADC进行校准编写获取电压函数初始化代码如下 Main函数编写 ADC简介 ADC…

AcWing 4405. 统计子矩阵(每日一题)

如果你觉得这篇题解对你有用&#xff0c;可以点点关注再走呗~ 题目描述 给定一个 NM 的矩阵 A&#xff0c;请你统计有多少个子矩阵 (最小 11&#xff0c;最大 NM) 满足子矩阵中所有数的和不超过给定的整数 K ? 输入格式 第一行包含三个整数 N,M 和 K。 之后 N 行每行包含 …

软件过程模型

软件过程模型 软件过程模型习惯上称为软件开发模型&#xff0c;它是软件开发全部过程、活动和任务的结构框架。典型的软件过程有瀑布模型、增量模型、演化模型&#xff08;原型模型、螺旋模型&#xff09;、喷泉模型、基于构件的开发模型和形式化方法模型等。 1. 瀑布模型 瀑…

DRM全解析 —— ADD_FB(2)

接前一篇文章&#xff1a;DRM全解析 —— ADD_FB&#xff08;1&#xff09; 本文参考以下博文&#xff1a; DRM驱动&#xff08;四&#xff09;之ADD_FB 特此致谢&#xff01; 上一回围绕libdrm与DRM在Linux内核中的接口&#xff1a; DRM_IOCTL_DEF(DRM_IOCTL_MODE_ADDFB, d…

抽象轻松c语言

目 c语言 c程序 c语言的核心在于语言&#xff0c;语言的作用是进行沟通&#xff0c;人与人之间的信息交换 人与人之间的信息交换是会有信息空白&#xff08;A表达信息&#xff0c;B接受信息&#xff0c;B对信息的处理会与A所以表达的信息具有差距&#xff0c;这段差距称为信…

同步与互斥

硬件指令 实现互斥&#xff1a;硬件指令&#xff0c;硬件实现的原子操作&#xff0c;不会被打断 tsl指令和xchg指令 当前指令执行完&#xff0c;才会检测中断 If the signal comes while an instruction is being executed, it is held until the execution of the instructi…

使用SpaceDesk连接平板作为电脑副屏详细步骤教程

文章目录 下载安装PC端安装安卓端安装 配置步骤PC端安卓端 连接 SpaceDesk官网链接https://www.spacedesk.net/ (应该是需要科学上网才能进入) SpaceDesk它可以连接安卓,苹果的平板,手机等&#xff0c;也可以连接其他可以打开网页&#xff08;HTML5&#xff09;的设备。 这里我…

JDK8安装及系统变量配置(包含错误处理)

jdk安装 一.下载JDK二.安装三.配置系统变量四.可能遇到的问题1.显示已经安装的问题 或者 读取注册表项值失败2.原因3.解决 五.验证安装成功 一.下载JDK JDK下载官网 二.安装 双击之后&#xff0c;一直下一步就ok 三.配置系统变量 1.找到配置系统变量的地方 2.配置系统变…

千纸鹤APP云验证系统源码 APK注入引流弹窗

千纸鹤APP云验证系统是一款全面的验证系统&#xff0c;包括网络验证、APK注入、注册机、引流弹窗、更新弹窗等功能。该系统提供完整的源代码&#xff0c;方便开发者二次开发和定制化需求。 可以对用户进行多种验证&#xff0c;包括账号密码验证、短信验证码验证等。该系统还提供…

设计模式-原则篇-01.开闭原则

简介 ​ 可以把设计模式理解为一套比较成熟并且成体系的建筑图纸&#xff0c;经过多次编码检验目前看来使用效果还不错的软件设计方案。适用的场景也比较广泛&#xff0c;在使用具体的设计模式之前先要学习软件设计的基础 “软件设计原则”&#xff0c;后面的23个设计模式都是…

干翻Dubbo系列第十四篇:Dubbo协议基于SpringBoot规范化开发

文章目录 文章说明 一&#xff1a;版本控制 二&#xff1a;共有依赖声明于父项目 三&#xff1a;创建共有API 1&#xff1a;定义公共接口 2&#xff1a;定义Bean 四&#xff1a;创建Provider 1&#xff1a;引入公共API 2&#xff1a;创建实现类 3&#xff1a;定义启动…

行业追踪,2023-08-30

自动复盘 2023-08-30 凡所有相&#xff0c;皆是虚妄。若见诸相非相&#xff0c;即见如来。 k 线图是最好的老师&#xff0c;每天持续发布板块的rps排名&#xff0c;追踪板块&#xff0c;板块来开仓&#xff0c;板块去清仓&#xff0c;丢弃自以为是的想法&#xff0c;板块去留让…