性能测试(测试系列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而是叫做性能瓶颈。在性能测试中,如果出现了性能瓶颈,开发修复的过程,叫做优化

结束语:

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vulnhub: Ragnar Lothbrok: 1靶机

kali&#xff1a;192.168.111.111 靶机&#xff1a;192.168.111.226 信息收集 端口扫描 nmap -A -sC -v -sV -T5 -p- --scripthttp-enum 192.168.111.226 作者提示修改hosts文件 目录爆破 gobuster dir -u http://armbjorn -w /usr/share/wordlists/dirbuster/directory-l…

HFSS 3维曲线导入

HFSS 3维曲线导入 简介环境参考代码使用结果 简介 如图一所示&#xff0c;CST中可以通过导入和到出由任意点组成的曲线&#xff0c;但是HFSS中貌似不能导入&#xff08;如图二所示&#xff09;&#xff0c;如果我们要将matlab的产生的曲线的点的数据导入特变麻烦&#xff0c;特…

英码深元“三位一体”AI场景化解决方案,助力多地化工园区快速实现智慧化转型!

我国是世界公认的化工大国&#xff0c;同时也是崛起中的化工强国。近年来多起重大爆炸事故暴露出我国化工园区安全问题突出&#xff0c;特别是在安全风险管控数字化转型、智能化升级方面存在明显短板和不足&#xff0c;尤其突出的痛点&#xff1a;化工园区的日常管理方式较为粗…

【DRONECAN】(三)WSL2 及 ubuntu20.04 CAN 驱动安装

【DRONECAN】&#xff08;三&#xff09;WSL2 及 ubuntu20.04 CAN 驱动安装 前言 这一篇文章主要介绍一下 WSL2 及 ubuntu20.04 CAN 驱动的安装&#xff0c;首先说一下介绍本文的目的。 大家肯定都接触过 ubuntu 系统&#xff0c;但是我们常用的操作系统都是 Windows&#x…

python unitest自动化框架

以下举一个最简单的unitest实例&#xff0c;包含备注&#xff0c;自己拉取代码运行一次就知道原理了 import unittest import osclass TestSample(unittest.TestCase):classmethoddef setUpClass(cls) -> None:print(整个测试类只执行一次)def setUp(self) -> None:prin…

睿趣科技:抖音开网店卖玩具怎么样

近年来&#xff0c;随着社交媒体平台的飞速发展&#xff0c;抖音作为一款短视频分享应用也迅速崭露头角。而在这个充满创业机遇的时代背景下&#xff0c;许多人开始探索在抖音平台上开设网店&#xff0c;尤其是卖玩具类商品&#xff0c;那么抖音开网店卖玩具究竟怎么样呢? 首先…

QT的介绍和优点,以及使用QT初步完成一个登录界面

QT介绍 QT主要用于图形化界面的开发&#xff0c;QT是基于C编写的一套界面相关的类库&#xff0c;进程线程库&#xff0c;网络编程的库&#xff0c;数据库操作的库&#xff0c;文件操作的库…QT是一个跨平台的GUI图形化界面开发工具 QT的优点 跨平台&#xff0c;具有较为完备…

leetcode做题笔记107. 二叉树的层序遍历 II

给你二叉树的根节点 root &#xff0c;返回其节点值 自底向上的层序遍历 。 &#xff08;即按从叶子节点所在层到根节点所在的层&#xff0c;逐层从左向右遍历&#xff09; 思路一&#xff1a;递归调换顺序 int** levelOrderBottom(struct TreeNode* root, int* returnSize, i…

技术干货 —— 手把手教你通过缓存提升 API 性能

许多开发者都希望能够彻底搞清楚 API 的工作方式&#xff0c;以及如何利用缓存 API 请求来提升业务&#xff0c;但是当这个需求进入实现阶段时&#xff0c;许多人就会发现手头并没有合适的工具和恰当的方法&#xff0c;所以我们今天就为大家做一个全面的讲解&#xff1a; ① 几…

数据结构(Java实现)-字符串常量池与通配符

字符串常量池 在Java程序中&#xff0c;类似于&#xff1a;1&#xff0c; 2&#xff0c; 3&#xff0c;3.14&#xff0c;“hello”等字面类型的常量经常频繁使用&#xff0c;为了使程序的运行速度更快、更节省内存&#xff0c;Java为8种基本数据类型和String类都提供了常量池。…

【数据结构】栈---C语言版(详解!!!)

文章目录 &#x1f438;一、栈的概念及结构&#x1f344;1、栈的概念定义&#x1f344;2、动图演示&#x1f332;入栈&#x1f332;出栈&#x1f332;整体过程 &#x1f438;二、栈的实现&#x1f438;三、数组结构栈详解&#x1f34e;创建栈的结构⭕接口1&#xff1a;定义结构…

R语言中缺失值的处理

目录 一.寻找缺失值 1.complete.cases() 2.manyNAs 二.缺失值的处理 1.直接删除 2.填补缺失值 一.寻找缺失值 1.complete.cases() #会展现缺失值 algae[!complete.cases(algae),] 2.manyNAs > manyNAs(algae) [1] 62 199 #表示第62条和第199条都有很多缺失值>m…

Systrace分析App性能学习笔记

学习Gracker Systrace系列文章&#xff0c;总结使用Systrace分析App性能的方法。推荐想通过Systrace学习Framework的同学&#xff0c;去看原文。 文章目录 概述Systrace使用流程Systrace 文件生成图形方式(不推荐)命令行方式 Systrace分析快捷键使用帧状态线程状态查看线程唤醒…

Dubbo 应用切换 ZooKeeper 注册中心实例,流量无损迁移

首先思考一个问题&#xff1a;如果 Dubbo 应用使用 ZooKeeper 作为注册中心&#xff0c;现在需要切换到新的 ZooKeeper 实例&#xff0c;如何做到流量无损&#xff1f; 本文提供解决这个问题的一种方案。 场景 有两个基于 Dubbo 的微服务应用&#xff0c;一个是服务提供者&…

RT-Thread 内核移植

内核移植 内核移植就是将RTT内核在不同的芯片架构、不同的板卡上运行起来&#xff0c;能够具备线程管理和调度&#xff0c;内存管理&#xff0c;线程间同步等功能。 移植可分为CPU架构移植和BSP&#xff08;Board support package&#xff0c;板级支持包&#xff09;移植两部…

四轴飞行器的电池研究(MatlabSimulink仿真)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

《TCP/IP网络编程》阅读笔记--基于Windows实现Hello Word服务器端和客户端

目录 1--Hello Word服务器端 2--客户端 3--编译运行 3-1--编译服务器端 3-2--编译客户端 3-3--运行 1--Hello Word服务器端 // gcc hello_server_win.c -o hello_server_win -lwsock32 // hello_server_win 9190 #include <stdio.h> #include <stdlib.h> #i…

一般不用buildroot来编译uboot和kernel

Buildroot 是一个流行的嵌入式 Linux 系统构建工具&#xff0c;它可以帮助开发者自动化地构建完整的嵌入式 Linux 系统&#xff0c;包括文件系统、内核以及各种用户空间应用程序。虽然 Buildroot 在构建嵌入式系统方面非常强大且易于使用&#xff0c;但一般情况下&#xff0c;它…

蓝牙发展现状

目录 一、产品分类1、Bluetooth经典2、Bluetooth低能耗(LE)3、二者差异 二、出货量三、未来需要加强的方向四、技术行业细分五、学习资料1、蓝牙官网2、大神博客——于忠军 一、产品分类 1、Bluetooth经典 Bluetooth Classic无线电&#xff0c;也被称为Bluetooth 基本速率/增强…

windows11 利用vmware17 安装ky10-server-x86操作系统

下载相关软件和镜像 vmware17 下载 下载页面 Download VMware Workstation Pro ky10server-x86镜像下载 官网 国产操作系统、银河麒麟、中标麒麟、开放麒麟、星光麒麟——麒麟软件官方网站 (kylinos.cn) 选择对应版本去下载 安装 选择镜像&#xff0c;点击下一步 磁盘设置要…