1引言
为了让企业的管理和运营更加高效。使企业商业模式由以产品为中心升级到以客户为中心,CRM的在各个企业的使用率越来越高。CRM(CustomerRelationshipMallagement)即为客户关系管理。是指用计算机技术完成客户管理、销售、市场营销等一系列功能的系统。CRM系统具有数据大集中、数据实时性强,交互性强、系统稳定性高等特点,随着电子商务客户量和数据量的加大,CRM系统的负荷越来越重,其性能的好坏将直接决定企业提供服务的质量。所以相比于其他系统功能至上的测试理念不同,CRM系统最注重的则是软件性能测试,而工业标准级负载测试工具LoadRunner则使CRM系统的性能测试变得轻松可靠。
2软件性能测试概述
性能测试是指利用自动化测试软件模拟多种正常、峰值、异常条件来对系统施压,从而验证系统的各项性能指标是否能够达到用户所要求的标准,进而找出系统瓶颈,优化系统性能。性能测试包括负载测试和压力测试两个方面:
1)负载测试:确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时系统各项性能指标的变化情况。
2)压力测试:通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别。
压力测试与负载测试原理相同但目标不同,负载测试是发现系统的性能瓶颈,而压力测试则是找到系统所能承载的最大服务级别,压力测试可以看作是极限条件下的负载测试。
3利用LoadRunner对CRM系统进行负载测试
3.1CRM系统介绍
当下,Web技术发展迅猛。CRM系统的也紧跟技术发展步伐步入了Web2.0时代。功能上,CRM一般由客户协作管理、业务管理、分析管理和应用集成管理四个分系统组成,结合各个分系统的功能及其特点,一套优秀的CRM系统应当具有综合性、集成性、智能化、高技术和复合性等特点。
本文所要测试的国内某大型电子信息制造企业所使用的CRM系统主要由客户端、Web服务器、应用服务器及数据库服务器等组成。从架构上看,本CRM系统采用的是B/S模式的三层结构,即表示层、业务逻辑层与数据层,其架构与系统组件的对应关系。
3.2制定CRM系统测试计划
由于本CRM系统是企业运用于全球客户关系的管理。包括供应商、合作伙伴和分销商,并不涉及终端个人用户,所以系统的用户量不高,同时登录系统的用户不会像其他Web应用那样造成服务器瘫痪的状况,但是CRM系统产生的数据量大。系统操作效率要求高,因此我们不必关心系统最大服务级别,而要重点监控数据库服务器的运行状况。由于CRM系统性能测试场景多且复杂,所以我们只选取了其中一个数据库查询场景作介绍。
3.3设计测试脚本
脚本主体采用自动录制方式,按照测试计划表逐项操作,录制完成后,我们必须对脚本进行增强以适合测试场景:
1)参数关联:本例中需要关联的量有三个,两个会话码和一个安全码,首先,我们要找到其左右边界,然后确定该会话码在服务器响应中第一次出现的位置,将以下代码嵌入其所在位置的前面。
2)插入事物:在此,我们需要测试登录、搜索、打开、退出等一系列操作的响应时间,所以我们需要把这四种操作分别做成事物,即在每个操作的代码前后插入事物开始和事物结束函数,以登录为例插入事物方法如下。
Ir_start_transaction(“SignIn”);
Ir_end_transaction(“SignIn”,LR_AUTO);
3)插入集合点:因为要模拟用户同时
3)插入集合点:因为要模拟用户同时操作,为了达到并发操作,我们需要在上述四个事物前面添加集合点,按照需求,我们把集合点函数放到四个事物开始之前,以登录为例函数如下。
Ir_rendezvous(“SignIn”):
4)订单号的保存:由于原网站没有保存订单号的链接。在录制过程中无法完成此功能,所以我们必须手工编写脚本来实现订单号的保存。Action()函数开始处编写头文件:
3.4设计运行场景
根据测试要求,我们设计了两种运行场景:
1)并发用户数20、40、60:采用运行前加载所有用户的方式,迭代一次。
2)并发用户逐级递增:采用初始用户数20,每90s增加20的方式,运行五分钟。以上两种方式的加载主机均为美国IP地址:10.37.143.143,思考时间设置为最高2s。
3.5分析结果
以上几个场景运行完成后,将结果导入Analysis,并发条件下的事物响应时间如表2所示。从表2我们可以看出各个事物响应时间随着并发用户数的增加而增大,但是所有响应时间数据随着并发用户数的增加变化平稳,而且60个用户并发时,所有响应时间在用户可接受范围之内。