压力测试方案
Xx软件技术有限公司
20##-04
目 录
1概述.............................................................................................................................. 3
1.1简介........................................................................................................................ 3
1.2目的........................................................................................................................ 3
1.3定义........................................................................................................................ 3
2测试环境...................................................................................................................... 3
2.1网络........................................................................................................................ 3
2.2应用服务器............................................................................................................. 4
2.3数据库服务器.......................................................................................................... 4
2.4测试机.................................................................................................................... 5
2.5条件与限制............................................................................................................. 5
3测试工具...................................................................................................................... 6
3.1测试工具................................................................................................................. 6
3.2工具简介................................................................................................................. 6
4测试数据...................................................................................................................... 7
4.1交易类.................................................................................................................... 7
4.2简单查询类............................................................................................................. 7
4.3复杂查询类............................................................................................................. 7
5测试方法及步骤........................................................................................................... 7
6测试结果...................................................................................................................... 7
1概述
1.1简介
软件压力测试是软件质量保证的一项基本行为,是每个重要软件测试工作的一部分。软件压力测试是指对系统不断施加压力的情况下,根据系统各项指标的变化情况来判断:
1、系统可能存在的瓶颈;
2、系统负载能力;
3、系统正常运行情况下的运行效率。
1.2目的
通过压力测试,判断当前应用环境情况下系统的负载能力,为今后应用范围扩大,用户量上升后,服务器扩容、升级等提供必要的技术支撑,及服务器规划等。
1.3定义
2测试环境
2.1网络
为了尽量避免网络传输给压力测试结果带来的影响,我们选取内部局域网作为压力测试的网络环境。网络框图如下:
2.2应用服务器
应用服务器即WEB服务器,是压力测试的主要对象。应用服务器为目前正式环境中运行的服务器,应用服务器配置不同,其压力测试结果也不一致。
应用服务器配置如下:
2.3数据库服务器
数据库服务器是用来数据存储的服务器。数据库服务器不作为本次压力测试服务器的对象,及在压力测试过程中忽略了数据库服务器可能带来的影响,以及瓶颈。
在一般WEB应用系统中,数据库服务器的配置要远远高于WEB应用服务器的配置。
数据库服务器配置如下:
2.4测试机
由于压力测试是对系统负载能力的测试,无法通过真是的环境来进行获取相关指标,因此通过测试机,模拟用户(虚拟用户)实际的操作来进行测试。
测试机即安装压力测试工具,及进行压力测试的客户端机器,一般采用高档次的用户PC机来进行测试。
在压力测试过程中,一般忽略测试机对压力测试结果的影响。
测试机配置:
2.5条件与限制
为了尽量保证压力测试结果的真实性,在压力测试期间,做如下的条件限制:
1、局域网内进行压力测试;
2、数据库服务器除了处理测试应用系统请求外,不进行其它应用请求;
3、测试应用服务器不进行其它的正常业务处理,因此压力测试安排在非工作日进行;
4、压力测试结果忽略测试机、应用服务器、网络等其它额外的开销,不做为系统瓶颈的分析对象。
3测试工具
3.1测试工具
测试工具:LoadRunner11。
3.2工具简介
LoadRunner是比较流行的一款测试工具,它通过模拟多个用户同时在应用程序中工作的环境,对应用程序进行负载测试。当应用程序在负载状态下运行时,LoadRunner 会准确评测、监控并分析系统的性能和功能。
LoadRunner使用HTTP/HTTPS协议,主要思想是使用虚拟用户(Virtual users)来模拟实际用户对系统施加压力。
模拟图如下:
4测试数据
4.1交易类
交易类数据是指系统功能模块中实现简单的增、删、改操作,仅实现简单的数据保存、修改、删除操作。
交易类是系统中基本的业务操作,操作量大,性能要求高,服务器请求处理时间相对较短。
根据测试应用系统各模块的情况,我们选取以下功能做为交易类测试数据:
1、纳税评估中的单个文书保存。交易类数据操作最为频繁,且数据保存可重复执行。
4.2简单查询类
简单查询类是指系统功能模块中实现简单查询功能,服务器不需要进行复杂运算的查询模块。
简单查询类也是系统中基本的操作模块,操作量相对较大,性能的要求较高,对服务器的压力相对较小。
根据测试应用系统各模块的情况,我们选取以下功能做为简单查询类的数据:
1、单户分析;
2、补充申报统计、及查询明细;
3、评估任务统计、及查询明细。
4.3复杂查询类
复杂类查询是指系统功能模块中实现较为复杂的查询,一般需要服务器进行较大量的数据运算才能得出结果。
复杂类查询是系统中比较重要的模块,但使用的用户量相对较小,性能要求不是太高,但对服务器的压力较大。
根据测试应用系统各模块的情况,我们选取以下功能做为复杂查询类的数据:
1、建模绩效考核;
2、评估情况统计。
5测试方法及步骤
5.1测试准备
按照本测试方案及测试计划,编写测试数据脚本,并在模拟环境中进行测试运行。
5.2测试环境搭建
根据测试方法和测试步骤,及测试环境的要求,按照测试计划搭建测试环境,并安排甲乙双方参加的测试人员及工作职责。
5.3压力测试
压力测试分以下两种情况测试:
1、单一业务测试,即根据测试数据进行单项测试,据此判断单项业务系统的负载能力。
2、综合业务测试,即根据用户的特性,将单项业务测试按一定的比例进行测试,据此判断系统整体的负载能力。
综合业务测试比例:
压力测试中并发数可以按照测试的内容从低到高依次递增,直至服务器达到最大的负载能力或服务器崩溃。
压力测试过程中需要记录的性能指标包括:
6测试结果
6.1评判标准
以上标准仅供参考。
6.2测试结果分析
根据压力测试的结果,记录压力测试中的各性能指标,并根据指标数据的变化情况进行分析,分析系统的负载能力、判别标准等,并提出应对措施。
第二篇:压力测试方案
压力测试方案
压力测试方案 ................................................................................................................................... 1
1、 概述 ............................................................................................................................... 2
1.1、
1.2、
2、 测试对象 ........................................................................................................... 2 测试目的 ........................................................................................................... 2 测试环境 ....................................................................................................................... 2
2.1、服务器环境描述 ...................................................................................................... 2
2.2、客户端环境描述 ...................................................................................................... 2
3、 测试设计 ....................................................................................................................... 2
3.1、模拟单客户端 .......................................................................................................... 2
3.2、模拟多客户端 .......................................................................................................... 3 4、
5、
6、
测试方法 ....................................................................................................................... 3 测试计划 ....................................................................................................................... 3 测试风险 ....................................................................................................................... 3
1、 概述
1.1、 测试对象
本次压力测试的对象是信令服务器客户端的连接。信令服务器主要是接受客户端TCP连接,接受客户端指令,并以TCP回复客户端。
1.2、 测试目的
本次压力测试目的是测试信令服务器最大可以接受的客户端连接数。
2、 测试环境
2.1、服务器环境描述
信令服务器软硬件描述
2.2、客户端环境描述
3、 测试设计
客户端和服务器端的连接建立是通过TCP连接,而TCP的连接主要是通过调用socket接口实现TCP/IP的连接,所以可以在本地PC机上模拟发送与服务器端请求连接,并保持连接的客户端。
3.1、模拟单客户端
设计核心思想是通过调用socket接口定义的函数实现客户端和服务器端的连接。服务器端对于客户端请求响应服务器端已经布置好环境,主要是实现客户端请求连接并保持连接。
初步设计思想是用C/C++实现客户端的请求连接,主要是调用socket的函数,比如connect,send方法。关于调用socket接口主要分为下面四步。(具体的参数需要看代码和资料)
3.1.1、Socket建立
Int socket(int domain, int type,int protocol);
3.1.2、Soceket配置
本次测试对象面向连接的socket,针对于面向连接的TCP服务应用。Soceket配置主要配置的是本地和远端服务器的信息。
本地配置获取:
远端服务器的信息获取:
3.1.3、连接建立
Int connect(int sockfd, struct sockadd *serv_addr,int addrlen;)
3.1.4、数据传输
Int send(int sockfd,const void *msg,int len,inf flags);
3.1.5、结束传输
Close(sockfd);
3.2、模拟多客户端
本次测试主要目的是找到信令服务器能够连接最大的客户端数,属于压力测试。在
上述单客户端模拟成功的情况下,可以采用多台机器进行程序调用,但是多台机器的调用也只能达到模拟五六个客户端场景,远远不够服务器当初设计的四五十万用户,所以还需要采用异步调用程序,当前主要任务是能够先开发出简单的发送连接的模拟客户端,实现四五十万用户调用的方法在后续中再加以补充说明。
4、 测试方法
开发出模拟发送连接的客户端程序,通过服务器端的响应,实际客户端的连接和通话质量,找出服务器的负载瓶颈。
5、 测试计划
具体的测试设计:2011-11-7 —— 2011-11-11
客户端模拟: 2011-11-14——2011-12-02
执行测试: 2011-12-05——2011-12-16
6、 测试风险
测试人员缺少这方面测试经验和技巧,前期调研,测试思路和方案的形成可能需要
一定时间。