热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

全栈最全性能测试理论总结

什么是性能测试定义:是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试,性能测试中发现的问题不叫缺陷或Bug,叫性能瓶颈,不叫

什么是性能测试

定义:是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试,性能测试中发现的问题不叫缺陷或Bug,叫性能瓶颈,不叫修复,叫优化

1. 主要包含三层含义:

  • 性能测试需要借助工具来实现

  • 性能测试除了关注普通的正常情况外,还重点关注空间和时间上的很多峰值或异常的系统运行情况

  • 性能测试借助所监控和收集的各项指标来分析系统的性能

2. 黑盒测试的角度

  • 数据请求经过网络发送

  • 服务器前端接收处理

  • 在数据库服务器获取相关数据

  • 前端处理后返回数据

  • 应用界面接收到数据响应

3. 程序员角度

  • 结构合理性

  • 数据库设计合理性

  • 代码与算法

  • 系统中资源的使用方式

4. 系统运维角度

  • 硬件资源利用率

  • 何种硬件可以提高系统性能

  • 系统能否支持7*24的服务

  • 扩展性、兼容性、最大容量、可能的瓶颈

5. 专业角度分析性能测试

  • 服务器硬件性能

  • 根据需求和历史数据制定性能目标

  • 建立性能通过模型

  • 对开发代码框架和硬件框架进行性能分析

  • 针对开发发布版本的基准测试

  • 对软件进行性能验收和稳定性测试

  • 生产环境的配置和优化

  • 制定性能测试测试用例

  • 制定性能测试场景设计

  • 特定性能分析

性能的影响因素

性能测试分类

  • 一般性能测试:验证软件在正常情况和系统条件下能否满足性能指标。

  • 负载测试:验证系统在一定压力下延长系统运行时间,直到系统性能出现"拐点"。 

  • 压力测试:验证系统在已经处于极限负载下或者某指标已经处于饱和状态下系统性能的表现。

  • 稳定性测试:验证系统在连续运行的情况下下,查看系统的各项性能指标。一一MTBF (错误发生的平均时间间隔)

  • 大数据量测试:验证系统在使用大批量数据对系统产生压力或影响的情况下系统各种指标是否正常。

  • 配置测试:验证系统在不同的软件和硬件配置的情况下,找出系统各项资源的最优分配。

性能常用术语

  • 虚拟用户:性能测试工具模拟处理的用户,模拟实际用户的操作行为。

  • 并发和并发用户数

并发:强调”大量用户”的"同时性”操作(该操作要求对服务器产生压力)

并发用户数:指的是在某一时刻同时进行了对服务器产生影响的操作的用户数量。

注意:与"系统用户数"和"在线用户数”之间的差异。

系统用户数:某一个特定系统的使用用户总量。

在线用户数:登录系统,正在使用该系统的人数。

  • 响应时间:包含“请求响应时间”和“事务响应时间”

  • 思考时间:两次请求之间的间隔时间。

  • 点击率:一般指每秒钟用户向服务器提交的请求数。

    (Web测试中特指HTTP请求数)

  • 每秒事务数:指每秒系统能够处理的交易或者事务的数量。

    (Transaction Per Second, TPS)

  • 吞吐量:在单次业务中,客户端和服务器端进行的数据交互总量;受服务器性能和网络性能的影响。

  • 吞吐率:吞吐量除以传输时间。衡量服务器性能和网络性能的重要指标之一;一般可以用"请求数/秒、页面数/秒、字节数/秒”等单位衡量。

  • 性能计数器:性能计数器是一系列用于描述各类型服务器或者操作系统性能的指标,在进行资源监控和系统瓶颈分析中起着重要的作用。

性能测试流程

性能测试流程:(性能)需求分析->(性能)测试计划->测试环境搭建(无限接近于实际运行环境)->性能测试工具选择->测试执行->发现性能瓶颈->性能调整与优化->验证与关闭。

1、需求分析(示例)

2、测试场景

3、性能测试流程

3.1 测试结果是否通过的判断标准(仅供参考)

3.2 性能调优需要掌握的技能

3.3 性能测试中的重点和难点

  • 需求分析

  • 场景设计

  • 性能诊断调优

  • 环境搭建和模拟

4、性能测试用例(测试场景)-(示例)

注:性能测试中不做数据的反向验证(功能测试已完成)

用例中的术语:

集合点:所有用户集合在一起,进行并发。

事务:用户的操作行为的总称、用来衡量TPF、事务成功率的基础。

预期结果:性能测试执行后,结果判断的标准。

性能测试所需的技能

性能测试工具

如果想了解的话可以欢迎在留言区跟我们互动噢~

觉得有所帮助的话点个赞呗

最后是小编自己整理的一些学习资料笔记:想要小编学习资料笔记文档和上述全套华为面试题的【私信我关键词“999”免费获取】高薪简历模板(面试宝典免费领)

高薪简历模板(面试宝典免费领)


推荐阅读
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • svnWebUI:一款现代化的svn服务端管理软件
    svnWebUI是一款图形化管理服务端Subversion的配置工具,适用于非程序员使用。它解决了svn用户和权限配置繁琐且不便的问题,提供了现代化的web界面,让svn服务端管理变得轻松。演示地址:http://svn.nginxwebui.cn:6060。 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • 本文是一位90后程序员分享的职业发展经验,从年薪3w到30w的薪资增长过程。文章回顾了自己的青春时光,包括与朋友一起玩DOTA的回忆,并附上了一段纪念DOTA青春的视频链接。作者还提到了一些与程序员相关的名词和团队,如Pis、蛛丝马迹、B神、LGD、EHOME等。通过分享自己的经验,作者希望能够给其他程序员提供一些职业发展的思路和启示。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • JavaScript设计模式之策略模式(Strategy Pattern)的优势及应用
    本文介绍了JavaScript设计模式之策略模式(Strategy Pattern)的定义和优势,策略模式可以避免代码中的多重判断条件,体现了开放-封闭原则。同时,策略模式的应用可以使系统的算法重复利用,避免复制粘贴。然而,策略模式也会增加策略类的数量,违反最少知识原则,需要了解各种策略类才能更好地应用于业务中。本文还以员工年终奖的计算为例,说明了策略模式的应用场景和实现方式。 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 2022年的风口:你看不起的行业,真的很挣钱!
    本文介绍了2022年的风口,探讨了一份稳定的副业收入对于普通人增加收入的重要性,以及如何抓住风口来实现赚钱的目标。文章指出,拼命工作并不一定能让人有钱,而是需要顺应时代的方向。 ... [详细]
author-avatar
永远路鸣
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有