基于LoadRunner在性能测试课程实践教学过程中的应用

2023-03-24 18:58唐滔谭凤
电脑迷 2023年21期

唐滔 谭凤

【摘  要】 随着软件技术的成熟,越来越复杂的软件系统应用于各个领域中。软件性能成为衡量软件质量的重要标准,使软件性能测试在软件测试中的地位愈发凸显。文章采用LoadRunner作为性能测试的一种常用工具,在“软件性能测试与分析”课程实践教学过程中,通过模拟用户行为、收集性能数据等方式来评估软件的性能表现,从而达到实践教学目的。

【关键词】 软件性能测试;Loadrunner;性能测试流程

一、LoadRunner性能测试研究背景

性能测试是软件开发的一个关键方面,它可以评估软件系统在不同工作负载条件下满足性能要求的能力。随着软件系统的不断进步和复杂性,对有效的性能测试方法和工具的需求变得更加突出。性能测试中常用的一个工具是LoadRunner,这是一个功能强大的软件工具,使测试人员能够模拟真实世界的用户行为并收集性能数据。LoadRunner提供了一套全面的功能和指标,可以帮助评估软件应用程序的性能、可扩展性和可靠性。在“软件性能测试与分析”课程的实践教学中,通过实践实验和模拟,学生们对复杂的性能测试有了宝贵的见解,并学会在软件开发生命周期的早期识别和解决与性能相关的问题。文章的目的是介绍将LoadRunner纳入性能测试课程的经验和结果。通过考察LoadRunner在实践教学中的有效性,旨在为教育工作者和从业者提供指导和建议,以增强他们对性能测试方法的理解和应用。文章的后续部分将深入研究性能测试过程的细节、LoadRunner的具体功能和功能,以及从课程中进行的实践练习中获得的结果。

总的来说,文章为对性能测试和LoadRunner在实际环境中的应用感兴趣的教育工作者、学生和专业人士提供了宝贵的资源。它提供了将LoadRunner集成到性能测试课程中的见解、最佳实践和经验教训,有助于开发健壮、高性能的软件应用程序。

二、Loadrunner工具的特点及优点

文章主要采用loadrunner这个工具,该工具是由Micro Focus 公司开发的一款性能测试工具,用于模拟和评估应用程序在不同负载下的性能。它可以模拟成千上万的虚拟用户,通过对应用程序施加压力,测量其性能、稳定性和可靠性。

LoadRunner的主要特点:1. 多协议支持:LoadRunner支持多种通信协议,包括Web、HTTP/HTTPS、JDBC、RPC、SMTP等,使其能够应对不同类型的应用程序;2. 虚拟用户模拟: 可以模拟大量的虚拟用户,从而能够在真实用户访问高峰期模拟出真实的负载;3. 丰富的性能指标监控: 提供全面的性能监控和分析工具,可以实时监测服务器资源利用率、响应时间、事务响应时间等性能指标;4. 脚本录制和回放:用户可以通过录制脚本来捕捉用户行为,然后进行回放以模拟真实的用户操作流程;5. 分布式测试:允许在多个地点、多个服务器上进行性能测试,以更真实的模拟用户分布和网络环境;6. 强大的报告生成:提供详细的测试报告,用于分析性能瓶颈、资源瓶颈和系统行为。其优点主要有:1. 全面的性能测试:LoadRunner提供了全面的性能测试解决方案,适用于各种应用程序和协议;2. 强大的脚本录制功能: 脚本录制和回放功能使得测试脚本的创建变得相对简单,不需要深入的编码知识;3. 细粒度的性能监控:可以监控系统的各个方面,帮助定位性能瓶颈;4. 广泛的应用:LoadRunner广泛应用于各个行业,支持多种技术和平台;5. 分布式测试:能够模拟真实世界的多地用户访问情况。

三、性能测试流程

在软件性能测试教学过程中,针对项目“在线飞机订票系统”实践,主要从以下几个方面开展软件性能测试,在教学过程中,项目团队也遵循这样的流程开展工作。具体流程如下:

1. 确定“在线飞机订票系统”性能测试的目标和范围:需要明确性能测试的具体目标,是测试系统的订票响应时间、请求吞吐量、并发用户数等性能指标,能支持多少用户在5分钟内完成多少订票业务。同时确定测试的范围,包括测试的系统环境、测试的时间范围等。2. 确定测试环境和工具:确定性能测试所需的硬件、软件环境以及测试工具,例如性能测试工具LoadRunner。3. 制订性能测试计划:根据目标和范围,制订详细的在线飞机订票系统性能测试计划,包括测试的时间的安排、测试的具体内容、测试的数据准备等。4. 设计性能测试用例:根据需求和系统特点,设计性能测试用例,包括测试场景、测试数据、预期结果等。5. 执行性能测试:按照设计的性能测试用例,使用性能测试工具进行测试,并监控系统的性能指标,记录测试数据。6. 分析测试结果:对测试数据进行分析,包括系统的响应时间、吞吐量、并发用户数等指标,找出系统性能的瓶颈和问题,并提出改进建议。7. 编写性能测试报告:根据测试结果,编写性能测试报告,包括测试的目的、测试环境、测试结果、分析和建议等内容。

四、实践过程

(一)测试业务模型

在针对项目“在线飞机订票系统”的测试执行过程中,设计到的测试业务模型如表1所示。

(二)虚拟用户运行

根据场景,启动测试,采用虚拟用户为10,在16、32、48、的时候进行逐步增加用户直到1分04秒时达到20个用户访问,然后再到6秒24分的时候进行逐步减少用户直到8分48的时候用户全部访问结束。如图1所示。

(三)Hits perSecond结果及分析

经过虚拟用户的请求,请求为每秒点击次数,即使运行场景过程中虚拟用户每秒向Web服务器提交的HTTP请数。通过它可以评估虚拟用户产生的负载量,如将其和“平均事务响应时间”图比较,可以查看点击次数对事务性能产生的影响。通过对查看“每秒点击次数”,可以判断系统是否稳定。系统点击率下降通常表明服务器的响应速度在变慢,需进一步分析,发现系统瓶颈所在。由上图不难看出:分别在1:36s、2:56s、3:28s、5:52s、7:28这五个时间点点击数最大,其他时间基本处于稳定状态。如下图2所示。

(四)性能测试简报

在执行过程中,根据上述的性能测试业务模型和流程,在监控过程中,此次测试场景设置为10个用户运行30秒,每2秒5个用户进行性能测试。其中,总的吞吐量为4149887bytes,平均吞吐量为12614bytes,总的请求量为560,平均每秒请求量为1702。从该图可以看出,登录通过10个,失败0个,行程查询通过20个,则表明参数化用户登录该系统不存在问题。如图3所示。

(五)测试结果分析

通过该项目“在线飞机订票系统”的性能测试,该系统在登录、查询的响应时间满足用户需求,在通过率100%的情况下运行问题不大,所以可以看出在系统登录、查询功能不存在问题。系统运行过程中基本正常,也说明该应用程序能够很快地响应用户的要求,能处理预期的用户负载并具有盈余能力,能处理业務所需的事务数量,在预期和非预期的用户负载下,应用程序是稳定的,用户在真正使用软件时能够积极得体验。

参考文献:

[1] 周健,曹晓龙,吴琦. Web软件性能参数自动化测试方法设计[J]. 电子设计工程,2023,31(16):112-115+120.

[2] 王刚. 软件性能云测试平台的关键技术[J]. 信息与电脑(理论版),2020,32(19):70-72.

[3] 张丽,李菊. 基于LoadRunner的性能测试实验教学改革[J]. 电脑与电信,2020(06):19-21.

[4] 王永康,张梦飞,张学钊. 软件测试在Web开发中的应用[J]. 中外企业家,2019(08):57.