Loadrunner中有基于目标和手动两种场景设计方式,它们分别适用于啥情况?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Loadrunner中有基于目标和手动两种场景设计方式,它们分别适用于啥情况?相关的知识,希望对你有一定的参考价值。
参考技术A 如果测试计划是要达到某个性能指标,比如:每秒多少点击,每秒多少transactions,能到达多少Vuser,某个Transaction在某个范围Vuser(500-1000)内的反应时间等等,那么就可以使用面向目标的场景。在这种运行场景中,用户设定性能测试要达到的目标和虚拟用户增长模式,在Loadrunner执行场景时,直到用户达到设定的目标后停止。手动测试场景是由测试人员完全按照需要来配置场景,在实际中应用较多,能够更精确地满足测试的需要;面向目标的测试场景首先要制定希望实现的测试目标,如多少人同时在线、响应时间在几秒以内等,然后再由压力调度和监控中心进行自动的测试评估。本回答被提问者采纳
大开测试:性能- 基于目标和手动场景测试有何联系和不同(连载20)
7.20 基于目标和手动场景测试有何联系和不同
1.问题提出
在应用LoadRunner的Controller进行性能测试场景的设计时,有两种方案可以对场景进行设置,一种为手工方式,另一种为基于目标方式,那么在什么情况下针对性地选择这两种方式,它们之间有什么联系和不同呢?
2.问题解答
要使用LoadRunner进行系统性能测试,对系统进行负载,必须创建一个场景。场景中包含关于测试会话信息的文件。场景是一种模拟实际用户的方式。场景包含有关如何模拟实际用户的信息:虚拟
用户组、测试脚本以及用于运行这些脚本的负载生成器计算机。LoadRunner提供两种方式:手动场景设计(Manual Scenario)和面向目标场景设计(Goal-Oriented Scenario)。手动场景设计可以通过建立组并指定脚本、负载生成器和每个组中包括的Vuser数来建立手动场景;还可以通过百分比模式建立手动场景,使用此方法建立场景可以指定场景中将使用的Vuser的总数,并为每个脚本分配负载生成器和占总数一定百分比的Vuser。
如果选择创建常规手动场景,则在“新场景设计对话框”中选择的每个脚本将被分配给Vuser组,如图7-33所示。然后,可以为每个Vuser组分配多个虚拟用户。可以指定一个组中的所有Vuser在同一台负载生成器计算机上运行相同的脚本,也可以为一个组中的各个Vuser分配不同的脚本和负载生成器,如图7-34所示。
图7-33 新场景设计对话框 图7-34 场景设计对话框
图7-35 面向目标场景设计对话框
如果选择创建面向目标场景设计,则在“新场景设计对话框”中选择该选项,同时选择脚本,如图7-35所示。在面向目标的场景中,可以定义要实现的测试目标,LoadRunner会根据这些目标自动构建场景。可以在一个面向目标的场景中定义希望场景达到的下列5种类型的目标:虚拟用户数、每秒单击次数(仅Web Vuser)、每秒事务数、每分钟页面数(仅Web Vuser)或事务响应时间。可以通过单击【Edit Scenario Goal...】设置,如目标类型、最小用户数、最大用户数、运行时间等,如图7-36所示。
图7-36 面向目标场景编辑对话框
在图7-36中,【Goal Type】下拉框可以选择虚拟用户数、每秒单击次数(仅Web Vuser)、每秒事务数、每分钟页面数(仅WebVuser)或事务响应时间5种类型。可以设定目标,在这里我们以100次/s作为测试的目标。同时,可以设置为了要达到这个目标,需要运行的最小和最大用户数。也可以在【Run Time】指定当目标达到以后继续运行的时间,在【If target cannot be reached】选择如果测试目标达不到的情况下,可以选择【Stop scenario and save results】(指示Controller在无法达到定义的目标时停止场景并保存场景结果)或【Continue scenario without reaching goal】(指示Controller即使无法达到定义的目标,也要继续运行场景),同时,可以选择【Receive notification】(指示Controller向用户发送一个错误消息,指明无法达到目标),如果希望LoadRunner使用脚本中录制的思考时间来运行场景,请选择【Do not change recorded think time】。
在【Load Behavior】页,可以选择3种不同的Vuser加载方式,如图7-37所示。
l 【Automatic】:指示Controller运行一批中默认数量的Vuser(每两分钟运行50个Vuser,或者在定义的最大Vuser数少于50时运行所有的Vuser)。
l 【Reach target number of hits per second after XXX HH:MM:SS】:用来选择Controller达到目标之后场景运行的时间。
l 【Step up by XXX hit per second】(对于每秒事务数和事务响应时间目标类型不可用):用来选择Controller达到定义的目标的速度(一定时间内的虚拟用户数/单击次数/页面数)。
下面以每秒单击次数/事务数和每分钟页面数目标类型作为例子,在定义每分钟页面数或每秒单击次数/事务数目标类型时,Controller将用定义的目标值除以指定的最小Vuser数,并据此确定每个Vuser应该达到的每秒单击次数/事务数或每分钟页面次数的目标值。然后,Controller将根据定义的加载行为设置开始加载Vuser,具体表述为:如果选择自动运行Vuser,LoadRunner将在第一批中加载50个Vuser。如果定义的最大Vuser数小于50,LoadRunner将同时加载所有的Vuser。如果选择在场景运行一段时间之后达到用户的目标,LoadRunner将尝试在这段时间内达到定义的目标。第一批Vuser数的大小将根据用户所定义的时间限制以及计算得到的每个Vuser的单击次数、事务数或页面数的目标值来确定。如果选择按指定的速度(一定时间内的页面数/单击次数)达到用户的目标,LoadRunner将计算每个Vuser的单击次数或页面数的目标值,并据此确定第一批Vuser的数量。运行每一批Vuser之后,LoadRunner都将评估是否已达到该批的目标。如果未能达到该批目标,LoadRunner将重新评估每个Vuser的单击次数、事务数或页面数的目标值,并重新调整下一批的Vuser数,以便能够达到定义的目标。注意,默认情况下,每两分钟加载一批新的Vuser。如果Controller在运行最大数量的Vuser之后仍不能达到目标,LoadRunner将重新计算每个Vuser的单击次数、事务数或页面数的目标值,并且运行最大数量的Vuser,再一次尝试达到定义的目标。
在下列情况下,面向每分钟页面数或每秒单击次数,事务目标的场景将被标注“失败”状态。
l Controller已经两次尝试使用指定的最大Vuser数来达到目标,却均未达到目标。
l 在运行了第一批Vuser之后,未注册每分钟页面数或每秒单击次数/事务数。
l 在Controller运行了几批Vuser之后,每分钟页面数或每秒单击次数/事务数却未增加。
l 所有Vuser都运行失败。
l 没有可用于要尝试运行的Vuser类型的负载生成器。
更多信息请关注大开科技公众号或官方网站
www.dakaikeji.com.cn
以上是关于Loadrunner中有基于目标和手动两种场景设计方式,它们分别适用于啥情况?的主要内容,如果未能解决你的问题,请参考以下文章