当前位置:首页 > 作文大全 >

浅谈Web应用系统的负载测试

发布时间: 2022-03-18 08:32:21 浏览:

摘要:本文结合WEB 系统负载测试工作,对Web 系统的负载测试理论进行研究;并根据软件测试理论和负载测试原理,采用负载测试工具HP LoadRunner8.1 对测试过程进行了设计与实现;通过分析被测系统的测试需求,设计相应的测试案例,执行不同的测试场景后进行测试结果分析。文中引入了自动化测试流程,采用专业的负载测试工具,描述整个Web 系统的负载测试设计与测试实施过程。

Abstract: Combining with the load testing of WEB system,the load testing theory of the Web system is studied; according to the software testing theory and load testing principle, the load testing tools HP LoadRunner 8.1 is used to design and implement the testing process; through the analysis of the test requirements of measured system, the corresponding test cases are designed, and different test scene are implemented to analyse the testing results. This paper introduces the automation test process, uses professional load testing tools, and describes the load test design and test process of the whole Web system.

关键词:负载测试;并发量;响应时间;利用率

Key words: load test;the concurrency value;response time;utilization rate

中图分类号:TP39 文献标识码:A 文章编号:1006-4311(2012)11-0169-02

0 引言

软件测试是软件开发过程中一个非常重要的环节,软件测试通常占用了整个软件开发项目工作量的40%。通过测试工作全面检验系统初级成品是否符合系统设计的思想,达到系统设计的功能和性能要求。其中,在软件交付之前,为了验证系统的性能容量,给系统进行性能调优,需要进行负载测试,负载测试是性能测试的一种。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。

1 负载测试简介

负载测试(Load Testing)方法通过在被测系统上不断增加压力,直到达到预设的负载预期,例如“响应时间”达到预定指标或者CPU利用率达到75%,然后再去观察不同负载下系统的响应时间、系统资源利用率和数据的吞吐量等。

这种测试方法可以找到系统处理极限,为系统调优提供数据。在某些情况下,有时这种方法也称为可量性测试(Scalability Testing)。该方法有如下特点:①这种性能测试方法的主要目的是找到系统处理能力的极限;②该方法需要在特定的测试环境下执行,通常需要考虑被测系统的业务压力量和典型场景,使得测试结果具有业务上的意义;③该方法一般用来了解系统的性能容量,或是配合性能调优来使用。

简而言之,负载测试时通过逐步加压的方式来确定系统处理能力,确定系统能够承受的各项阀值。例如,逐步加压,从而得到“响应时间不超过10秒”,“服务器平均CPU利用率低于85%”等指标阀值。

2 负载测试分析

一般的负载测试分为负载需求分析、测试计划设计、开发负载测试脚本、定义测试负载模型,执行负载测试五个步骤。这里以“安徽电力营销辅助决策该系统”为实例,分析如何进行Web应用系统的负载测试。

2.1 搭建测试环境 在建立一个测试环境时,应考虑以下几点原则:①测试环境应该只包含被测试服务器和测试客户机;②测试环境应该运行独立的测试系统,避免在同一测试环境中同时运行多个测试;③由于互联网的不可预知性,不同时间的测试,所获得的数据不一致,为了能让测试在一个稳定的网络下,测试工作最好安排在局域网内,且测试的同时最好不要有其它无关的数据通信;④使用快速的网络组件,避免使用Http代理服务器。负载测试依赖于逐渐增加的负载等级,直到Web服务器或者数据库服务器处理能力达到极限的时候停止增加负载。

该系统的测试环境如下:应用/数据库服务器硬件配置:5160 3.0GHz 4核CPU,3.25G内存,100Mb独立网卡,软件配置:Windows Server 2003操作系统,oracle10g数据库,weblogic9.0Web服务。客户机端:硬件配置5160 3.0GHz 4核CPU,2G内存,100Mb独立网卡,软件配置:Windows Server 2000操作系统,IE6.0浏览器。

2.2 负载需求分析 “安徽省电力公司营销辅助决策系统”中的“公司全行业销售电量统计表”主要是地市公司管理员每月定时进行访问,主要数据操作是查询,并发访问量以20量级为测试标准。

该系统对同一用户的登陆没有策略限制,在负载测试的时候可以用同一帐号模拟多人登陆,所以不需要创建多个帐户。

2.3 负载测试方案 采用负载测试工具HP LoadRunner8.1 模拟并发用户,设计该业务场景,对其进行负载测试,检测该系统“公司全行业销售电量统计表”的查询业务操作可承受的并发量及响应时间,同时监控应用服务器、数据库服务器的系统资源占用情况。

测试指标:系统响应时间小于30 秒,应用服务器、数据库服务器平均CPU利用率均低于85%,网络流量不得占用本地带宽的50%以上。场景执行策略:各场景分别设置若干组并发数测试,分别取值10、20、30 个并发数对相应模块进性测试。

3 执行负载测试

3.1 录制脚本 启用LoadRunner中的VuGen 组件,选择录制脚本的协议类型,在弹出的Start Recording窗口,输入Web系统的url地址,点击“OK”进行脚本录制,客户端浏览器自动打开系统登录界面,输入用户名和密码,点击登录按钮,等完全进去系统后进行相应的报表查询操作。分别在打开“公司全行业销售电量统计表”页面和点击查询按钮的两个地方插入事务,操作完毕后点击“停止录制”,输入测试脚本名称,编译无错后就完成了录制测试。

3.2 运行测试场景 启动LoadRunner中的Controller创建一个Manual Scenario,在Scenario scripts中添加录制的“公司全行业销售电量统计表”测试脚本,分别设置Vuser=10/20/30,Edit Schedule:5秒加载5个用户,用户加载使用run until completion方式,限制持续运行5分钟,迭代次数=1,Tinktime<=3秒;Timeout时间均设置为300秒,在负载执行过程中监控并收集系统资源(如CPU、内存、I/O等)和系统的网络吞吐量。

测试场景的属性设置好后,点击“Start Scenario”运行测试场景。测试界面会显示每秒提交的请求次数、剩余时间、总请求数、错误数量等。下方图表通过设置可以监控脚本中各个事务的响应时间、应用服务器和数据库服务器的CPU利用率和内存的消耗情况、网络吞吐量等。

3.3 分析测试结果 每次测试结束后,选择“Invoke LoadRunner Analysis ”图标,可以查看自动生成的测试结果,设置Vuser=10/20/30的三次测试结果如表1。

由表1可以看出,10用户、20用户、30用户访问时平均响应时间均小于30秒,本地网络为100M带宽,平均网络吞吐量仅占本地带宽的30%以内,符合性能要求。

由于服务器总内存3.25GB,由此可以得出所有测试结果的可用内存占用率均大于25%且内存变化不大。10个用户并发时,CPU的平均利用率小于85%,符合性能要求。20用户和30用户并发时,CPU平均利用率大于85%,不符合性能要求,且系统收到HTTP500(Server Busy)的错误,说明服务器队列已满,服务器开始拒绝请求。

并且由图1可以看出,30用户并发运行过程中,CPU持续大于90%,结束时CPU资源才得以释放,因此,CPU配置是系统的性能瓶颈。30用户并发时的系统资源图如图1。

4 结语

负载测试是Web应用程序测试的必要环节,通过测试可以明确指出不同负载下,系统所能承受的性能。本文以一个用JAVA开发的营销辅助决策系统为例,详细介绍了如何使用LoadRunner对Web站点进行负载测试,并对测试结果进行了深入分析。系统在10用户并发时,工作稳定,响应速度较快,负载能力良好,但在20、30用户并发时,尽管响应速度没什么变化,但是系统CPU消耗过大,给系统带来隐患,所以应该对系统的硬件配置进行调整。

参考文献:

[1]段念.软件性能测试过程详解与案例剖析[M].北京:清华大学出版社,2006.

[2]于涌.精通软件性能测试与LoadRunner实战[M].北京:人民邮电出版社,2010.

[3]段念.软件性能测试过程详解与案例剖析[M].北京:清华大学出版社,2006.

[4]何淼.面向负载的WEB项目测试分析与实现[J].科技信息,2009.

[5]王培宇,胡同森,等译.Microsoft ACE小组.Microsoft.NErrWeb应用程序性能测试[M].北京:清华大学出版社,2003:38—52.1995.

[6]梁博,许珊,徐歆恺.测试有道[M].北京.电子工业出版社,2009.

相关热词搜索: 负载 浅谈 测试 系统 Web

版权所有:无忧范文网 2010-2024 未经授权禁止复制或建立镜像[无忧范文网]所有资源完全免费共享

Powered by 无忧范文网 © All Rights Reserved.。冀ICP备19022856号