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