软件性能测试概述

news2024/11/27 14:39:35

1. 常见的性能问题

        访问12306的时候,由于访问量过高导致该app系统崩了;

2. 性能测试

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

3. 性能测试和功能测试

        功能测试:人工来完成;

        性能测试:借助工具完成;

        功能测试:不管在什么场景下,只要能够运行就ok;

        性能测试:在一些极端的情况下,需要保障软甲能够正常运行和工作;

4.性能好坏的软件表现

        如下图所示:

        DAU:day active user指的是每日活跃的用户;上述软件dau数量很高且软件没有出现问题,可见这些软件的性能还是很不错的;

        软件1.0版本和软件2.0版本是具有一样的功能,但是除此之外1.0登录需要花费1s,软件2登录需要花费2s,说明软件2的性能做了提升,所以软件2的性能是比较好的;

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

5.1 性格能测试的原因分析

        1、获取系统性能的指标,作为性能指标的基准(获取1.0版本的性能数据作为指标,和2.0的数据进行比较)

        2、验证系统的性能指标是否达到要求(性能需求)(软件是否能够承载一定数量的访问量)

        应用程序是否能够满足系统要求的各中性能指标

        应用程序是否能处理预期的用户负载并有盈余能力

        应用程序是否能处理业务所需要的事务数量

        在预期和非预期的用户负载下,应用程序是否稳定

        是否能确保用户在真正使用软件时获得舒服的体验

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

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

        5、帮助系统运维部门能更好的规划硬件配置。(即时升级硬件的设备,确保软件能够正确运行)

5.2 性能测试的流程

        1、分析性能测试需求

        2、根据性能测试的目标,设计性能测试的场景

        3、开发性能测试场景和性能测试脚本

        4、分析性能测试报告

        5、根据性能测试报告排查和定能系统的性能瓶颈

6. 常见的性能指标以及性能测试专用术语

6.1 并发数

        在阅兵的时候,只有一大群的人买着相同的步伐,使用相同的节奏往前走的时候,声音是非常响亮了,这就是所谓的并发,因为这个马路此时承载的压力是十分巨大的;

        类似于软件,在双11的时候,会有大量的用户同时操作淘宝系统,此时该系统的承载压力是十分巨大的;

        并发的条件:大量用户,同时操作;

        并发数:此时的大量用户数就是并发数(也叫并发用户数);

        系统用户数:数据可以中存储的用户数;

        在线用户数:登录成功后的用户数量;

        并发用户数:在系统达到并发的时候,用户的数量即为并发用户数;

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

        1、用户响应时间:用户从发起请求到用户看到=响应中间经历的这段时间:N1+A        +N2+A2+N3+A3+N4+A4;如下所示:

        2、请求响应实践:服务器接收到请求到发出响应的这段时间;A1+N2+A2+N3+A3;

        q:如果一个软件(dd)发布上线了,但是打车的时候,页面响应时间比较长,是因为那些原因会导致这个现象的产生?

        a:用户设备太老旧;网络太慢了;服务处理太慢;软件算法的时间复杂度太高了;数据库性能太差;

        3、事务响应时间

        事务是从请求开始,到事务响应完成花费的时间就是事务响应时间;

6.3 每秒事务通过数(Transaction Per Second)

         TPS 是指每秒系统能够处理的事务数。它是衡量系统处理能力的重要指标。 当压力加大时,TPS曲线如果变化缓慢或者有平坦的趋势,很有可能是服务器开始出现瓶颈了。如果环境没有发生大的变化,对于同一系统会存在一个最大处理事务能力,它并不随着并发用户的增减而改变。

        如果tps越大,代表系统梳理的能力越高越强;

YB地铁检票机:

        只有10台进站检票的机器,1台机器1秒能进1个人 ;

        并发用户数为5,则TPS为5 ;

        并发用户数为10,则TPS为10;

         并发用户数为100,则TPS仍为10

6.4 点击率(Hit Per Second)

        每秒点击数代表用户每秒向Web 服务器提交的HTTP请求数。点击率越大,服务器压力越大。 这里的点击并不是鼠标的一次点击,一次点击可能有多次HTTP请求。

         如下图所示:

6.5 吞吐量和吞吐率

        吞吐量:用户每次请求和服务器之间的数据交互;

        每一个size都是指的是一条双方交互;

        吞吐率:吞吐量/请求梳理时间;如下图:

       思考时间(Think Time):

        指模拟正式用户在实际操作时的停顿间隔时间,从业务的角度来讲,思考时间指的是用户在进行操作 时,每个请求之间的间隔时间。

        资源利用率:

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

7. 性能测试分类

7.1 基准性能测试

        让系统在正常的情况下运行,观察各种性能指标;

        应用场景:性能摸底;

7.2 负载性能测试

        让系统背负一定的压力,观察性能指标是否出现拐点;

7.3 压力测试

        让系统处于饱和状态,观察系统的性能指标;

        压力测试往往会把系统搞崩贵;

7.4 可靠性测试

        验证系统在一段时间内持续运行,观察各项性能指标是否正常;

        让系统在一周内持续运行,看系统是否有异常;

         让系统在一个月内持续运行,看系统是否有异常;

        让系统在一年内持续运行,看系统是否有异常;

ps:本文就到这里了,谢谢观看!!!

                

        

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

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

相关文章

智能制造与精益制造的模型搭建

现行制造模式分析I-痛点改善思路-管控省优四化推行

Github上的Markdown语法详解

今天在看Win32文档参与编写的说明时,看到里面提及 Our documentation is written in Markdown, a lightweight text style syntax. If youre not familiar with Markdown, you can learn the basics on GitHub. When unsure, 刚好,今天就来做个全面的总…

PyCharm 项目解释器切换指南:如何在项目中更换 Python Interpreter

PyCharm 项目解释器切换指南:如何在项目中更换 Python Interpreter 文章目录 PyCharm 项目解释器切换指南:如何在项目中更换 Python Interpreter一 Settings 设置二 Project 选项三 Conda Environment四 更换 Environment 本文详细介绍了在 macOS 系统中…

02复写零

复写零 我们先进行异地复写:代码如下 public class Test {public static void main(String[] args) {int []array {1,0,2,3,0,4};duplicateZeros(array);}public static void duplicateZeros(int[] arr) {int [] elemnew int[arr.length];for(int cur0,dest0;des…

鼠标市场洞察:数据分析揭示消费趋势!

鼠标整体数据分析 一. 概述 本报告基于从淘宝商品搜索接口和淘宝精确月销量接口中提取的数据,分析了前百个品牌在销售额上的占比情况。分析涵盖了销售额和占比的数据,为决策提供了依据。(以上两个接口有需求的可以找我要链接) 1. 大盘整体…

linux 安装gitlab

安装环境 CentOS 7.7 (centos6.10会报错)2g内存防火墙关闭 安装步骤: 1 安装gitlab # yum install -y git curl policycoreutils-python openssh-server # 安装依赖 # wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.2.2-ce…

Lucene 倒排索引

倒排索引是什么? 【定义】倒排索引(Inverted Index)是一种用于信息检索的数据结构,尤其适用于文本搜索。它与传统索引的主要区别在于,传统索引是根据文档来查找词语的位置,而倒排索引则是根据词语来查找文…

【云从】三、计算机网络基础

文章目录 1、网络2、网络通信2.1 IP地址2.2 子网掩码2.3 网关2.4 私有地址和公有地址2.5 NAT网络地址转换 3、网络架构及设备 1、网络 网络,即通过通信线路(如光纤、网线)和通信设备(如路由器、光猫),将各…

切换按钮组动画效果

<!DOCTYPE html> <html lang"zh"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>按钮切换动画</title><style>body {disp…

【隐私计算】隐语HEU同态加密算法解读

HEU: 一个高性能的同态加密算法库&#xff0c;提供了多种 PHE 算法&#xff0c; 包括ZPaillier、FPaillier、IPCL、Damgard Jurik、DGK、OU、EC ElGamal 以及基于FPGA和GPU硬件加速版本的Paillier版本。 本文我们会基于GPU运行HEU Docker容器&#xff0c;编译打包GPaillier并测…

C++常用库函数

大小写转换 islower/isupper函数 用于检查一个字符是否为小写或大小字母&#xff0c;需要包含头文件< cctype >,也可以包含万能头文件< bits/stdc.h >.函数返回值类型为bool类型。 int main() {char ch1 A;char ch2 b;//使用islower函数判断是否为小写字母if …

springboot+react实现移动端相册(上传图片到oss/ 批量删除/ 查看图片详情等功能)

相册页面及功能展示&#xff1a; react前端结构及代码&#xff1a; Java后端结构及代码 数据库结构&#xff1a; photo&#xff1a; user 这是首个利用AI自有知识构建的简易相册系统&#xff0c;项目是react构造前端spring boot构造后端。 前端有四个主要页面&#xff1…

深入理解Transformer的笔记记录(精简版本)NNLM → Word2Vec

文章的整体介绍顺序为: NNLM → Word2Vec → Seq2Seq → Seq2Seq with Attention → Transformer → Elmo → GPT → BERT 自然语言处理相关任务中要将自然语言交给机器学习中的算法来处理,通常需要将语言数学化,因为计算机机器只认数学符号。向量是人把自然界的东西抽象出…

MySQL创建电子订阅表相关指令(创建,删除,查询,说明,添加)

利用以下代码创建一个名字为one的数据库。 查看数据库是否创建完成 。 创建一个在one数据库中的表格&#xff0c;括号里是字段名和数据类型&#xff0c;用逗号隔开&#xff0c;给id设置主键&#xff0c;确保id的唯一性。 INSERT INTO 为添加数据&#xff0c;one.subscribe中o…

第 1 章 MyBatis快速入门

1.1 ORM简介 ORM&#xff08;Object Relational Mapping&#xff0c;对象——关系映射&#xff09;框架的主要功能是根据映射配置文件&#xff0c;完成数据在对象模型与关系模型之间的映射&#xff0c;同时出屏蔽了连接数据库、创建 Statement 对象、执行 SQL、读取 ResultSet…

DSP 如何在调试时便捷查看数组元素

背景描述: 在CCS调试过程中&#xff0c;需要查看一些变量的值&#xff0c;但是数组只能显示第一个元素的值&#xff0c;不能全部展示出来&#xff0c;这样就不便于查看了。 解决方法: 找到变量显示窗口 选中数组右键 设置开始元素和需要展示的个数 这样就可以把数组展开…

Java->Map和Set

目录 一、搜索树 1.概念 2.查找 3.插入 4.删除 二、搜索 1.Map的使用 1.1关于map的说明 1.2map的常用方法 2.Set的使用 2.1关于set的说明 2.2set的常用方法 三、哈希表 1.概念 2. 哈希冲突 3.冲突避免 3.1哈希函数的设计 3.2负载因子调节 4.解决冲突 4.1闭…

3 机器学习之假设空间

归纳(induction)与演绎(deduction)是科学推理的两大基本手段。前者是从特殊到一般的“泛化”(generalization)过程&#xff0c;即从具体的事实归结出一般性规律&#xff1b;后者则是从一般到特殊的“特化”(specialization)过程&#xff0c;即从基础原理推演出具体状况。例如&a…

一款功能强大的颜色选择工具ColorPicker

ColorPicker 是一款轻量级且功能强大的颜色选择工具&#xff0c;专为设计师、开发者以及需要在日常工作中处理颜色的用户设计。该工具允许用户从屏幕上的任意位置快速获取颜色代码&#xff0c;并提供多种格式的颜色值输出&#xff0c;包括RGB、HEX、HSB等。 ColorPicker的界面…

YOLO的相关改进机制

我的面包多平台有多种关于YOLO的改进&#xff0c;大家尽早关注&#xff0c;不迷路