loadrunner】负载测试,并发测试和压力测试,这三者之间的区别和联系?

2021-12-16 17:47发布

5条回答

性能测试,压力测试,负载测试,经常听说却并没有真正的去了解区别,而且网上大部分讲的还是有点混乱,很容易让人混淆。所以根据自己的经验还有查阅软件测试书籍做了一些总结:很多时候,查阅软件测试书籍是寻找答案最好的方法。


从测试的方法与工具来说,三者都是一样的,压力测试跟负载测试都是属于性能测试的子集(软件测试书籍也是有说明这点)。

从测试的目的来说,三者又是不一样的。


性能测试:软件测试的定义:模拟用户负载来测试系统在负载情况下,系统的响应时间,吞吐量等。(这里的负载指的是用户并发数)所以它的目的是为了获取系统的指标。


负载测试:软件测试的定义:在一定的软硬件环境上,通过不断的加大负载来确定在满足性能指标情况下所能够承受的最大用户数。所以它的目的是为了获取最大用户数。一般不超过80%cpu,正常情况工作下最大用户数数据。


压力测试,也叫强度测试。软件测试的定义:在一定的软件硬件环境下,通过高负载的手段来使服务器资源处于极限的状态,测试该系统在极限状态长时间运行是否稳定。包括系统指标,服务器性能指标。

\

上来打杂的
3楼 · 2021-12-19 13:40

负载测试

1、定义:
负载测试是通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况下,系统所能承受的最大负载量的测试。

2、目的:
不把系统搞挂的测试,使系统能够在最大的压力下可以正常运行。从而获取系统指标。

3、方法:
不断增加请求压力,直到服务器某个资源项达到饱和(比如CPU使用率达到90%+)或某个指标达到安全临界值(比如运维的监控告警阈值or拐点)。系统负载压力包含并发用户数、持续运行时间、数据量等。其中并发用户数是负载压力的重要指标。

并发测试

1、定义:
1、目的:检查系统是否有并发问题,例如内存泄漏、线程锁、资源争用等问题。
2、方法:确定用户并发数,必须知道系统所承载的在线用户数。然后在单位时间内(S)同时发起一定量的请求。
3、确定并发用户数的方法:
例如:公司OA系统账号或者总用户有2000人;最高峰在线500人;但是这500人并不是作为并发用户存在的概念。即并不表示服务器实际承载的压力;有可能40%关注的是首页新闻公告板之类(注意看新闻这个阶段是不能造成服务器的压力);20%用户在查询资料或者操作表格;20%用户在发呆;20%在页面之间跳转;在这种情况下,只有真正20%用户在对服务器造成实质的影响。
我们将这个查询、操作表格作为一个业务范畴来说;直接将这部分业务并发用户称为并发用户数:
1.计算平均并发用户数:C=NL/T
2.并发用户峰值数:C’ ≈ C+3根号C
公式(1)中,C是平均的并发用户数;n是login session的数量;L是login session的平均长度;T指考察的时间段长度。
公式(2)则给出了并发用户数峰值的计算方式中,其中,C’指并发用户数的峰值,C就是公式(1)中得到的平均的并发用户数。该公式的得出是假设用户的login session产生符合泊松分布而估算得到的。
假设有一个OA系统,该系统有3000个用户,(可以看注册信息)平均每天大约有400个用户要访问该系统,(日志文件查看)对一个典型用户来说,一天之内用户从登录到退出该系统的平均时间为4小时,在一天的时间内,用户只在8小时内使用该系统。
则根据公式(1)和公式(2),可以得到:
C = 4004/8 = 200
C’≈200+3根号200 = 242
但是一般的做法是把每天访问系统用户数的10%作为平均的并发用户数。最大的并发用户数乘上一个值,2或者3.
假如说用户要求系统每秒最大可以处理100个登陆请求,10/25/50/75/100 个并发用户来执行登陆操作,然后观察系统在不同负载下的响应时间和每秒事务数。如果用户数在100的时候,响应时间还在允许范围呢,就要加大用户数,例如120 等 。个人理解这个用户数就是我们经常说的等价类和边界值法来设定。

压力测试

1、定义:
是给软件不断加压,强制其在极限的情况下运行,观察它可以运行到何种程度,从而发现性能缺陷。

2、目的:
把系统搞挂的测试。

3、方法:以负载测试或者并发测试为依据,给软件不断加压,强制其在极限的情况下运行,观察它可以运行到何种程度,从而发现性能缺陷。


20200921文 - 做更棒的自己!
4楼 · 2021-12-19 16:49

性能测试(或称多用户并发性能测试)、负载测试、强度测试、容量测试是性能测试领域里的几个方面,但是概念很容易混淆。下面将几个概念进行介绍。

性能测试(Performance Test):通常收集所有和测试有关的所有性能,通常被不同人在不同场合下进行使用。
关注点:how much和how fast

负载测试(Load Test):负载测试是一种性能测试,指数据在超负荷环境中运行,程序是否能够承担。
关注点:how much

强度测试(Stress Test): 强度测试是一种性能测试,他在系统资源特别低的情况下软件系统运行情况,目的是找到系统在哪里失效以及如何失效的地方。包括
Spike testing:短时间的极端负载测试
Extreme testing:在过量用户下的负载测试
Hammer testing:连续执行所有能做的操作

容量测试(Volume Test):确定系统可处理同时在线的最大用户数
关注点:how much(而不是how fast)
容量测试,通常和数据库有关,容量和负载的区别在于:容量关注的是大容量,而不需要表现实际的使用。

其中,容量测试、负载测试、强度测试的英文解释为:
Volume Testing = Large amounts of data
Load Testing = Large amount of users
Stress Testing = Too many users, too much data, too little time and too little room

可能大家角色性能测试、负载测试和强度测试比较混淆。没错,这三个概念是比较容易使人糊涂。负载测试和强度测试,都属于性能测试的子集。下面举个跑步的例子进行解释。
性能测试,表示在一个给定的基准下,能执行的最好情况。例如,在没有负重的情况下,你跑100米需要花多少时间(这边,没有负重是基准)?
负载测试,也是性能测试,但是他是在不同的负载下的。对于刚才那个例子,如果扩展为:在50公斤、100公斤……等情况下,你跑100米需要花多少时间?
强度测试,是在强度情况下的性能测试。对于刚才那个例子,如果改为:在一阵强风的情况下,你在负重或没有负重的情况下,跑100米需要花多少时间?

希希
5楼 · 2021-12-26 10:37

1、定义:
负载测试是通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况下,系统所能承受的最大负载量的测试。

2、目的:
不把系统搞挂的测试,使系统能够在最大的压力下可以正常运行。从而获取系统指标。

3、方法:
不断增加请求压力,直到服务器某个资源项达到饱和(比如CPU使用率达到90%+)或某个指标达到安全临界值(比如运维的监控告警阈值or拐点)。系统负载压力包含并发用户数、持续运行时间、数据量等。其中并发用户数是负载压力的重要指标。


回答: 2021-12-26 11:18

并发测试

1、定义:
1、目的:检查系统是否有并发问题,例如内存泄漏、线程锁、资源争用等问题。
2、方法:确定用户并发数,必须知道系统所承载的在线用户数。然后在单位时间内(S)同时发起一定量的请求。
3、确定并发用户数的方法:
例如:公司OA系统账号或者总用户有2000人;最高峰在线500人;但是这500人并不是作为并发用户存在的概念。即并不表示服务器实际承载的压力;有可能40%关注的是首页新闻公告板之类(注意看新闻这个阶段是不能造成服务器的压力);20%用户在查询资料或者操作表格;20%用户在发呆;20%在页面之间跳转;在这种情况下,只有真正20%用户在对服务器造成实质的影响。
我们将这个查询、操作表格作为一个业务范畴来说;直接将这部分业务并发用户称为并发用户数:
1.计算平均并发用户数:C=NL/T
2.并发用户峰值数:C’ ≈ C+3根号C
公式(1)中,C是平均的并发用户数;n是login session的数量;L是login session的平均长度;T指考察的时间段长度。
公式(2)则给出了并发用户数峰值的计算方式中,其中,C’指并发用户数的峰值,C就是公式(1)中得到的平均的并发用户数。该公式的得出是假设用户的login session产生符合泊松分布而估算得到的。
假设有一个OA系统,该系统有3000个用户,(可以看注册信息)平均每天大约有400个用户要访问该系统,(日志文件查看)对一个典型用户来说,一天之内用户从登录到退出该系统的平均时间为4小时,在一天的时间内,用户只在8小时内使用该系统。
则根据公式(1)和公式(2),可以得到:
C = 4004/8 = 200
C’≈200+3根号200 = 242
但是一般的做法是把每天访问系统用户数的10%作为平均的并发用户数。最大的并发用户数乘上一个值,2或者3.
假如说用户要求系统每秒最大可以处理100个登陆请求,10/25/50/75/100 个并发用户来执行登陆操作,然后观察系统在不同负载下的响应时间和每秒事务数。如果用户数在100的时候,响应时间还在允许范围呢,就要加大用户数,例如120 等 。个人理解这个用户数就是我们经常说的等价类和边界值法来设定。

压力测试

1、定义:
是给软件不断加压,强制其在极限的情况下运行,观察它可以运行到何种程度,从而发现性能缺陷。

2、目的:
把系统搞挂的测试。

3、方法:以负载测试或者并发测试为依据,给软件不断加压,强制其在极限的情况下运行,观察它可以运行到何种程度,从而发现性能缺陷。


IT学习助手 - qq:2676427015
6楼 · 2022-01-14 13:51

1、负载测试(Load Test):负载测试是一种性能测试,指数据在超负荷环境中运行,程序是否能够承担。 关注点:how much
2、压力测试(Stress Test):
压力测试(又叫强度测试)也是一种性能测试,它在系统资源特别低的情况下软件系统运行情况,目的是找到系统在哪里失效以及如何失效的地方。
性能测试是动力,负载测试载重,压力测试强度
压力测试stress test:是在一定的『负荷条件』下,长时间连续运行系统给系统性能造成的影响。
负载测试Load test:在一定的『工作负荷』下,给系统造成的负荷及系统响应的时间。
负载测试通常描述一种特定类型的压力测试——逐步增加用户数量或用户请求来对系统(程序)进行加压。比如现实中有个系统提供在线查询服务,那我们从比较小的负载开始,逐渐增加模拟查询请求的数量或用户量,
直到系统响应时间超时,就是说的负载测试。这儿加压的类型必须是应用提供的服务类型,也就是工作负荷。
负载测试的目标是测试在一定负载情况下的系统性能(不关注稳定性,也就是说不关注长时间运行,只是得到不同负载下相关性能指标即可);实际中我们常从比较小的负载开始,逐渐增加模拟用户的数量(增加负载),
观察不同负载下应用程序响应时间、所耗资源,直到超时或关键资源耗尽,这就是所说的负载测试,它是测试系统的不同负载情况下的性能指标。
压力测试的目标是测试在一定的负载下系统长时间运行的稳定性,但是这个负载不一定是应用系统本身造成的。比如我们经常利用脚本或工具事先吃掉服务器的一部分cpu、内存或带宽等,创造出一定的负载环境并测试被测应用系统在此环境下的事物处理能力,响应时间等等。压力测试尤其关注大业务量情况下长时间运行系统性能的变化(例如是否反应变慢、是否会内存泄漏导致系统逐渐崩溃、是否能恢复);压力测试是测试系统的限制和故障恢复能力,它包括两种情况:
1.稳定性压力测试:在选定的压力值下,长时间持续运行。通过这类压力测试,可以考察各项性能指标是否在指定范围内,有无内存泄漏、有无功能性故障等;
2.破坏性压力测试:在稳定性压力测试中可能会出现一些问题,如系统性能明显降低,但很难暴露出其真实的原因。通过破坏性不断加压的手段,往往能快速造成系统的崩溃或让问题明显的暴露出来。

相关问题推荐

  • 回答 9

    就是同一业务在1个时间点多次发生,比如10个注册业务。设置集合点和业务的数量来测试并发,集合点设置失败就不能保证你设置的业务在同一时间点发生

  • 回答 8

    Loadrunner的三部分:虚拟脚本生成器(Virtual User Generator)------录制、编辑、调试测试脚本。控制器(Controller)-------创建场景、运行场景、监控场景、收集测试数据。结果分析器(Analysis)----把收集到的测试数据以图表的形式展示出来,生成测试报告。测...

  • 回答 8

    1、查看loadrunner的版本是不是最新,不是的话下载最新安装2、换个浏览器看看

  • 回答 6

    Virtual User Generator是用来录制和编写脚本的;Controller是用来对脚本如何运行进行设置的(如设置并发数、虚拟用户如何开始运行、需要监控哪些设备上的信息等);Analysis是用来产生数据报告的,便于分析性能测试的情况,及发现系统的瓶颈等;...

  • 回答 4

    分析你在搜索引擎中输入的内容,如果认为是某个网站常用名字,就自动跳转到相应网站,比如你输入新浪 ,则自动打开新浪的主页面。

  • 回答 4
    已采纳

    LoadRunner 是一种预测系统行为和性能的工业标准级负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个企业架构进行测试。通过使用LoadRunner , 企业能最大限度地缩短测试时间, 优化性能和加速应...

  • 回答 6
    已采纳

    转载:https://blog.csdn.net/weixin_33770878/article/details/87563654Jmeter与loadrunner是现时下比较火的两个软件,很多的测试人员在面临loadrunner与Jmeter的时候不知道该如何选择,其实当了解这两款软件之后就不会发生这种选择困难症了。下面通过一些异...

没有解决我的问题,去提问