LoadRunner在中间件测试中的使用方法与研究

合集下载

测试工具LoadRunner使用思路方法(转)

测试工具LoadRunner使用思路方法(转)

loadrunner使用方法:测试工具LoadRunner使用思路方法LoadRunner: LoadRunner是种预测系统行为和性能工业标准级负载测试工具通过模拟上千万用户实施并发负载及实时性能监测方式来确认和查找问题10字真言:虚拟用户真实负载VuGen: 脚本录制工具Controller:场景控制器Analysis: 结果分析工具经验整理总结1.测试需求及目标a.性能测试第步工作就是要“明确客户需求“这阶段我称的为命题作文作文如果跑题了即使长篇大论也无济于事b.这阶段参和者包括需求提出人员和测试人员由于性能测试般没有需求变更情况要求需求人员定是比较权威c.般来说项目级性能测试客户自身会根据系统使用者范围(总用户数或在线用户数)系统使用环境(集中或分布)高峰作业量(并发用户)提出明确要求测试人员也可以提出些供参考经验值作为预期目标d.如果系统测试属于产品测试那么除了经验值目标外还应包含产品比对这也是很多产品性能测试采用般模式e.性能测试需求大致分为两种:种是压力需求要求××场景××并发用户下平均响应时间小于可接受值;另种是负载需求要求××场景响应时间在××内支持××用户数2种测试思路方法略有区别但都能够通过测试工具简单操作完成切换2.测试设计a.测试设计原则:从简单到复杂b.测试设计主要是测试人员根据测试目标准备测试方案和选取案例c.对于项目级测试在测试需求中般都会进行相关介绍说明大多数情况下是将系统中关键业务处理场景作为性能测试案例d. 考虑到减少测试复杂性可以对业务场景中测试案例进行进步加工,比如实际场景中可能在次请求中包含多次子操作(既查询又修改)那么可以将这些操作拆分这样更有利于分析结果数据同时可以抛开业务操作功能的外消耗(比如有些复杂页面包含很多查询结果可以拆开分别进行测试或者页面中包含较多图片或flash也可以剥离出去当然也可以利用测试工具中功能达到类似效果)3.测试环境a.测试环境=硬件环境+软件Software环境b.测试环境在整个性能测试中是个非常重要工作在测试报告中测试环境是最客观指标同时也是整个性能测试结果基础c.测试环境包括网络环境、硬件环境和软件Software环境测试服务器最好在同个网段硬软件Software最好和真实环境致说起来简单做起来难在搭建环境过程中定要自己检查尤其是软件Software环境涉及操作系统、应用服务器、数据服务器更要做到完全致性能测试数据都是上万级结果数据往往相差都是毫秒级个小小索引都会导致极大差异4.脚本录制和测试工具a.环境搭建好的后可以开始录制脚本录制脚本使用LoadRunner Virtual User Genorator工具具体使用思路方法网上有很多介绍我体会还是很容易上手下面介绍些经验和体会b.事务设置由于实际业务可能包括多个子操作新增、查询、修改、删除可以考虑使用事务分别进行监控事务使用也很简单loadrunner菜单栏提供加入事务功能c.参数变量和使用在测试中我们可能需要录入个随机数据或者个枚举顺序数据比如业务场景中数据主键可能个日期+唯序列码同时业务场景中主键是由系统(java代码)而不是数据库生成这时候可以使用LoadRunner提供参数来实现参数被定义来自个文件、个随机数或者是个顺序枚举我仅尝试了后两种(实际操作中定义参数后可以使用将参数和日期拼接成主键值)d.Loadrunner提供系列脚本我使用其中部分感觉还是很好用包括日志输出、数据转换、页面交互(以Web_***开头)尤其是在作删除事务时候由于需要取得新增数据主键可以考虑在新增数据后把主键值保存在页面loadrunner会在请求时候从返回数据中得到这个主键值并保存在脚本变量中删除时候可以使用这个变量来进行删除工作使用web_reg_save_param 可以达到这个目比如web_reg_save_param(”userid”,”LB=ABC”,”RB=EFG”,LAST)就是把返回页面中正则匹配ABC***EFG中***保存在userid变量中”LB”标志数据左边界同时”RB”标志数据右边界使用时同时要注意这个相当于个过滤器filter所以定要把它放在发出请求事务前面如果页面返回数据比较多可以设置buffer值来增大返回数据容量e.所有使用方法都可以在工具提供帮助文件中找到个人体会比使用Google要好f.即使是测试本地系统录制脚本目标URL不要设置为http://localhost:7073/*.do或者http: //127.0.0.1:7073/*.do,而应该使用真实本地ipg.运行结束后LoadRunner会弹出个测试结果窗口,同时运行时页面还可以通过在LoadRimmer User Generator中切换察看树形视图进行检查h.通过检查数据库可以确认脚本是否按照预期进行了正确数据操作i.在做关联时候应该从数据第次出现位置的前做关联否则就会出现找不到数据情况5.测试计划及测试工具a.脚本调试完毕我们进入正式测试工作开始使用LoadRunner控制台进行详细测试计划编排和设置b.有关如何使用控制台大家可以找到很多参考我这里仅列出几点体会:i.运行测试的前定要先进行脚本验证保证在无并发用户情况下脚本能正确执行。

LoadRunner使用说明

LoadRunner使用说明

LoadRunner使用说明一、概述LAODRUNNER8.1 作为专业的性能测试工具,通过模拟成千上万的用户对被测应用进行操作和请求,在实验室环境中精确重现生产环境中任意可能出现的业务压力,然后通过在测试过程中获取的信息和数据来确认和查找软件的性能问题,分析性能瓶颈.LOADRUNNER提供了三个大主要模块,这三个模块既可以作为独立的工具分别完成各自的功能,又可以作为LOADRUNNER的一部分彼此衔接,与其他模块共同完成软件性能的整体测试.这三大模块主要是:Ø VITUAL USER GENERATOR--------用于录制脚本ØMERCURY LOADRUNNER CONTROLLER---------用于创建,运行和监视场景ØMERCURY LOADRUNNER ANALYSIS--------用于分析测试结果;二、LOADRUNNER8.1 安装 LAODRUNNER8.安装过程比较简单,只需按系统的提示一步一步操作就可以了,这里对安装过程中的一些要点进行简要的说明.Ø安装类型安装盘内有两个盘片,MERCURY LOADRUNNER8.1和MECURY LOADRUNNER 8.0ADD-INS.前者包括了LR安装程序及常用组件,后者全部为组件,各组件的作用在安装盘中都有详细的提示.Ø LICENSE 类型LICENSE类型说明如下:PERMANENT 永不过期的LICENSE;TIME LIMITED 限定了使用的起始时间和使用周期;TEMPORARY 从安装后开始计算,限定了使用的天数;VUD-BASED 限定了虚拟用户数量PLUGGED 需要DONGLE,也就是HARDWARE KEY,DONGLE在中国被音译为“狗”,主要是防止软件被盗用Ø RPM和WEB SERVER之间的鉴权如果在安装时选择安装REMOTE PERFORMANCE MONITOR SERVER,LOADRUNNER会弹出一个要求输入用户名和密码的对话框,REMOTE PERFORMANCE MONITOR SERVER是一个远程监视场景的服务器,为测试人员提供WEB化的场景页面,用于实现多台及其通过浏览器同时在线监视场景.这里设定用户名和口令的目的主要是为了REMOTE PERFORMANCE MONITOR(RPM)和运行了IIS的WEB SERVER之间进行鉴权.在RPM安装完毕之后,只有在LOADRUNNER CONTROLLER的RPM用户配置对话框中输入指定的用户名和口令,系统才能允许进行远程监控.Ø设定LOADRUNNER GENERATOR如何登陆到CONTROLLERLOADRUNNER提供了两种方式让LOAD GENERATOR的虚拟用户登陆到CONTROLLER,n ALLOW VIRTUALUSERS TO RUN ON THIS MACHINE WITHOUT USER LOGINn MANUAL LOG IN TO THE LOAD GENERATOR MACHINE三、使用VITUAL USER GENERATOR录制开发脚本LOADRUNNER脚本的开发过程一般需要以下几个过程Ø使用LOADRUNNER的VIRTUAL USER GENERATOR录制基本的测试脚本;Ø根据系统需求编辑测试脚本,看能否通过,Ø在单机模式下运行脚本看能否通过,1.选择协议要想正确的选择LOADRUNNER的脚本协议,首先要从LOADRNNER的工作原理上深入理解协议的作用和意义。

Loadrunner压力测试高效稳定的测试步骤和方法

Loadrunner压力测试高效稳定的测试步骤和方法

Loadrunner压力测试高效稳定的测试步骤和方法2023年,随着互联网的高速发展,越来越多的企业开始意识到网站的性能和稳定性对于用户体验和企业品牌形象的重要性。

在这种背景下,Loadrunner压力测试成为了企业检测网站性能和稳定性的首选工具。

同时,高效稳定的测试步骤和方法也成为了企业最关心的问题之一。

Loadrunner是一款由美国Mercury公司开发的高级性能测试工具,可以模拟真实的用户行为并在压力测试环境下进行测试。

它可以对网站的各种性能指标进行测试,包括响应时间、吞吐量、并发用户数、CPU、内存等指标。

通过Loadrunner进行压力测试,可以发现网站性能瓶颈,优化网站性能,提升用户体验。

为了保证高效稳定的Loadrunner压力测试,以下是一些测试步骤和方法供参考:第一步:测试计划制定在进行Loadrunner压力测试之前,需要制定详细的测试计划。

测试计划包括测试目的、测试范围、测试策略、测试环境、测试数据等内容。

测试计划制定的目的是为了保证测试的完整性和准确性,避免出现测试遗漏或测试错误的情况。

第二步:脚本设计在进行Loadrunner压力测试之前,需要设计测试脚本。

测试脚本是模拟用户行为的程序,可以模拟用户在网站上进行的各种操作。

测试脚本的设计需要注意以下几点:1.模拟真实用户:测试脚本需要模拟真实用户行为,包括页面流程、输入数据、提交操作等。

2.设计思路清晰:测试脚本的设计需要清晰简洁,便于维护和修改。

3.避免重复测试:测试脚本的设计需要考虑避免重复测试。

第三步:测试执行在进行Loadrunner压力测试之前,需要创建测试场景并执行测试。

测试场景包括测试环境的设置、测试数据的准备、测试脚本的运行等内容。

在测试场景的执行过程中,需要注意以下几点:1.监控测试结果:测试场景的执行过程中需要监控测试结果,包括各项性能指标的数据和图表。

2.跟踪测试日志:测试场景的执行过程中需要跟踪测试日志,包括错误信息和警告信息。

loadrunner analysis 使用

loadrunner analysis 使用

LoadRunner Analysis 使用一、LoadRunner Analysis简介LoadRunner Analysis是HP公司提供的性能测试结果分析工具,用于对LoadRunner产生的测试数据进行深入分析,以评估系统的性能。

该工具能够帮助测试人员理解系统在高负载下的表现,找出瓶颈,并提供优化建议。

LoadRunner Analysis的使用对于确保系统在生产环境中的稳定性和性能至关重要。

1.1 工具特点强大的数据可视化功能:LoadRunner Analysis提供了丰富的图表和报告,以便测试人员直观地了解系统性能。

深入的瓶颈分析:通过对测试数据的深入分析,帮助定位系统瓶颈。

自动化报告生成:可以快速生成性能测试报告,提高工作效率。

1.2 适用场景LoadRunner Analysis适用于各种规模的企业和组织,尤其适用于需要进行负载和压力测试的场景。

它可以帮助测试人员快速定位和解决性能问题,提高系统的稳定性和效率。

二、LoadRunner Analysis使用方法2.1 导入测试数据首先,需要将LoadRunner产生的测试数据导入到LoadRunner Analysis中。

可以通过工具自带的导入功能或手动指定数据路径来完成。

2.2 创建分析计划在导入数据后,需要创建一个分析计划,以定义需要分析的性能指标和目标。

这有助于测试人员聚焦于关键问题,提高分析效率。

2.3 配置图表和报告根据分析计划,可以配置各种图表和报告来展示性能数据。

例如,可以通过创建图表来显示响应时间、吞吐量等关键指标的变化趋势。

2.4 运行分析在配置完图表和报告后,可以运行分析计划,LoadRunner Analysis会自动对数据进行处理和分析,并生成相应的图表和报告。

2.5 问题诊断和优化建议基于分析结果,测试人员可以找出系统性能的瓶颈,并提出优化建议。

LoadRunner Analysis提供了丰富的诊断工具和报告,可以帮助测试人员快速定位问题并制定相应的解决方案。

LoadRunner测试工具的使用

LoadRunner测试工具的使用

预习报告预习报告一 实验目的实验目的1.了解LoadRunner 的主要功能和使用方法;的主要功能和使用方法;2.掌握LoadRunner 的测试流程;的测试流程;二 实验内容实验内容使用LoadRunner 模拟30个并发用户,对web 应用程序mercuryWebTours 进行性能测试。

行性能测试。

1.录制脚本.录制脚本新建一个空白脚本,选择Web(HTTP/HTML)协议,在开始录制窗口中设置URL 地址:http://localhost:1080/MercuryWebTours/,开始录制。

,开始录制。

2.插入事务,完善脚本;.插入事务,完善脚本;3.创建场景.创建场景在编辑计划中设置加载的方式,使用本地计算机为负载生成器,并连接。

4.运行场景;.运行场景;5.分析场景。

.分析场景。

三 实验要求实验要求按照要求录制脚本、按照要求录制脚本、插入事务,插入事务,插入事务,完善脚本、完善脚本、完善脚本、创建场景、创建场景、创建场景、运行场景、运行场景、运行场景、分析场景。

分析场景。

分析可能的瓶颈。

分析可能的瓶颈。

实验报告实验报告一 实验目的实验目的1.了解LoadRunner 的主要功能和使用方法;的主要功能和使用方法;2.掌握LoadRunner 的测试流程;的测试流程;二 实验内容实验内容使用LoadRunner 模拟30个并发用户,对web 应用程序mercuryWebTours 进行性能测试。

行性能测试。

1.录制脚本.录制脚本新建一个空白脚本,选择Web(HTTP/HTML)协议,在开始录制窗口中设置URL 地址:http://localhost:1080/MercuryWebTours/,开始录制。

,开始录制。

2.插入事务,完善脚本;.插入事务,完善脚本;3.创建场景.创建场景在编辑计划中设置加载的方式,使用本地计算机为负载生成器,并连接。

4.运行场景;.运行场景;5.分析场景。

LoadRunner性能测试工具使用

LoadRunner性能测试工具使用

•性能测试定义•性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。

•性能测试包括负载测试和压力测试。

•负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。

•压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。

•性能测试工具LoadRunner简介⏹LoadRunner是Mercury (HP)公司开发的一套预测系统行为和性能的工业标准级负载测试工具⏹用于测试应用程序的性能⏹在可控制的峰值负载条件下测试系统⏹通过LoadRunner,可以在可控制的峰值负载条件下测试系统,以隔离和标识潜在的客户端、网络和服务器瓶颈。

要生成负载,LoadRunner 将运行分布在网络中的数千个虚拟用户。

通过使用最少的硬件资源,这些虚拟用户提供一致的、可重复并可度量的负载,像实际用户一样使用您的应用程序。

LoadRunner 深入的报告和图可以提供评估应用程序性能所需的信息•使用LoadRunner做性能测试的好处如果不使用LoadRunner工具做性能测试的话,要对一个程序做性测试需做以下步骤:1、编写一个测试程序,而且该程序还必须是多线程的以便达到同时多用访问的效果2、运行测试程序,程序运行时通过打日志或其它方法来收集运行数,而且该程序还只能运行在一台机器上,如要联机运行并收集日志数据则需更复杂的编程3、测试程序完成后收集运行所产生的数据,通过复杂的计算得到一组数据来表明程序的性能。

通过这些数据不能很直观的发现程序的性能瓶颈点如使用LoadRunner来做性能测试则以上的问题都将由LoadRunner来替你解决。

你只用关心要测试的程序脚本该怎么写。

写完脚本后通过控制台可将该脚本分配给多个线程来运程,如要运行的线程有上千个,一台机器不能满足测试要求。

可部署多台机器来运行脚本,这里的部署只是在要运行的机器上装一个LoadRunner负载程序,然后用控制台连接起来。

LoadRunner11使用及测试资料

Loadrunner11简介随着软件开发技术不断发展和日益成熟,现代应用程序也越来越复杂。

应用程序可以利用数十个甚至数百个组件完成以前用纸或人工完成的工作。

在业务处理过程中,应用程序复杂度与潜在故障点数目之间有直接的关联。

这使得找出问题根本原因变得越来越困难。

软件惊人的变化速度和激增的复杂性为软件开发过程带来了巨大的风险。

严格的性能测试是量化和减少这种风险最常见的策略。

使用HP LoadRunner 进行自动化负载测试是应用程序部署过程中一个非常重要的环。

1.1为什么要实现性能自动化测试自动化性能测试是利用产品、人员和流程来降低应用程序、升级程序或补丁程序部署风险的一种手段。

自动化性能测试的核心是向预部署系统施加工作负载,同时评估系统性能和最终用户体验。

一次组织合理的性能测试可以让用户清楚以下几点:➢应用程序对目标用户的响应是否足够迅速?➢应用程序是否能够游刃有余地处理预期用户负载?➢应用程序是否能够处理业务所需的事务数?➢在预期和非预期用户负载下应用程序是否稳定?➢是否能够确保用户在使用此应用程序时感到满意?通过回答这些问题,自动化性能测试可以量化业务状况的更改所带来的影响。

这反过来也可以让用户清楚部署此应用程序的风险。

有效的自动化性能测试可帮助您做出更加明智的发行决定,防止发行的应用程序带来系统停机和可用性问题。

1.2 LoadRunner 包含哪些组件LoadRunner 包含以下组件:➢Virtual User Generator 录制最终用户业务流程并创建自动化性能测试脚本,即Vuser 脚本。

➢Controller 组织、驱动、管理并监控负载测试。

➢Load Generator 通过运行Vuser 产生负载。

➢Analysis 用于查看、剖析和比较性能结果。

➢Launcher 使您可以从单个访问点访问所有LoadRunner 组件。

1.3了解LoadRunner 术语场景场景文件根据性能要求定义每次测试期间发生的事件。

loadrunner测试方案

LoadRunner测试方案1. 简介本文档旨在提供一个完整的LoadRunner测试方案,以帮助测试团队有效地使用LoadRunner工具来进行性能测试。

LoadRunner是一款流行的性能测试工具,可以模拟多种负载条件下的系统性能,并提供全面的测试分析和报告。

本测试方案将包括以下内容:•测试目标•测试环境•测试场景设计•脚本录制与修改•脚本参数化•调试与验证•性能测试执行•测试结果分析与报告2. 测试目标在开始测试前,需要明确测试目标以及预期的性能指标。

这些目标可以包括:•系统的最大并发用户数•系统的吞吐量和响应时间•系统在高负载条件下的稳定性•系统在长时间运行下的资源利用率•系统在异常场景下的表现和恢复能力3. 测试环境为了进行性能测试,我们需要搭建环境来模拟用户的行为。

测试环境应包括以下组件:•LoadRunner工具:安装并配置LoadRunner的控制台和Load Generator。

•目标系统:需要对目标系统进行调整和配置,以适应负载测试。

•数据库服务器:如果系统有数据库依赖,需要为数据库服务器提供相应的负载。

4. 测试场景设计在设计测试场景之前,需要对系统的使用情况进行调研和分析。

根据用户行为和系统功能,设计不同的测试场景来模拟实际的使用情况。

例如,可以设计以下场景:1.登录场景:模拟多个用户同时登录系统,并记录登录时间和成功率。

2.浏览场景:模拟用户按照不同的操作路径浏览系统,并记录页面加载时间。

3.添加场景:模拟用户同时向系统添加大量的数据,并记录添加的吞吐量和响应时间。

4.查询场景:模拟用户同时发起大量查询请求,并记录查询的吞吐量和响应时间。

根据测试目标,可以选择不同的场景进行测试。

5. 脚本录制与修改使用LoadRunner的VUGen工具来进行脚本录制和修改。

VUGen可以自动记录用户的操作,并生成相应的脚本。

在录制完成后,需要对脚本进行修改,以确保脚本的可靠性和准确性。

性能测试工具LoadRunner的工作机理及关键技术研究

几种 :
维普资讯
12 00
1 2 1 压 力 测 试 . .



术与Biblioteka 工程 7 卷
测试 的手 段 :
压力测试是指逐步增加系统负载, 测试 系统在
() 1 提供产生压力数据的手段 ; () 2 能够对后台系统进行监控 ; () 3 对压力数据能够进行分析 , 快速找出被测
需要专家有 专 门的技能 和多年 的经验。对于整个 I T系统的调优 , 其复杂程度更是急剧增加 。因此 I T 系统性能测试调优是一个复杂 的项 目, 需要拥有各 种专门技能 的专 家来 完成 。这些 专家包括 :操作 系统专家 、 网络 专家 、 据库 专 家、 数 应用 服务 器专 家、 应用软件和业务专家等 。

提高 , 每个环节的性能都需要优化 。在这样 的 I T系 统 中, 每个环节都是一个 复杂 的子 系统 , 其性能 对
调优都是一门专 门的技能。 r l 数据库 的调优就 Oa e c
20 0 6年 1 月 8日收到 1
在性能测试 的执行 中, 可以根据具体 的性能指
标, 分解为多种子测试 , 根据其关 系, 可以在不 同的 时间和空 间 内执 行。这 些 子 测 试 通 常 包括 以下
维普资讯
第 7卷
第 6期
20 0 7年 3月








V0 . No 6 17 .
Ma .2 0 r 07
17 -8 9 20 1 -0 90 6 11 1 ( 0 7 6 1 1 -4
S i n e T c n lg n n i e rn c e c e h oo y a d E gn e i g

LoadRunner性能测试工具使用指导书

LoadRunner性能测试工具使用指导书拟制: 审核: 审核: 批准:日期:日期:日期:日期:LoadRunner性能测试工具使用指导书目录1 概述 ........................................................................... ............................................................... 3 2 使用指导 ........................................................................... ........................................................ 3 2.1 安装LoadRunner ................................................................... ............................................. 3 2.2 使用LoadRunner 对Web 应用进行负载/压力测试 ............................................................4 2.2.1 制定测试方案: .......................................................................... ..................................... 5 2.2.2 制创建虚拟用户脚本: .......................................................................... .......................... 5 2.2.3 创建运行场景: .......................................................................... ................................... 27 2.2.4 利用Analysis 分析结果: .......................................................................... .................... 39 2.3 经常遇到的问题 ........................................................................... ..................................... 49 2.3.1 Controller的问题 ........................................................................... .............................. 49 2.3.2 计数器的问题 ........................................................................... .. (50)第2页,共50页LoadRunner性能测试工具使用指导书1 概述LoadRunner 是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机工程应用技术本栏目责任编辑:梁书LoadRunner 在中间件测试中的使用方法与研究肖洋1,曾明2(1.191404部队河北秦皇岛066000;2.武警重庆总队第八支队,重庆400000)摘要:中间件是介于客户端和服务器端的一类轻量级软件,难以通过常规测试方法对其进行需求验证,本文通过某型中间件测试项目实践的归纳总结,结合理论分析和测评工具LoadRunner 的辅助检验,得出一套中间件的基本测试思路和方法,并已在同类软件测试中进行推广应用,取得良好的测试效果,有效提升测试质量和效率,属于测试方法上的探索与创新。

关键词:中间件;软件测试;LoadRunner ;C++;C#中图分类号:TP311文献标识码:A文章编号:1009-3044(2016)35-0273-031引言中间件是一种独立的系统软件或者服务程序,位于操作系统、网络和数据库之上而在应用软件之下。

分布式应用软件可以借助中间件在不同的技术之间交换资源,中间件多数应用于C/S (Client/Server )、B/S (Browser/Server )以及无服务器节点的三类分布式软件之中。

LoadRunner 是一种预测系统行为和性能的负载测试工具,通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题。

在分布式系统测试中,LoadRunner 只适用于没有中间件的B/S 软件,对于有中间件的B/S 软件,在工具使用时一般将中间件视作服务器程序的一部分,测试结果是对服务器和中间件检测的共同结果而不单指中间件。

而C/S 软件一般不使用Load⁃Runner 进行测试,因为其操作很难被录制完整,目前主要有两种方法测试C/S 类软件,一种方法是靠功能测试的方法来检验软件的性能、强度等核心指标,比如同时加载运行多个客户端程序,另一种方法是在调用中间件的代码前后插桩获取时间,通过多次调用取均值等方式进行考量,但是这两种方法都很难说明中间件在多用户并发下的处理能力,掩盖了中间件的真实效能,只能是一个粗略甚至是错误的评价(比如由于其他原因造成10毫秒内数据不能被显示)。

本文通过长期的资料查询和自动化测试工具使用研究,立足现有工具LoadRunner 的基础上,采用测试+开发的模式,总结出一套单独测试中间件类软件的方法,可适用于B/S 、C/S 以及无服务器模式下中间件的性能、强度等测试。

2中间件测试中的分析实践2.1中间件的简介中间件是普遍是软件系统的核心组成部分,基本都要求高性能、实时、低延迟,本次测试的中间件软件结构如图1所示:图1中间件结构示意图中间件采用C++语言开发,底层采用实时CORBA 作为通信基础,是一个标准动态链接库(DLL)。

该软件支持对象、消息和数据流三种模式的数据传输,能够实现无服务器节点、分布式运行,并能够监视运行状态。

2.2LoadRunner 工作原理LoadRunner 工具主要分为三个部分。

1)Vuser 生成器Vuser 生成器用于录制测试操作,生成一个虚拟用户,虚拟用户可以模拟真实用户的各类操作,可以参数化设置,从而达到利用不同数据测试应用程序的目的,录制主要适用于Web 类的软件。

2)Controller 控制器Controller 控制器属于LoadRunner 上的核心部件,可以利用Vuser 生成器虚拟的用户,建立一个多用户的测试方案,可以利用各类参数进行并发设置,从而达到持续且循环的负载测试。

同时,Controller 可以实时监控应用软件的运行性能。

3)Analyzer 分析器Analyzer 分析器主要用于获取并发测试后在Vuser 生成器中设定的参数值,以及应用软件的运行性能分析。

简而言之,LoadRunner 通过Vuser 录制一个用户的操作,Controller 利用参数化,模拟多个不同的用户同时并发操作,整个软件的多个指标可以在Analyzer 中量化得出。

2.3测试方法的分析与设计从2.1中得知,中间件是一种无服务器节点的中间件,整个收稿日期:2016-11-05273DOI:10.14004/ki.ckt.2016.5008本栏目责任编辑:梁书计算机工程应用技术Computer Knowledge and Technology 电脑知识与技术第12卷第35期(2016年12月)软件系统的运行模式如图2所示。

图2系统运行概图各类平台可以通过中间件加入或者退出系统。

按照中间件的某项要求,整个系统中至少支持255个以上的中间件可以同时运行,常规测试方法无法应对如此大的并发要求检查,而LoadRunner 无法录制这类无服务器节点软件的各类操作,第一步就不可行。

但是由于其Controller 在并发控制上的强大功能,只有寻找一种方法,既能避开C/S 软件行为不好录制模拟的缺点,又能使用其大规模并发控制的优势,这是整个测试方法的关键。

如果可行,则能够单独模拟中间件的各种行为,并能将其视作一个Vuser ,进而纳入LoadRunner 的测试方式。

经过分析,LoadRunner 可以采用标准C 语言的方式加载DLL 文件,与实装设备软件调用中间件的方式没有差异,但是LoadRunner 无法模拟中间件中回调函数的使用(C 语言不支持回调函数),该函数是中间件的核心功能,无法绕开,经过多次实践,单独开发了一个测试辅助程序,利用中间件借口,替代其回调功能,那么就可以采用直接调用中间件函数的方式完整实现其各种功能,从而解决其无法录制的问题,代码见图3。

图3中间件模拟代码片段在Controller 模拟多个中间件时,在调用中间件的过程中,发现有内存冲突的现象,并不符合实际运行环境中的一个台位一个中间件的使用情况,因此,通过设置使每个成员能够获取自己独立的进程,让中间件成员之间不会产生内存资源冲突,并通过并发集合点等功能的设置,达到检查各类性能指标的目的。

到此,整个测试方法设计完成。

2.4测试结果的验证通过将中间件以及辅助程序封装成一个Vuser ,利用Con⁃troller 并发调用,设计各类测试用例验证中间件性能、强度等指标能力,从LoadRunner 的实际表现来看,至少有以下几类软件缺陷是其它测试方法无法或者很难验证的(验证的代价过大):1)最大节点数检验中间件要求同一网络中至少支持255个中间件同时运行,在强度测试中发现软件只能支持到52个中间件的加入。

后经开发人员确认为成员管理模块设计分配的内存单位计算错误所致,而在通常使用中,一般只有十几个平台加入,该问题几乎不会被发现。

2)信息处理能力的检验中间件有多个处理能力指标,比如对象间交互事件发布/订购的帧周期≤1s(可靠传输),在性能测试中发现,在多个成员并发发送消息时,帧周期虽然满足要求,但是数据有丢失或者阻塞,这种问题在单独的代码插桩中很难被发现。

在实际中,中间件主要是协调上层软件的操作,一个操作一个消息,很难模拟出大规模用户并发消息时的场景,但是Controller 可以持续不断进行压力负载测试,从而发现其在强度测试上的问题。

3)软件算法正确性的检验由于中间件是被LoadRunner 封装成一个Vuser ,而又保留其DLL 的特性,因此可以通过一些极端方式检验某些算法的正确性,比如测试时间同步函数。

要求时间同步精度≤10ms ,经过测试发现其精度常在10ms 左右浮动,后做了1000次、2000次的时间同步,发现其数据逐步发散,显示其同步算法有问题,如图4所示,而这类缺陷,开发人员由于无法模拟出多个中间件并发的情况,很难对其进行检验。

图4时间同步测试数据统计篇幅所限,其余功能、接口等方面的测试就不再赘述。

3在C\S 系统中的应用推广实践被测系统是一个由.NET +SQL Server 开发的C/S 系统,系统要求并发用户访问数≥100个,对此一般有两种测试方法:第一种是传统的测试方法,由于LoadRunner 有直接调用exe 文件的功能,可以直接加载100个客户端,但是在测试过程中,由于100个客户端框架所占内存耗费极大,根本达不到100个用户操作系统就会崩溃,另一方面同时运行不代表同时并发,即使实现加载也不代表并发性能。

第二种就是通过2.3所述的方法来进行分析,可知测试的关键是如何将客户端封装成一个Vuser ,经过资料研究,发现可以通过.NET 的LR 插件对客户端进行二次开发,将其编译成一个可供Controller 调用的Vuser ,在二次开发中,可以将耗费资源的框架类等注释掉,调试完成后就可生成一个Vuser ,然后进行274本栏目责任编辑:梁书Computer Knowledge and Technology电脑知识与技术第12卷第35期(2016年12月)各类测试。

在Java开发的各类软件中,可以使用同样的分析方法,采用加载class的方式,实现对接口函数的调用,从而设计出一个可供Controller调用的Vuser。

4总结本文主要是从中间件测试的实践中,发现LoadRunner在测试并发性能指标时的独特优势,从而总结出一套将被测软件封装成Vuser的分析方法,再利用Controller实现多用户并发从而发现普通测试方法不易发现的问题。

本方法难度在于具体实践中各个类型软件封装的方法不一样,比如中间件编程语言有C++、C#、Java、Perl、Python等等,形式可以是DLL、COM、EXE等等,该方法大多需要编程辅助,需要熟悉各类编程语言,完全掌握有难度,但是如果能把握其中原理,遇到该类测试时知道解决思路,按照封装Vuser的思想认真进行分析研究,虽然在初期进展缓慢,在完成封装后,测试进度和测试质量都能上一个层次,对于自身技术实力的增长也有好处,是值得花费时间和精力进行研究的。

(上接第266页)在着很多的不足之处,希望在未来的学习中能够不断的加强和改善。

参考文献:[1]王丹素.民营中小企业信息化建设之我见[J].福建质量管理,2016(1).[2]姜毅.我国民营企业财务信息化建设[J].合作经济与科技, 2016(23).[3]李怡文,刘杰.中小民营企业信息化建设策略研究[J].计算机应用与软件,2016(9).[4]何卓静.民营中小企业会计信息化建设的对策[J].科技创业月刊,2015(4).275计算机工程应用技术。

相关文档
最新文档