论文部分内容阅读
摘要:该文对于软件的性能测试具有一定的指导意义。首先介绍了LoadRunner的性能特点,然后对其性能测试的一般流程进行描述,最后通过实际应用阐述了LoadRunner在性能测试方面的应用过程以及如何对测试结果进行分析。
关键词:LoadRunner;性能测试;负载测试
中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)07-1567-02
LoadRunner Tool for Applied Research in the Performance Test
ZHANG Feng, LIU Qing-feng, HE Ying-jie
(91413 troops,Qinhuangdao 066001,China)
Abstract: This paper with some guiding significance for the software performance testing. First LoadRunner performance characteristics, then the general process of performance testing are described, explained by the practical application of how LoadRunner performance testing process and test results are analyzed.
Key words: LoadRunner; performance testing; load testing
随着国家建设逐渐在信息化建设领域的发展,软件在国家信息化建设中的作用越来越大,在很多领域中也发挥越来越重要的作用。但是随着软件技术、方法的不断发展,虽然目前的软件功能基本满足可以使人们快速开发复杂性的应用的需求,但是随着软件应用规模也越来越大,架构越来越复杂,最终导致还会影响软件的性能而停止使用,给软件开发机构以及客户都带来了一定的损失。因此,解决软件性能的问题对世界都具有重要的现实意义。LoadRunner是目前国内性能测试领域应用最广泛的工具之一,它可以通过模拟成千上万的用户,很快地帮助用户确认和查找性能问题。
1性能测试基础知识
系统的性能是一个很大的概念,覆盖面非常广泛,对一个软件系统而言包括执行效率、资源占用、稳定性、安全性、兼容性、可扩展性、可靠性等等,性能测试是用来保证产品发布后系统的性能满足用户要求。性能测试在软件质量保证中起重要作用。
在性能测试的执行中,可以根据具体的性能指标,分解为多种子测试,根据其关系,可以在不同的时间和空间内执行。这些子测试通常包括以下幾种:
1)压力测试。压力测试是模拟实际应用的软硬件环境及用户使用过程的系统负荷,长时间或超大负荷地运行测试软件,来测试被测系统的性能、可靠性、稳定性等。
2)负载测试。负载测试是确定在各种工作负载下系统测性能,目标是测试当负载逐渐增加时,系统组成部分的响应输出项,例如通过量、响应时间、CPU负载、内存使用等如何决定系统性能(稳定性和响应)。
3)并发测试。并发性能测试是指逐渐增加并发用户数负载,直到系统的瓶颈或者不能接收的性能点,通过综合分析交易指标、资源监控指标等来确定并发性能的过程。并发性能测试是负载压力测试中的重要内容。
4)健壮性测试。健壮性是指在异常情况下,软件能够正常运行的能力,这里的异常指的是资源过少、用户数过多、突发故障等。
5)容量测试。容量测试是检验软件的能力最高能达到什么程度的测试,一般应测试到在正常情况下软件所具备的最高能力,如:响应时间或并发处理个数等能力。
2 LoadRunner简介和性能测试流程
2.1 LoadRunner简介
LoadRunner主要由Mercury虚拟用户生成器VuGen(创建脚本)、创建、管理和监控负载测试的中央控制台Mercury LoadRunner Controlle(设计和运行场景)、压力生成器LoadGenerator(模拟用户生成负载)、结果分析工具Mercury Analysis(分析场景)组成。
2.2性能测试流程
LoadRunner通常是按照图1的流程来进行性能测试的,即使在项目验收阶段启动的性能测试也不例外。不过,可能会根据项目的实际情况省略一些步骤。
图2测试体系架构图
3.2测试分析和规划
注册和登录是系统的基本功能,尤其是登录,多数用户都会使用到,因此登录功能是重点设计的测试场景,以保证用户能够正常登录访问系统。注册功能的并发用户数量较少,且仅仅是提交数据的过程,因此可以不进行测试。
单用户登录的模拟场景主要如下:1)打开首页,进入登录界面,提交登录信息;2)进入系统订票界面,进行订票操作;3)注销登录,退出系统。
为了达到测试目的,需要使用LoadRunner设计一定数量的虚拟用户并发登录系统,查看登录结果。
3.3测试脚本的录制和开发
运行LoadRunner,在录制面板上输入要录制的目标站点URL,打开网页后进行登录操作并进行录制。将登录操作定义为一个事务,在录制过程中添加事务和集合点。插入事务是为了更好地分析并发用户的操作响应时间。
如果直接用录制后的脚本创建测试场景,则所有的虚拟用户在场景运行时执行的操作将会与录制的操作完全一样,这不符合实际情况。在实际情况中,并发登录的用户是不相同的,这个时候可以使用LoadRunner的参数化功能。参数化实际就是使用参数来替换一些常量,当脚本运行时,虚拟用户使用指定数据源中的值来替换参数。在本例中,将用户名和密码参数化为“username”和“password”两个参数,然后为这两个参数指定一个数据源。
3.4场景的创建和执行
启动Controller,场景类型选择手动测试场景,设置一定数量的虚拟用户,配置测试脚本和负载生成器,使用计划生成器同时加载所有的虚拟用户并使所有的虚拟用户运行到结束。场景配置完成后就可以启动测试场景,在场景运行时可以查看用户状态和运行数据图。
3.5结果分析
运行后的虚拟用户运行情况和事物响应时间如图3、图4、图5所示。在虚拟用户运行图中,紫色线条代表正在运行的虚拟用户数,黄色线条代表已经结束的虚拟用户数,红色线条代表出错的虚拟用户数;在事物响应时间图中,棕色线条代表action事物的响应时间,紫色线条代表登录事务的响应时间。
从图3中可以看出,当虚拟用户数为20时,事务的响应时间比较小,且基本成一条直线,说明Web服务器的性能比较稳定;当虚拟用户数增加到30时,如图4所示,事务响应时间有所增加,随着测试时间的变化,事务响应时间逐渐变大,说明系统处理事务的速度逐渐变慢,服务器性能呈现下降的趋势;当虚拟用户数增加到40时,如图5所示,事务响应时间增加明显,随着测试时间的变化,事务响应时间成一条斜线,说明服务器性能有很大下降,同时有7个虚拟用户运行出错,进一步查看出错原因发现是下载资源时超时,说明Web服务器的最大并发用户数不超过40。
图4虚拟用户为30的虚拟用户运行图和事物响应时间图
图5虚拟用户为40的虚拟用户运行图和事物响应时间
4结论
性能测试对于软件的重要性不言而喻,通过性能测试,可以发现系统存在的重大缺陷和问题,指导开发人员进行改进和完善,保证软件能够安全可靠地应用于国家的信息化建设中。本文从性能测试的基础概念入手,结合实例,阐述了如何使用性能测试工具LoadRunner进行测试以及如何对测试结果进行分析。LoadRunner只是性能测试的利器之一,为了更好地进行测试,还需要学习和掌握更多性能测试方面的工具。
参考文献:
[1]柳纯录.软件评测师教程[M].北京:清华大学出版社,2005.
[2]韩明军.软件性能测试过程[J].软件工程与标准化,2007(11).
[3]桑圣洪,胡飞.性能测试工具LoadRunner的工作机理及关键技术研究[J].科学技术与工程,2007,7(6).
[4]黄茂生.分析故障数据,提高软件测试的缺陷发现率[J].电子产品可靠性与环境试验;2003(04).
[5]李怡,周国祥.基于LoadRunner的一种性能测试流程方案研究与设计[J].计算机应用研究,2009(11).
[6]侯勇,张海林.自动化测试中的关键字驱动脚本技术[J].电子科技,2006(2).
[7]刘洪波,吕贵.软件自动测试理论在图象编辑软件测试中的应用[J].桂林电子工业学院学报,2002(6).
关键词:LoadRunner;性能测试;负载测试
中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)07-1567-02
LoadRunner Tool for Applied Research in the Performance Test
ZHANG Feng, LIU Qing-feng, HE Ying-jie
(91413 troops,Qinhuangdao 066001,China)
Abstract: This paper with some guiding significance for the software performance testing. First LoadRunner performance characteristics, then the general process of performance testing are described, explained by the practical application of how LoadRunner performance testing process and test results are analyzed.
Key words: LoadRunner; performance testing; load testing
随着国家建设逐渐在信息化建设领域的发展,软件在国家信息化建设中的作用越来越大,在很多领域中也发挥越来越重要的作用。但是随着软件技术、方法的不断发展,虽然目前的软件功能基本满足可以使人们快速开发复杂性的应用的需求,但是随着软件应用规模也越来越大,架构越来越复杂,最终导致还会影响软件的性能而停止使用,给软件开发机构以及客户都带来了一定的损失。因此,解决软件性能的问题对世界都具有重要的现实意义。LoadRunner是目前国内性能测试领域应用最广泛的工具之一,它可以通过模拟成千上万的用户,很快地帮助用户确认和查找性能问题。
1性能测试基础知识
系统的性能是一个很大的概念,覆盖面非常广泛,对一个软件系统而言包括执行效率、资源占用、稳定性、安全性、兼容性、可扩展性、可靠性等等,性能测试是用来保证产品发布后系统的性能满足用户要求。性能测试在软件质量保证中起重要作用。
在性能测试的执行中,可以根据具体的性能指标,分解为多种子测试,根据其关系,可以在不同的时间和空间内执行。这些子测试通常包括以下幾种:
1)压力测试。压力测试是模拟实际应用的软硬件环境及用户使用过程的系统负荷,长时间或超大负荷地运行测试软件,来测试被测系统的性能、可靠性、稳定性等。
2)负载测试。负载测试是确定在各种工作负载下系统测性能,目标是测试当负载逐渐增加时,系统组成部分的响应输出项,例如通过量、响应时间、CPU负载、内存使用等如何决定系统性能(稳定性和响应)。
3)并发测试。并发性能测试是指逐渐增加并发用户数负载,直到系统的瓶颈或者不能接收的性能点,通过综合分析交易指标、资源监控指标等来确定并发性能的过程。并发性能测试是负载压力测试中的重要内容。
4)健壮性测试。健壮性是指在异常情况下,软件能够正常运行的能力,这里的异常指的是资源过少、用户数过多、突发故障等。
5)容量测试。容量测试是检验软件的能力最高能达到什么程度的测试,一般应测试到在正常情况下软件所具备的最高能力,如:响应时间或并发处理个数等能力。
2 LoadRunner简介和性能测试流程
2.1 LoadRunner简介
LoadRunner主要由Mercury虚拟用户生成器VuGen(创建脚本)、创建、管理和监控负载测试的中央控制台Mercury LoadRunner Controlle(设计和运行场景)、压力生成器LoadGenerator(模拟用户生成负载)、结果分析工具Mercury Analysis(分析场景)组成。
2.2性能测试流程
LoadRunner通常是按照图1的流程来进行性能测试的,即使在项目验收阶段启动的性能测试也不例外。不过,可能会根据项目的实际情况省略一些步骤。
图2测试体系架构图
3.2测试分析和规划
注册和登录是系统的基本功能,尤其是登录,多数用户都会使用到,因此登录功能是重点设计的测试场景,以保证用户能够正常登录访问系统。注册功能的并发用户数量较少,且仅仅是提交数据的过程,因此可以不进行测试。
单用户登录的模拟场景主要如下:1)打开首页,进入登录界面,提交登录信息;2)进入系统订票界面,进行订票操作;3)注销登录,退出系统。
为了达到测试目的,需要使用LoadRunner设计一定数量的虚拟用户并发登录系统,查看登录结果。
3.3测试脚本的录制和开发
运行LoadRunner,在录制面板上输入要录制的目标站点URL,打开网页后进行登录操作并进行录制。将登录操作定义为一个事务,在录制过程中添加事务和集合点。插入事务是为了更好地分析并发用户的操作响应时间。
如果直接用录制后的脚本创建测试场景,则所有的虚拟用户在场景运行时执行的操作将会与录制的操作完全一样,这不符合实际情况。在实际情况中,并发登录的用户是不相同的,这个时候可以使用LoadRunner的参数化功能。参数化实际就是使用参数来替换一些常量,当脚本运行时,虚拟用户使用指定数据源中的值来替换参数。在本例中,将用户名和密码参数化为“username”和“password”两个参数,然后为这两个参数指定一个数据源。
3.4场景的创建和执行
启动Controller,场景类型选择手动测试场景,设置一定数量的虚拟用户,配置测试脚本和负载生成器,使用计划生成器同时加载所有的虚拟用户并使所有的虚拟用户运行到结束。场景配置完成后就可以启动测试场景,在场景运行时可以查看用户状态和运行数据图。
3.5结果分析
运行后的虚拟用户运行情况和事物响应时间如图3、图4、图5所示。在虚拟用户运行图中,紫色线条代表正在运行的虚拟用户数,黄色线条代表已经结束的虚拟用户数,红色线条代表出错的虚拟用户数;在事物响应时间图中,棕色线条代表action事物的响应时间,紫色线条代表登录事务的响应时间。
从图3中可以看出,当虚拟用户数为20时,事务的响应时间比较小,且基本成一条直线,说明Web服务器的性能比较稳定;当虚拟用户数增加到30时,如图4所示,事务响应时间有所增加,随着测试时间的变化,事务响应时间逐渐变大,说明系统处理事务的速度逐渐变慢,服务器性能呈现下降的趋势;当虚拟用户数增加到40时,如图5所示,事务响应时间增加明显,随着测试时间的变化,事务响应时间成一条斜线,说明服务器性能有很大下降,同时有7个虚拟用户运行出错,进一步查看出错原因发现是下载资源时超时,说明Web服务器的最大并发用户数不超过40。
图4虚拟用户为30的虚拟用户运行图和事物响应时间图
图5虚拟用户为40的虚拟用户运行图和事物响应时间
4结论
性能测试对于软件的重要性不言而喻,通过性能测试,可以发现系统存在的重大缺陷和问题,指导开发人员进行改进和完善,保证软件能够安全可靠地应用于国家的信息化建设中。本文从性能测试的基础概念入手,结合实例,阐述了如何使用性能测试工具LoadRunner进行测试以及如何对测试结果进行分析。LoadRunner只是性能测试的利器之一,为了更好地进行测试,还需要学习和掌握更多性能测试方面的工具。
参考文献:
[1]柳纯录.软件评测师教程[M].北京:清华大学出版社,2005.
[2]韩明军.软件性能测试过程[J].软件工程与标准化,2007(11).
[3]桑圣洪,胡飞.性能测试工具LoadRunner的工作机理及关键技术研究[J].科学技术与工程,2007,7(6).
[4]黄茂生.分析故障数据,提高软件测试的缺陷发现率[J].电子产品可靠性与环境试验;2003(04).
[5]李怡,周国祥.基于LoadRunner的一种性能测试流程方案研究与设计[J].计算机应用研究,2009(11).
[6]侯勇,张海林.自动化测试中的关键字驱动脚本技术[J].电子科技,2006(2).
[7]刘洪波,吕贵.软件自动测试理论在图象编辑软件测试中的应用[J].桂林电子工业学院学报,2002(6).