做性能测试之前需要做什么(为什么要进行性能测试)

来源网友投稿 686 2023-01-01

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。
本篇文章给大家谈谈做性能测试之前需要做什么,以及为什么要进行性能测试对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享做性能测试之前需要做什么的知识,其中也会对为什么要进行性能测试进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

性能测试应该做哪些准备

环境搭建:这个根据实际规划,我在企业内做过的性能测试搭建的环境都是和用户上线使用的实际环境一样的。

数据准备:个人感觉是整个工作里第二耗时的,需要真实模拟用户数据,这个不是单单的创建几个帐号就完事的,每个用户基本都会有不太一样的配置,实际操作的时候部署数据的脚本都写到手软。

脚本编译:选择性能工具编译性能脚本,你需要跑什么业务流程就编译什么样的脚本。

脚本执行:用规划好的用户数执行脚本,这个一般持续很长时间,时间太短不足以暴露服务器等的性能瓶颈,性能测试中最耗时的就是这个步骤。

收集日志:在执行脚本完成后收集到的能客观反应系统性能的日志、报表文件,比如LR的报告、数据库的AWR日志等等。

分析结果:分析收集到的日志、报表,找出性能瓶颈或是得出性能指标结果。这个一般需要对数据库或者底层非常了解的专业人士来分析,一般测试人员只需要提供收集到的报告就差不多了。

生成报告:将上面所有的性能测试活动整理总结,输出测试报告。

性能测试实施过程,如:测试前要准备什么?

1、硬件——根据测试需求,如果并发用户较少(300内)一般配置就可以。
2、性能指标分为:软件指标、服务器指标、数据库指标(一般包括相应时间、CPU使用率、内存使用率、事务成功率等)
3、破解之后可以进行性能测试(负载机依据并发数,一般2G内存的机子支持400左右用户)
4、这个依据业务需求,需要分析不同时间段业务实际操作,尽量模拟实际业务需求。(在测试环境进行时一般是晚上进行、或中午饭间)

在做性能测试之前需要知道什么,用什么测试电脑性能

做性能测试电脑之前一定支装各个硬件驱动,以免出现兼容性问题,闪退等问题,一般跑分软件对电脑整体测试,3Dmark11软件,还有专业针对显卡温度压力测试的,甜甜圈软件,还有CPU专门跑分的国际象棋,

性能测试到底该怎么做?

作为一名开发者做性能测试之前需要做什么做性能测试之前需要做什么我们最长听到做性能测试之前需要做什么的就是编程界的三高:

高性能、高并发、高可用。

听起来非常高大上做性能测试之前需要做什么,但是性能到底如何呢做性能测试之前需要做什么?又该如何评定呢?

这次我们谈一谈性能测试,看一看到底什么样才叫做高性能。

本文主要从以下几个方面进行讨论。

(1)性能测试是什么?

(2)为什么需要性能测试?

(3)性能测试如何做?

(4)有哪些性能测试的工具

老马曾经说过,你想理解一件事物,首先必须先定义它。

这里直接引用一下百科中的定义:

性能测试的定义也不难理解,往往定义本身阐述了性能测试的作用。

如果你是一名开发、测试,平时接手过不少需求,可能性能测试接触的也不多。

每一个需求,都有对应的功能性需求和肺功能性需求。

功能性需求是产品需求文档中最直接的,需要实现的功能目标。简称,能用就行。

非功能性需求则要宽泛的多,架构设计是否合理?是否便于后期拓展?是否便于监控?代码实现是否优雅?文档注释是否完整?

就像你写了一只鸟,鸟头做螺旋桨非能飞起来,但是在架构设计上可能是不合理的。

飞起来

一个查询功能,用户点击查询,10S 种才返回数据,功能上是满足的,但是性能上是不能接受的。

线上的交易功能平时各方面都很棒,节假日高峰期直接系统就瘫痪了。

那如何避免这些问题出现在生产上呢?

这就需要上线之前,首先做好对应的性能测试,避免再生产上出现问题,带来严重的生产事故。

性能要高,性能要硬,性能测试,又高又硬!

又高又硬

做一件事情之前,我们首先要确定好自己的目标。

性能测试,到底要测试什么?

有些类似于开发过程中的需求分析,常见的测试指标如下。

响应时间是指某个请求或操作从发出到接收到反馈所消耗的时间,包括应用服务器(客户端)处理时间、网络传输时间以及数据库服务器处理时间。

作为用户而言,在页面点击查询,等待了多久才能获取结果,这个就是响应时间。

用户不关心你后端经过了多少个服务,慢就是原罪。

对于微服务系统,链路监控就显得比较重要。可以帮助我们快速定位到底慢在哪里。

TPS(Transaction Per Second)是指单位时间(每秒)系统处理的事务量。

我看网上还有很多类似的概念:点击量/点击率、吞吐量/吞吐率、PV/UV,这里不做赘述。

个人看来本质上 TPS/QPS 就是去压测你应用的极限,当访问量较大的时候,程序能否活下来?

这里主要涉及到两个概念:高性能和高可用。

我们后面会简单讨论下这两点。

明确了测试指标之后,就需要进行测试的准备。

环境准备:比如你想压测数据库,那就需要准备对应配置的数据库资源。

脚本的准备:数据初始化脚本,调用脚本等。

这个可以类比开发过程中的代码开发。

ps: 性能压测一般不是很常用,所以环境准备流程会比较长,这一点需要注意。

当进行测试之后,测试的结果一定要给出一份报告出来。

是否通过压测要求?

最高的 QPS 是多少?

这样开发可以根据这份报告进行相应的优化。

提升性能的内容写一本书也不为过,这里简单罗列一些最常用的几点:

(1)慢 SQL

一般程序如果响应时间较长,可以首先看一下慢 SQL。

看下是否需要增加索引,或者进行 SQL 优化。

(2)缓存

针对查询,性能提升最显著的就是引入缓存。

当然,引入缓存会使架构变得复杂,这一点要结合自己的实际业务。

(3)硬件升级

如果程序优化的空间比较小,可以考虑升级一下硬件资源。

比如服务器配置翻倍,数据库配置翻倍。

什么?你说公司没钱升级?

没钱升级做什么压测?

这个时候测试报告的作用就显露了,直接用数据说话。

直接说 QPS 达不到生产要求,程序优化的空间很小,推荐硬件升级配置,升级到多少。

做人,要以德服人。

做测试,要用数据说话。

以德服人

测试最常用的工具当属 jmeter。

除此之外,还有一些其他的工具:

LoadRunner、QALoad、SilkPerformer和Rational Performance Tester。

下面对几个工具做下简单介绍

Apache JMeter 可以用于测试静态和动态资源(Web动态应用程序)的性能。

它可以用于模拟服务器、服务器组、网络或对象上的负载,以测试其强度或分析不同负载类型下的总体性能。

将负载测试集成到开发工具中:IDE、jUnit、nUnit、Jenkins、Selenium和Microsoft Visual Studio。

从12.55版本开始,您可以运行您的JMeter脚本,并在任何性能测试中集成JMeter和附加的脚本类型。

ps: 这个设计理念就非常好,可以和成熟的工具进行整合。站在巨人的肩膀上。

QALoad是客户/服务器系统、企业资源配置(ERP)和电子商务应用的自动化负载测试工具。

QALoad可以模拟成百上千的用户并发执行关键业务而完成对应用程序的测试,并针对所发现问题对系统性能进行优化,确保应用的成功部署。

ps: 这个工具本人没有接触过。

SilkPerformerV可以让你在使用前,就能够预测企业电子商务环境的行为—不受电子商务应用规模和复杂性影响。

可视化的用户化、负载条件下可视化的内容校验、实时的性能监视和强大的管理报告可以帮助您迅速将问题隔离,这样,通过最小化测试周期、优化性能以及确保可伸缩性,加快了投入市场的时间,并保证了系统的可靠性。

作为 DevOps 方法的一部分,IBM Rational Performance Tester 帮助软件测试团队更早、更频繁地进行测试。

它验证 Web 和服务器应用程序的可扩展性,确定系统性能瓶颈的存在和原因,并减少负载测试。

您的软件测试团队可以快速执行性能测试,分析负载对应用程序的影响。

ps: 这一款工具有 IBM 提供,质量值得信赖。

这么多工具可供使用,相信读到这里的小伙伴已经找到了自己心仪的测试工具。

别急,下面专门为做 java 开发的小伙伴们推荐一款性能测试工具。

男人有男人的浪漫,开发者当然也要有开发者的浪漫。

【男人的浪.jpg】

作为一名开发者,老马平时单元测试使用 junit 最多。

所以一直希望找到一款基于 junit 的性能压测工具,后来也确实找到了。

@JunitPerfConfig 指定测试时的属性配置。(必填项)

使用如下:

@JunitPerfRequire 指定测试时需要达到的要求。(选填项)

使用如下:

对应的测试报告生成方式也是多样的,也允许用户自定义。

基于控台日志:

或者基于 HTML:

junitperf

本文对性能测试做了最基本的介绍,让小伙伴们对性能压测有一个最基本的理解。

测试和开发一样,都是一件费时费力,而且需要认真做才能做好的事情,其中的学问不是一篇就能说清的。

性能测试工具也比较多,本文重点介绍了专门为 java 开发者打造的 junitperf 工具。

下一节我们将从源码角度,讲解一下 junitperf 的实现原理。

我是老马,期待与你的下次重逢。

开源地址:https://github.com/houbb/junitperf

如何做软件性能测试?

做性能测试需要掌握的东西多啊。系统架构、系统的环境、使用的数据库、服务器等等。
在做性能测试之前,你必须把性能需求搞到手,这个是知道你做性能测试的前提,这个需求找开发负责人去要吧。
在性能测试时候需要关注的点:业务流程、并发用户数、持续时间等。
在测试分析时经常关注的是:系统响应时间、事务处理能力、通过事务数量等。
响应时间过长时:可以有内存溢出、数据没有建立索引等。
希望有帮助

性能测试包括哪些方面

性能测试包括负载测试和压力测试。
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试做性能测试之前需要做什么,两者可以结合进行。通过负载测试做性能测试之前需要做什么,确定在各种工作负载下系统的性能做性能测试之前需要做什么,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试。
性能测试在软件的质量保证中起着重要的作用,它包括的测试内容丰富多样。中国软件评测中心将性能测试概括为三个方面做性能测试之前需要做什么:应用在客户端性能的测试、应用在网络上性能的测试和应用在服务器端性能的测试。通常情况下,三方面有效、合理的结合,可以达到对系统性能全面的分析和瓶颈的预测。 关于做性能测试之前需要做什么和为什么要进行性能测试的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 做性能测试之前需要做什么的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于为什么要进行性能测试、做性能测试之前需要做什么的信息别忘了在本站进行查找喔。
上一篇:制造业it运维(IT系统运维)
下一篇:智能马桶能够给我们带来健康?智能马桶好用吗
相关文章

 发表评论

暂时没有评论,来抢沙发吧~