性能测试怎么做?性能测试重点和各项性能测试流程(超级详细)

这篇具有很好参考价值的文章主要介绍了性能测试怎么做?性能测试重点和各项性能测试流程(超级详细)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

性能测试基础

1)性能测试一般分为:负载测试、压力测试、基准测试、稳定性测试、扩展性测试。

2)常见的性能测试指标:响应时间;TPS/QPS;并发用户;PV/UV;点击率;吞吐量;资源开销

3)性能测试的场景:
业务场景:系统的业务处理流程;
测试场景:对业务场景的真实模拟;
单场景:只涉及单个业务流程的测试场景;
混合场景:每个业务流程在混合的业务流程中占的比重会不同,尽可能符合实际的业务需要。

性能测试目标

1)了解系统的各项性能指标。
比如,通过压测可以了解系统能承受多大的并发访问量、系统的平均响应时间是多少、系统的TPS是多少等。

2)发现系统中存在的性能问题。
比如,系统中是否存在负载均衡不均、内存泄漏、连接泄漏、线程安全、死锁、网络架构或者应用架构扩展性问题,也能发现系统的性能瓶颈在何处。

① 负载均衡不均匀
一般指的是在并发的情况下,每台服务器接收的并发压力不均匀,从而导致部分服务器因为压力过大而出现性能急剧下降,以及部分服务器因为并发过小而出现资源浪费的情况。

② 内存泄漏
是指应用程序代码在每次执行完后,不会主动释放内存资源而导致内存使用一直增加,最终会使服务器物理内存全部耗光,程序运行逐渐变慢,最终因为无法申请到内存而退出运行。内存泄漏多数情况下是非常缓慢的增加,不容易被发现,一般需要通过高并发性能压测才能暴露。

③ 连接泄漏
种类非常广泛,可以是数据库连接泄漏、HTTP连接泄漏或者其他的TCP/UDP连接泄漏等。除了系统实际情况需要建立长连接外,一般短连接都应该是用完就需要关闭和释放。

④ 线程安全问题
在高并发访问的多线程处理中经常会出现,表现为多个线程先后更改数据,造成所得到的数据全部是脏数据。

⑤ 死锁
出现在多并发情况下,为保证有限的资源正常使用,从而上锁,最后因为一线程(进程)无法及时释放资源,导致死锁。常见的有系统死锁、数据库死锁等。

⑥ 扩展性问题
一般是指性能指标无法满足预期的情况下,通过横向或者纵向扩展硬件资源后,系统性能指标无法按照一定的线性规律进行快速递增。

3)解决性能压测中存在的问题和性能瓶颈。

性能测试基本流程
性能测试,测试开发,软件测试,性能测试,软件测试,性能测试,测试开发,软件测试工程师,压力测试

1)性能需求分析

① 熟悉业务流程,明确此次性能测试的目标,找到业务需求的性能点。

② 熟悉系统的应用架构、技术架构、数据架构、部署架构等,找到与其他系统的交互流程,明确系统部署的硬件配置信息、软件配置信息。

③ 把对性能测试有重要影响的关键点列举出来。

比如用户发起请求的顺序、请求之间的相互调用关系;业务的数据流走向;被压测系统可能存在的重点资源消耗;应用的部署架构等。

④ 明确系统上线后可能会达到的最大并发用户数、用户期望的平均响应时间以及峰值时的业务吞吐量,并将这些信息转化为性能需求指标。

2)制定性能测试计划
测试计划一般本次测试的目的,各个阶段的时间点+对应负责人,以及本次性能测试风险的分析和控制。

3)编写性能测试方案
① 设计测试场景。
② 定义具体事务操作。
③ 针对每个场景,明确监控对象和可能的性能瓶颈点:监控对象:比如TPS、平均响应时间、击率、并发连接数、CPU、内存、IO等。可能的性能瓶颈点:比如数据库查询、Web务器服务转发、应用服务器等。
④ 定义测试策略:明确性能测试的类型、执行顺序、加压方式(压测需要)。
⑤ 选取性能测试工具。
⑥ 明确硬件配置和软件配置:硬件配置:服务器的CPU配置、内存配置、硬盘存储配置、集群环境下还要包括集群节点的数量配置等。软件配置:操作系统、应用版本、参数配置和网络配置。

4)编写性能测试案例,对压测场景细化。
① 描述预置条件:满足啥条件性能测试案例才可以执行。
②详细描述案例执行的步骤,包括:测试脚本的录制和编写脚本的调试;脚本的执行过程(比如如何加压、每个加压的过程持续多久等);要观察和记录的性能指标;需要明确性能曲线的走势;需要监控哪些性能指标等。
③ 描述性能测试预期需要达到的结果,比如:TPS需要达到多少;平比响应时间需要控制到多少以内;服务器资源的消耗需要控制在多少以内等。

ps:在实际工作中,你分析完性能需求之后,可以把测试计划、测试方案和测试案例合成一个文档,这块并没有严格的定义,可以按你们公司的流程来做。

5)搭建性能测试环境
6)构造性能测试数据
7)编写性能测试脚本
8)执行性能测试场景(案例)
9)分析性能测试结果,编写性能测试报告
10)系统性能瓶颈分析与性能调优

① 性能分析调优模型
性能测试,测试开发,软件测试,性能测试,软件测试,性能测试,测试开发,软件测试工程师,压力测试

② 性能分析调优思想:分层分析、科学论证、问题追溯与归纳总结。
③ 性能调优技术,一般包括:缓存调优;同步转异步推送;拆分;任务分解与并行计算;索引与分库分表

下面是我整理的2022年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

性能测试,测试开发,软件测试,性能测试,软件测试,性能测试,测试开发,软件测试工程师,压力测试

二、接口自动化项目实战

性能测试,测试开发,软件测试,性能测试,软件测试,性能测试,测试开发,软件测试工程师,压力测试

三、Web自动化项目实战

性能测试,测试开发,软件测试,性能测试,软件测试,性能测试,测试开发,软件测试工程师,压力测试

四、App自动化项目实战

性能测试,测试开发,软件测试,性能测试,软件测试,性能测试,测试开发,软件测试工程师,压力测试

五、一线大厂简历

性能测试,测试开发,软件测试,性能测试,软件测试,性能测试,测试开发,软件测试工程师,压力测试

六、测试开发DevOps体系

性能测试,测试开发,软件测试,性能测试,软件测试,性能测试,测试开发,软件测试工程师,压力测试

七、常用自动化测试工具

性能测试,测试开发,软件测试,性能测试,软件测试,性能测试,测试开发,软件测试工程师,压力测试

八、JMeter性能测试

性能测试,测试开发,软件测试,性能测试,软件测试,性能测试,测试开发,软件测试工程师,压力测试

九、总结(尾部小惊喜)

带奋斗一起飞翔,因为有了它,让我拥有理智之思;我才使过去的失误不再重演到今天的影片里;我才能使过去的成功在人生中继续升华;我才能真正收获金秋丰硕的果实,品味人生的快乐。

趁着年轻,多出去走走看看。读万卷书,不如行万里路,行万里路,不如阅人无数。愿你迈着青春的脚步,走向成功的人生!

成长总是由无数个平凡,艰辛的小步组成,但每一步绚烂的风景,都将化为启明的航灯,照亮那通往星辰大海的征程。文章来源地址https://www.toymoban.com/news/detail-789373.html

到了这里,关于性能测试怎么做?性能测试重点和各项性能测试流程(超级详细)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [全网最细]接口测试一般怎么测?接口测试的流程和详细步骤

    我们要想知道接口测试怎么做,首先要明白接口测试是什么?一般像系统内的 组件接口数据 交互测试、不同系统与系统之间的 接口数据交互 测试等,我们都可以称之为 接口测试 ! 那么接口测试是怎么来测试接口的呢? 接口测试就是通过接口的不同情况下的输入和与之对用的

    2023年04月21日
    浏览(40)
  • Web自动化测试怎么做?Web自动化测试的详细流程和步骤

    自动化(Automation)是指机器设备、系统或过程(生产、管理过程)在没有人或较少人的直接参与下,按照人的要求,经过自动检测、信息处理、分析判断、操纵控制,实现预期的目标的过程。 这是教科书里面的自动化的定义,回归到自动化测试其实自动化测试就是什么呢?

    2024年02月02日
    浏览(45)
  • 乐视超级路由器怎么样?乐视超级路由器性能曝光

    乐视超级路由器怎么样?小编带来了关于乐视超级路由器配置参数方面的内容,乐视也推出路由器硬件了,有哪些特色功能呢?想知道的朋友就往下看吧。   乐视超级路由器通过官方微博宣布首轮内测即将开启,但并没有公布具体的内测方案及条件。   从配图来看,该路由器顶

    2024年02月06日
    浏览(54)
  • SpringSecurity认证流程(超级详细)

    最近开发项目的时候遇到了和SpringSecurity相关的一些问题,但是之前并没有去了解过SpringSecurity,导致改系统安全权限验证的时候就比较吃力了,目前项目开发大多都直接用脚手架直接开发,系统安全权限验证已经形成了,所以并不是自己写的,自己理解起来会更慢一些,所以

    2024年02月07日
    浏览(51)
  • SpringBoot系列(四十四):Tomcat与Undertow容器性能对比分析|超级详细,建议收藏

            Tomcat和Undertow都是非常流行的Java Web容器,它们都有自己的优缺点。但在实际项目中,我们如何选择最合适的容器呢?是选择老牌的Tomcat,还是选择后起之秀的Undertow?本篇文章将深入分析Tomcat和Undertow的性能表现,为大家揭秘最佳选择!无论你是Java开发者还是想深

    2023年04月21日
    浏览(46)
  • 【性能测试入门必看】性能测试流程简介

    1、新系统能力验证 2、明确客户需求 3、找出系统性能瓶颈 4、稳定性验证(强度测试) 系统架构对于测试新手来是最难的;先来了解系统所使用的技术和框架,在环境搭建阶段,你需要了解项目的部署;在性能分析与调优阶段,更要深入这些技术的细节去分析。 1、 表示层

    2024年02月03日
    浏览(90)
  • 【python】 字典使用教程(超级详细)不看 你怎么够别人卷

    字典(dictionary)是除列表之外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取,这个键可以是数字、字符串甚至元组。映射可以使用任何不可变对象标识元素

    2024年02月03日
    浏览(85)
  • Fabric 超级账本学习【3】Fabric2.4 使用Tape进行吞吐量量性能测试

    如果想测试一下超级账本fabric对某个合约函数的执行时间是多少,简单地可以通过打印合约函数开始执行时间和结束执行时间来计算时间差就可以了。 Tape 是一款轻量级 Hyperledger Fabric 性能测试工具。 tape的github地址:https://github.com/Hyperledger-TWGC/tape 步骤: 启动Fabric2.4网络环境

    2024年01月17日
    浏览(50)
  • 性能测试的具体流程

    以下是一个基本的性能测试过程,旨在帮助了解性能测试的具体流程和步骤。 首先,需要确定性能测试的目标和指标,包括响应时间、吞吐量、并发用户数等方面。这些指标应该根据业务需求和用户场景进行设定,并设定相应的阈值。 在设计测试场景时,需要考虑到被测系

    2024年02月11日
    浏览(56)
  • 服务器GPU性能测试流程

    注意: 1、cuda-sample需要和cuda版本对应,否则会报错 2、只有进行hpcg测试时才需要设置当前环境变量为cuda-10,其它测试时设置cuda-12.0,否则在进行浮点性能测试时会报错 1.环境变量要求cuda11.8 2.cuda-samples-11.8测试包 3.hpcg测试环境 4.intel oneAPI安装 1.显存带宽 2.卡间带宽 3.浮点性

    2024年02月04日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包