基于性能测试需求自动配置性能场景的方法技术

技术编号:26790699 阅读:18 留言:0更新日期:2020-12-22 17:05
本发明专利技术公开了一种基于性能测试需求自动配置性能场景的方法,包括:设计配置文件模板;构造性能场景模板;确定各参数在性能场景模板文件中的位置;构建配置文件;生成配置好的性能场景文件;本发明专利技术通过性能测试需求文档提取相关信息,填入配置文件,编写脚本将配置文件中的配置填入相应模板中就能生成已配置好的性能场景,可大大提高性能测试场景配置的效率。

【技术实现步骤摘要】
基于性能测试需求自动配置性能场景的方法
本专利技术涉及软件测试
,特别是一种基于性能测试需求自动配置性能场景的方法。
技术介绍
目前性能测试使用最为广泛的商用工具是HP公司开发的LoadRunner,同时Apache基金会支持的开源项目JMeter是使用最多的免费工具。LoadRunner是一种预测系统行为和性能的负载测试工具,通过模拟成千上万的用户实施并发负载及实时性能监测的方式来确认和查找问题。Controller组件是LoadRunner的控制中心,主要包括场景设计和场景执行两部分,该组件提供了手动设计和面向目标两种测试场景。一般情况下使用手动场景设计方法,因为能够更灵活地按照需求来设计场景模型,使场景能更好地接近用户的真实使用。手动场景设计的主要步骤包括:加载性能测试脚本到Controller组件中;通过LoadGenerators配置负载机;通过Run-timeSettings设置每个脚本的运行时配置;通过ScenarioSchedule设置方案和计划。JMeter性能原理与LoadRunner类似。采用多线程来模拟多用户,通过对线程的开启运行的控制来达到实际用户增长的复杂需求。JMeter的场景设计主要步骤包括:添加线程组(ThreadGroup);配置线程并发相关参数(ThreadProperties);如果有多个请求,为每个请求建一个线程组并配置相关参数。以上介绍的两种工具场景配置操作均在窗口界面中手工操作,十分繁琐,而且重复操作多:首先,一个性能测试场景中可能有多种不同的请求,而每个请求由于在真实场景中使用频率不同,为更加真实的模拟用户操作,需要对每个请求设置不同的并发数、时间间隔以及运行时长等;其次,同一个测试对象在不同的测试阶段,或针对不同的测试目的,也会提出不同的性能需求,因此测试场景也需要相应的进行改变,再次配置上述的内容。
技术实现思路
为解决现有技术中存在的问题,本专利技术的目的是提供一种基于性能测试需求自动配置性能场景的方法,本专利技术可大大提高性能测试场景配置的效率。为实现上述目的,本专利技术采用的技术方案是:一种基于性能测试需求自动配置性能场景的方法,包括以下步骤:S1、设计配置文件模板:罗列性能测试场景中需要配置的参数,将所述参数按一定格式存储为配置文件模板;S2、构造性能场景模板:在性能测试工具的界面中,配置罗列的所述参数并保存,作为性能场景模板文件;S3、确定各参数在性能场景模板文件中的位置:依次在性能测试工具的界面中修改所述参数并保存为比对文件,将所述比对文件以及性能场景模板文件作为文本打开,使用比较工具比较两者的不同,确定修改的参数在性能场景模板文件中的位置,并记录参数所在位置前后的文本特征,将所述文本特征作为所述配置文件模板中各参数的属性加入配置文件模板中,更新配置文件模板;S4、构建配置文件:根据性能测试需求设计性能场景,量化为相应的参数,并填入更新后的配置文件模板中构建配置文件;S5、生成配置好的性能场景文件:依次循环解析所述配置文件中各参数、以及各参数对应的前后文本特征,利用字符处理的方法找到对应参数所在位置,并替换性能场景模板中对应位置的参数,生成配置好的性能场景。作为本专利技术的进一步改进,性能测试场景中需要配置的参数包括:运行时的间隔时间、并发数量和运行时长。作为本专利技术的进一步改进,在步骤S1中,将所述参数组织为规范格式的配置文件模板,规范格式为json或xml。作为本专利技术的进一步改进,所述的字符处理的方法为正则匹配。作为本专利技术的进一步改进,所述性能测试工具为LoadRunner、JMeter及任何将性能测试场景保存为文本格式的性能测试工具。本专利技术的有益效果是:本专利技术利用LoadRunner的场景配置文件.lrs和Jmeter的.jmx文件可以以文本文件的方式打开,在其界面上进行的所有配置均可以通过修改这个文本文件的内容达到同样的目的;因此通过性能测试需求文档提取相关信息,填入配置文件,编写脚本将配置文件中的配置填入相应模板中就能生成已配置好的性能场景,可大大提高性能测试场景配置的效率。附图说明图1为本专利技术实施例的流程框图。具体实施方式下面结合附图对本专利技术的实施例进行详细说明。实施例如图1所示,本实施例旨在提高性能测试场景配置的效率,提出一种基于性能测试需求自动配置性能场景的方法,本实施例以自动配置LoadRunnerController,编程语言使用python3,配置文件格式采用json为例进行详细说明,具体包括以下步骤:S1、设计配置文件模板:S11、罗列性能测试场景中需要配置的参数(如:性能测试脚本路径、每个脚本运行时的间隔时间、每个脚本的并发数量等);S12、将上述参数按层级关系组织为json格式的配置文件模板;S2、构造Controller模板:S21、在LoadRunner的Controller界面中,配置S11中所罗列的所有相关参数;S22、保存S21所配置的.lrs文件作为Controller模板文件;S3、确定各参数在Controller模板文件中的位置:S31、依次修改S11所述参数,存为另一个.lrs文件;S32、将S31的.lrs文件与S2中所述的Controller模板文件作为文本打开,使用比较工具(如:BeyondCompare)比较两者的不同,确定S31所修改参数在Controller模板文件中的位置;S33、记录S32所确认的参数所在位置前后的文本特征,以正则表达式的方式存储;S34、将S33所述正则表达式作为每个参数的属性添加到S12所述的json格式的配置文件模板中,更新为更完善的配置文件模板;S4、构建配置文件:S41、根据性能测试需求(如:支持至少50个用户并发访问数据库、每秒访问数据库的请求数至少100等)设计性能场景,量化为相应的参数(如:数据库脚本的并发量为50、数据库脚本运行时的间隔时间为0.4s等);S42、将S41所得参数填入S34所完善的配置文件模板中构建配置文件;S5、生成配置好的性能场景文件:S51、读入S2所构造的Controller模板;S52、依次循环解析S4所述配置文件中各参数值,以及表示各参数位置对应的正则表达式;S53、通过python的re库中的sub函数,用S52中解析出的正则表达式定位对应参数在S51读入的Controller模板中的位置,并用S52中读入的参数值替换原模板中的值;S54、循环执行步骤S52与S53,至直至所有参数替换完成,即生成了配置好的性能场景。以上所述实施例仅表达了本专利技术的具体实施方式,其描述较为具体和详细,但并不能因此而理解为对本专利技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本专利技术构思的前提下,还本文档来自技高网
...

【技术保护点】
1.一种基于性能测试需求自动配置性能场景的方法,其特征在于,包括以下步骤:/nS1、设计配置文件模板:罗列性能测试场景中需要配置的参数,将所述参数按一定格式存储为配置文件模板;/nS2、构造性能场景模板:在性能测试工具的界面中,配置罗列的所述参数并保存,作为性能场景模板文件;/nS3、确定各参数在性能场景模板文件中的位置:依次在性能测试工具的界面中修改所述参数并保存为比对文件,将所述比对文件以及性能场景模板文件作为文本打开,使用比较工具比较两者的不同,确定修改的参数在性能场景模板文件中的位置,并记录参数所在位置前后的文本特征,将所述文本特征作为所述配置文件模板中各参数的属性加入配置文件模板中,更新配置文件模板;/nS4、构建配置文件:根据性能测试需求设计性能场景,量化为相应的参数,并填入更新后的配置文件模板中构建配置文件;/nS5、生成配置好的性能场景文件:依次循环解析所述配置文件中各参数、以及各参数对应的前后文本特征,利用字符处理的方法找到对应参数所在位置,并替换性能场景模板中对应位置的参数,生成配置好的性能场景。/n

【技术特征摘要】
1.一种基于性能测试需求自动配置性能场景的方法,其特征在于,包括以下步骤:
S1、设计配置文件模板:罗列性能测试场景中需要配置的参数,将所述参数按一定格式存储为配置文件模板;
S2、构造性能场景模板:在性能测试工具的界面中,配置罗列的所述参数并保存,作为性能场景模板文件;
S3、确定各参数在性能场景模板文件中的位置:依次在性能测试工具的界面中修改所述参数并保存为比对文件,将所述比对文件以及性能场景模板文件作为文本打开,使用比较工具比较两者的不同,确定修改的参数在性能场景模板文件中的位置,并记录参数所在位置前后的文本特征,将所述文本特征作为所述配置文件模板中各参数的属性加入配置文件模板中,更新配置文件模板;
S4、构建配置文件:根据性能测试需求设计性能场景,量化为相应的参数,并填入更新后的配置文件模板中构建配置文件;
S5、生成配置好的性能场景文件:依次循环解析所述配置文件中各参数、以...

【专利技术属性】
技术研发人员:张荣芸
申请(专利权)人:四川长虹电器股份有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1