本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。
本篇文章给大家谈谈组合场景的性能测试方法,以及组合场景的性能测试方法有哪些对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
今天给各位分享组合场景的性能测试方法的知识,其中也会对组合场景的性能测试方法有哪些进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
性能测试方法及目标(转载)
基准测试是基于一定规模的数据量上进行单业务或按实际用户操作同比例组合业务的测试,目的在于量化响应时间、吞吐率的指标,便于后续比对。
方法是做多组不同场景的测试,观察结果,抽取出几个关键数据做好记彔,用于以后进行性能对比和评价。
通过模拟生产运行的业务压力量和使用场景组合,测试系统的性能是否满足生产性能要求。
特点:
(1) 主要目的是验证系统是否具有系统宣称的能力。
(2) 需要事先了解被测系统的典型场景,并具有确定的性能目标。
(3) 要求在已确定的环境下运行。
通过在被测系统上不断增加压力,直到性能指标,例如“响应时间”超过预定指标或者某种资源使用已经达到饱和状态。
特点:
(1) 主要目的是找到系统处理能力的极限。
(2) 需要在给定的测试环境下进行,通常也需要考虑被测系统的业务压力量和典型场景,使得测试结果具有业务上的意义。
(3) 一般用来了解系统的性能容量,或是配合性能调优使用。
测试系统在一定饱和状态下,例如CPU、内存等在饱和使用情况下,系统能够处理的会话能力,以及系统是否会出现错误。
特点:
(1) 主要目的是检查系统处于压力情况下是应用的表现。
(2) 一般通过模拟负载等方法,使得系统的资源使用达到较高水平。
(3) 一般用于测试系统的稳定性。
通过对被测系统的软/硬件环境的调整,了解各种不同环境对系统性能影响的程度,从而找到系统各项资源的最优分配原则。
特点:
(1) 主要目的是了解各种不同因素对系统性能影响的程度,从而判断出最值得进行得调优操作。
(2) 一般在对系统性能状况有初步了解后进行。
(3) 一般用于性能调优和规划能力。
通过模拟用户的并发访问,测试多用户并发访问同一个应用、同一个模块或者数据记录时是否存在死锁或者其他性能问题。
特点:
(1) 主要目的是发现系统中可能隐藏的并发访问时的问题。
(2) 主要关注系统可能存在的并发问题,例如系统中的内存泄露、线程锁和资源争用方面的问题。
(3) 可在在开发的各个阶段使用,需要相关的测试工具的配合和支持。
通过给系统加载一定的业务压力(例如资源在70%~90%的使用率)的情况下,让应用持续运行一段时间,测试系统在这种条件下是否能稳定运行。
特点:
(1) 主要目的是验证系统是否支持长期稳定的运行。
(2) 需要在压力下持续一段时间的运行。
(3) 需要关注系统的运行状况。
针对有冗余备份和负载均衡的系统设计的,可以用来检验如果系统局部发生故障,用户是否能够继续使用系统;以及如果这种情况发生,用户将受到多大程度的影响。
特点:
(1) 主要目的是验证在局部故障情况下,系统能否继续使用。
(2) 还需要指出,当问题发生时“能支持多少用户访问”的结论和“采取何种应急措施”的方案。
(3) 一般来说,只有对系统持续运行指标有明确要求的系统才需要进行这种类型的测试。
性能测试场景
提到性能测试
组合场景的性能测试方法,常会提到压力测试、负载测试、稳定性测试、配置测试等等,但说到其各自的定义,实在是晦涩难懂。但若将性能测试,看作是在不同的场景下执行系统,获取系统的性能指标,再对数据进行监控分析的过程,就比较好理解了。
性能测试场景可以分为四类。
RT
线程
从上面的图可以得到以下判断:
4.重复以上步骤测试每一个业务,得到结果表格
Q:业务目标TPS和响应时间怎么定
组合场景的性能测试方法?
A:方法一:找同行业对比数据。方法二:到生产环境看用户使用情况并统计信息
Q:怎么得到业务比例?
A:根据生产环境的请求统计信息
Q:测试时为什么要逐步增压?
A:保证在测试过程中资源分配的合理性,可以看到整体的变化过程,例如递增过程中会不会出现系统动荡,便于分析性能瓶颈。
混合场景下,业务的TPS并没有达到预期,此处应进行分析调优。
确定场景的运行时间长度的加压数
运行时长取决于系统上线后的运维周期。例如指标是稳定运行一周,支持100万业务量。之前容量TPS能达到168,所以时长应该是10000000/168=6250秒=1.8小时。
Q:为什么用最大容量TPS跑稳定性?
A:有的观点是用最大TPS的80%去跑稳定性。跑稳定性的目的就是看系统会不会因为长时间处理业务而引发潜在瓶颈。只要系统正常处理,资源没有出问题也没有报错,就可以用最大TPS去跑。
性能测试的实现方法是什么
狭义的软件性能测试指为验证软件性能指标、评估系统服务能力、推荐系统软硬件配置、完成系统性能优化等而开展的测试活动;
广义的软件性能测试指在测试过程中需要相关性能测试方法配合完成的系统测试活动,包括可靠性测试、可恢复性测试、稳定性测试、兼容性测试、可扩展性测试等。
性能测试的七种方法:
1.基准测试
基准测试是指通过设计科学的测试方法,测试工具和测试系统,实现对一类测试对象的某项指标进行定量的和可对比的测试。
2.压力测试
通过对软件系统不断施加压力,识别系统性能拐点,从而获得系统提供的最大服务界别的测试活动,主要目的是检查系统处于压力情况下应用的表现。
3.负载测试
通过在被测系统中不断增加压力,直到达到性能指标极限要求。主要目的是找到特定的环境下系统处理能力的极限。
4.并发测试
主要指当测试多用户并发访问同一个应用、模块、数据时是否产生隐藏的并发问题,如内存泄漏、线程锁、资源争用问题,几乎所有的性能测试都会涉及并发测试。主要目的并非是为了获得性能指标,而是为了发现并引起的问题。
5.疲劳测试
通过让软件在一定访问量情况下长时间运行,以检验系统性能在多长时间会出现明显下降,主要目的是验证系统运行的可靠性。
6.数据量测试
通过让软件在不同的数据量情况下运行,以检测系统性能在各种数据量情况下的表现。主要目的是找到支持系统正常工作的数据量权限。
7.配置测试
配置测试主要是针对硬件而言,了解各种不同环境对系统性能影响的程度,从而找到系统各项资源的最优分配原则。主要目的是了解各种不同因素对系统性能影响的程度,从而判断出最值得进行的调优操作。
为什么学习性能测试?
门槛相对较低:比起自动化测试的纯写代码,性能测试入门门槛相对较低,是大部分转型和提升的朋友首选的切入口。
快速完善知识体系:优秀的性能测试工程师需要学习数据库、架构、工具等多方面的知识,能帮助大家完善整体的知识体系,提升综合竞争力。
市场大:性能测试工程师目前尚未饱和,处于发展中,机遇和挑战并存,谁能提前切入该领域谁就占领一席之地,你懂得!(单纯的功能测试以后危机会越来越严重)
使用LoadRunner怎么进行性能测试
1、明确压力点,根据压力点设计多少种场景组合
2、把文档(包括多少种场景组合、场景与场景组合条件的对应表)写好
3、如果监测UNIX机器,在被监测的机器需要安装监测Unix的进程
4、让开发人员帮助我们准备测试数据或他们写相关的文档我们来准备数据
5、让开发人员做一个恢复数据的脚本,以便于我们每次测试的时候都能够有一个相同的环境
6、针对每一个模块包括四个子文件夹:如模块A下包括“脚本”“场景”“结果”“图表” 四个子文件夹,每个子文件夹储存对应的文件,如下表所示
其中:结果名“1场景”是在场景中的“Results Setting”中设置的,具体的设置见“建立场景”部分,这里也可以有另外一种方法:在打开模板设置,如下:
选中“Automatically save the session as:”并且在“%ResultDir%”后面填写你想保存的文件名,当你打开某个lrr文件时,系统自动在当前目录中生成一个文件保存分析图表,如下图所示:
生成测试脚本
1、 把登陆部分放到“vuser_init”部分,把需要测试的内容部分放到“Action”部分执行;但是如果是模拟多个用户登陆系统,则要把登陆部分放到Action部分来实现
2、 录制脚本后,想查询某个函数的原型,按“F1”键
3、 确认脚本中哪些参数是需要进行参数化的(最好能可以和开发人员一起确认)
4、 在脚本参数化时把函数web_submit_data()中的ITEMDATA后面的数据参数化,因为这些数据是传递给服务器的,当然也可以把一个函数中的所有相同变量都替换掉
5、 脚本中无用的部分用“/*”“*/”“//”注释掉,但最好不要删除
6、 调试脚本遵循以下原则:
确认在VU里SUSI(单用户单循环次数single user single iteration)
确认在VU里SUMI(单用户多循环次数single user multi iteration)
确认在controller中MUSI(多用户单循环次数multi user single iteration)
确认在controller中MUMI(多用户多循环次数 multi user multi iteration)
7、 事务的名称取的有意义便于事务之间的区分,把所有的事务名都记录在一起,便于在测试结果概要中区分它们,这要写成一个表:某次测试有哪些模块,每个模块中有哪些事务(见对应的“关系表”)
8、 在 “Parameter List”中可以选择参数类型“Random Number”,使某一个参数取设定的范围内的随机值
建立场景
1、 把场景名称编号,并制定出一份场景名称和场景条件组合的对应表。比如,场景m对应于“某一模块_xx个vu _分z台machine”(见“关系表”中的例子)
2、 根据上面的对应表把场景设置好,需要设置的要素如下:总体多少个用户、分多少个组、每个组有多少个用户、分几台机器运行、每个脚本迭代多少次、是否回放think time时间、检查Parameter List中每个参数设置是否正确、参数从表中取值间隔是否正确、是否选中“Initialize all Vusers before Run”
3、 测试结果应该保存为“m场景0,m场景1,…”
4、 把虚拟用户分散到几台机器上和在一台机器上面都要进行测试,因为有可以效果不同
5、 场景中如果有需要改动的地方,必须新建一个场景(建议使用“另存为”,然后再修改结果文件名,再选择相应的脚本),并把场景按顺序编号,先维护好场景与场景组合条件的对应表,以便以后的查找,并且在结果 “Results Setting”中设置的结果名与场景名相同。建议在“Results Setting”中选中“Automatically create a results directory for each scenario executeon”让它每次自动累加,不建议选中“Automatically overwrite existing results directory without prompting for confirmation”,因为我们不要覆盖掉以前的测试结果,把它保存下来以便有个根据。
6、 需要注意的地方:当在“Parameter List”中的“Select next row”选中“Unique”时,如果再在“Edit Schedule\Schedule by Scenario\Duration”中选中第二项“Run for XX after the ramp up has been completed”时系统就会报错,提示“Unique”类型不相符。
7、 在“Run-time Setting”设置中,“General”中的“Pacing”非常有用,可以设置每次迭代之间相隔多少时间,也可以是随机的取值
8、 建议:把“Parameter List”和“Run-time Setting”中的所有设置都搞熟悉,这样便于以后对脚本和场景进行设置
9、 设计“Parameter List”时的小技巧:即在“Allocate X values for each Vuser”时,尽量 把它的间隔在数据容许的范围内取大些,这样可以做从一次迭代到最大值迭代,而且对脚本没有什么影响
10、当一个脚本中有多个事务,在事务前面增加集合点时需要一点技巧。或者我们把脚本复制几个,或者我这样做:测试前面的事务的压力时,把后面的事务前的集合点设置为不激活状态;在测试后面的事务的压力时,把前面的事务的集合点设置为不激活状态,另外最好不选中Initialize all Vusers before Run,具体参见Controller中的“Scenario/Rendezvous”,及用户手册(按F1)
11、把持续时间从最后60秒改为整个场景的时间,右键单击某个图,选择“Configue”,修改Graph Time即可
12、每次从一个场景修改后保存为另一个场景时别忘记把结果保存文件名修改相对应的文件名。在设置结果保存文件名时有一个技巧:如果你打开这个窗口时,点击确定则系统会
默认以“4场景2”为基点向后加“4场景20”“4场景21”等等,但是如果你把结果文件名后面的数据去掉,改为“4场景”,点击确定后,系统会自动搜索是以“4场景”开头的文件名,并在它的后面继续增加,比如把它改为“4场景”时,下次结果保存在“4场景3”中。而且他在搜索的时候搜索以“4场景”开头的文件名,从0开始,有的话就不取代而跳过,没有的话就取代。
运行场景
1、 运行场景前需要注意的事项:每个组的虚拟用户数、迭代次数、think time、参数化时的取值间隔、执行恢复数据的脚本、确认虚拟机的LoadRunner Agent Service打开
2、 如果监测Unix,运行场景前需要启动监测Unix进程,启动的命令“rpc.rstatd”、查看这个进程是否启动的命令“rpcinfo –p”
3、 运行前使Generator机器处理Ready状态
4、 确认被监测的机器已经连接上去,并且添加自己所需要的计数器
5、 运行之前一定要确认系统中压力点的数据量是多少
6、 确认以上都正确时再运行测试场景
监视场景
打开 “Passed Transactions”或“Failed Transactions”,可以随时观察到事务的运行状态
分析测试结果
1、 打开Analysis后,把经过数据处理的结果图表保存到“图表”文件夹,并且文件名和场景名、结果名相同,这样便于以后的查阅。也可以省去每次进行数据处理的时间。
2、 可以通过点击界面上的 “View Run Time Setting”可以看到此场景运行时的一些场景设置
3、 在关联图表时可以自动调节每个元素的比例,点击右键,选择 即可
4、 每次测试结束后确认所做的操作是正确的,确认正确后再分析结果
5、 在结果文件夹中为每个场景建立一个文档,把每次运行时的情况记录下来以便于写测试报告,尤其运行错误的原因记录下来,并把开发人员所做的修改也记录下来以便知道开发人员做了些什么修改
6、 在分析运行结果时可以把几个结果合在一起进行比较,打开如下“Cross with Result…”
组合测试术语:Pairwise/All-Pairs、OATS(Orthogonal Array Testing Strategy)
组合测试(Combinatorial Test)是一种黑盒测试用例生成方法,主要针对多输入参数组合场景。
目前业界较流行的两种组合测试方法,一种是 Pairwise/All-Pairs ,即配对组合。 OATS(Orthogonal Array Testing Strategy) ,即正交表法。
Pairwise/All-Pairs ,也叫配对测试 或 结对测试,是一种软件测试的组合方法,核心在于用最少的测试用例来覆盖多个因素取值的两两组合。
配对测试示例
Pairwise 是 L. L. Thurstone 在 1927 年首先提出来的。他是美国的一位心理统计学家。 Pairwise 是基于数学统计和对传统的正交分析法进行优化后得到的产物。
Pairwise 基于如下 2 个假设:
因此, Pairwise 基于覆盖所有两因素的交互作用产生的用例集合性价比最高而产生的。
N-wise 是对 N 个因素的所有取值进行全排列组合(笛卡尔积)而生成的一组测试用例集。理论上,该测试用例集可以发现所有 N 个因素共同作用引发的缺陷。
Pairwise/All-Pairs 是 N-wise 的一个具体化实例, Pairwise/All-Pairs 实际上就是 2-wise 。
《微软软件测试之道》中,建议从 Pairwise/All-Pairs 开始测试,逐渐提高组合维度,直至 6-wise 组合测试。因为据研究表明, 6-wise 可以发现绝大多数的程序缺陷。但是,实际上随着组合维度的提升,测试用例呈指数爆炸增长,所以 Pairwise/All-Pairs 或 3-wise 比较适合实际项目。
组合数量对比
Pairwise 工具集 : http://www.pairwise.org/tools.asp
正交表查询 : https://www.york.ac.uk/depts/maths/tables/orthogonal.htm
Pairwise 工具推荐微软的 PICT (Pairwise Independent Combinatorial Testing) 。
关于组合场景的性能测试方法和组合场景的性能测试方法有哪些的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
组合场景的性能测试方法的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于组合场景的性能测试方法有哪些、组合场景的性能测试方法的信息别忘了在本站进行查找喔。
暂时没有评论,来抢沙发吧~