【delphi开源代码栏目提醒】:文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。
网学会员整理了delphi开源代码-基于Web的呼叫中心测试系统(1) - 硕士论文的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!
上海交通大学 硕士学位
论文基于Web的呼叫中心测试系统 别:硕士 专业:软件工程 指导教师:黄林鹏张艳红 20081101 基于 Web 的呼叫中心测试系统 基于 Web 的呼叫中心测试系统 摘 要 呼叫中心是一个复杂的信息系统,在一般情况下,整个系统似乎运行良好,但是,在出现突发事件时,呼叫量会瞬间增加并持续较长一段时间,这时系统的性能会急剧下降,甚至崩溃。
这种现象的原因通常是由于系统中某个环节的性能不足以应付恶劣环境造成的。
如今,基于 Web 的呼叫中心已普遍应用,但是对呼叫中心 Web 坐席测试和监控,特别是呼叫中心端到端的压力测试和监控的技术发展却相对缓慢。
因此,对呼叫中心的压力测试的研究有重要的意义,而其中测试脚本是其关键,脚本是否可应用于系统的压力测试,显得尤为重要。
在以往的调试脚本环节中,工程师只能手动观察脚本,没有工具帮助他们找出 HTTP 通信中的可变量,工程师往往会花很长的时间而也只能得到一个不够准确的脚本,更没有工具能测试脚本的准确度。
本文将分析现有 Web 测试工具在模拟呼叫中心坐席应用中的不足,给出一种基于 Eclipse Rich Client Platform 的插件架构,该架构利用 JBoss Java Business 以Process Management 控制脚本的回放和流程图的绘制, Java 实现了 HTTP 的录制和多线程回放。
本解决方案把 Web 坐席(即话务员)的操作从录制脚本到测试脚本都用直观的流程图表现出来,由此错误定位更加方便,而原来很复杂的过程,现在使用本方案只需要几个动作就能生成出一个准确的可用于压力测试的脚本。
本文最后以美国 Siebel 公司呼叫中心的压力测试为例,给出脚本生成,调式和配置的整个过程,由此证明了本文提出方法的正确性和有效性。
关键词:呼叫中心,压力测试,插件架构,流程图,多线程 基于 Web 的呼叫中心测试系统 THE DESIGN AND IMPLEMENTATION OF A WEB- BASED CALL CENTER TESTING SYSTEM ABSTRACT Call center is a complicated information system. Usually it seems running wellbut in some special cases an exception for instance there are many calls coming atthe same time and lasting for a long time. This makes the call center systemperformance decline sharply even the worse the system crashed. The reason of thisphenomenal is cause by one or two bad performance modules. They cannot deal withproblems in bad situation. Therefore they lead to the whole system service cut down.Nowadays Web agent plays a leading role in the Internet call center. But thedevelopment of testing and monitoring Web agent is slow especially in the End toEnd testing and monitoring. Therefore it is significant to research in this field. Andthe first thing is to create a correct script to do load testing. We know that script engineers could only debug script manually in the pastthere was no tools to help them looking for the variables in the script. They wouldwaste a lot of time to create a script but nobody was sure whether it was correct.There was no way to test the veracity of the script. This article will analysis the shortage of using current Web testing tools tosimulate call center Web agents. Then it will introduce a new solution to simulate callcenter Web agents. This solution is based on a Eclipse Rich Client Platformframework. It uses Java Business Process Management to control the script playbackand draws a process diagram. It also uses Java to implement HTTP recording andmultiple threads playback. The most important thing is that the solution makes theprocess visualized by using a process diagram during recording and testing script. It isan extreme facility to locate errors. So we can work out a correct script for loadtesting by a few steps. This article will take American Siebel call center as an example 基于 Web 的呼叫中心测试系统to give a process of generating script debugging script and deploy script in detail. KEY WORDS: Call Center Load Testing Plugin FrameworkProcess diagram Multiple Threads 基于 Web 的呼叫中心测试系统 上海交通大学 学位
论文原创性声明 本人郑重声明:所呈交的学位
论文,是本人在导师的指导下,独立进行研究工作所取得的成果。
除文中已经注明引用的内容外,本
论文不包含任何其他个人或集体已经发表或撰写过的作品成果。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律结果由本人承担。
学位
论文作者签名:陈晰 日期: 年 月 日 基于 Web 的呼叫中心测试系统 上海交通大学 学位
论文版权使用授权书 本学位
论文作者完全了解学校有关保留、使用学位
论文的规定,同意学校保留并向国家有关部门或机构送交
论文的复印件和电子版,允许
论文被查阅和借阅。
本人授权上海交通大学可以将本学位
论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位
论文。
保密□,在 年解密后适用本授权书。
本学位
论文属于 不保密□。
(请在以上方框内打“√”)学位
论文作者签名:陈晰 指导教师签名:黄林鹏 日期: 年 月 日 日期: 年 月 日 基于 Web 的呼叫中心测试系统 1 绪论 1.1 概念 Computer Telephongy Integration(CTI)技术是目前和未来市场上最活跃的技术之一,它是从传统的计算机电话集成技术发展而来的,最初是想将计算机技术应用到电话系统中,能够自动地对电话中的信令信息进行识别处理,并通过建立有关的话路连接,而向用户传送预定的录音文件、转接来话等。
而到现在,CTI 技术已经发展成“计算机电信集成”技术,即其中的“T”已经发展成“Telecommunication”,这意味着目前的 CTI 技术不仅要处理传统的电话语音,而且要处理包括传真、电子邮件等其它形式的信息媒体。
CTI 技术最活跃的分支——呼叫中心,已超越了纯粹的技术领域,开始对人们的思想行为产生重大的影响,是实现客户服务的基础技术手段,CTI 技术同样对未来的电信格局产生重大的影响1。
呼叫中心,又称客户服务中心,是指综合利用先进的通信及计算机技术,对信息和物资流程优化处理和管理,集中实现沟通、服务和生产指挥的系统。
传统意义上的呼叫中心是指以电话接入为主的呼叫响应中心,为客户提供各种电话响应服务;现阶段呼叫中心的概念已经扩展为可以通过电话、传真、互联网访问、e-mail、视频等多种媒体渠道进行综合访问,同时提供主动外拨服务,应用业务种类非常丰富的客户综合服务及营销中心。
1.2 国内呼叫中心技术发展现状 呼叫中心源于 20 世纪 30 年代。
20 世纪 90 年代中期后,随着 CTI 技术的应用,呼叫中心应用日渐普及。
据美国市场调研公司 FrostampSullivan 的资料,1998 年,全球由呼叫中心促成的销售额高达 7000 亿美元,美国有 85的企业建立了呼叫中心。
专家预计,全球由呼叫中心促成的销售额今后每年将按 20速度增长。
另据《2000 年中国呼叫中心产业发展研究报告》,中国每年由呼叫中心促成的销售额五年之内将会达到 5000 亿元2。
1 基于 Web 的呼叫中心测试系统 近几年,随着技术的迅速发展和客户需求的多元化,呼叫中心技术从人工热线电话、自动语音应答发展到采用 CTI 技术实现语音和数据同步转移的统一呼叫服务,客户对于快速服务、实时服务的需求也随之迅速上升。
为满足客户不断增长的服务需求,呼叫中心系统规模持续扩大,呼叫中心运营总成本必须要持续下降。
呼叫中心从初期建设到呼叫中心系统和初期业务运作有个适应期。
适应期后,更多的相关业务需要整合到呼叫中心平台。
很多传统呼叫中心在设计初期,没考虑到未来的需求,没考虑到呼叫中心其实是全面整合企业或集团内部业务的排头兵,认为只是接接电话,外拨几个电话而已。
这样的思路,在前期一味压缩线路端口数,选型时趋于保守,甚至在建设后,只是走走样子,走走形式。
考察一些比较成功的呼叫中心,可以看出,他们在初期就高屋建瓴,更多的考虑到呼叫中心是联络中心:联络客户网络、联络供应网络、联络企业内部员工、还有企业内部会议。
这样面对未来需求的系统,在对呼叫中心软硬件平台选型时就要有很强的前瞻性,必须考虑到初期和后期迅速扩容的需求,扩容后平台的稳定和管理维护便利。
庆幸的是,我国呼叫中心产业经过几年的平稳发展,产业规模不断扩大,呼叫中心几乎已经遍布全国各行各业,最近几年,呼叫中心已迅速发展成一种新兴产业,出现专用的软硬件设备提供商、系统集成商和大批运营商。
现已在电信、银行、保险、证券、电力、交通、海运、航空、旅游、税务、商业、娱乐等行业建立有先进的呼叫中心,将市场开发、销售和客户服务统一为一个系统平台,在市场竞争中为企业带来巨大利润,成为各行各业的制胜法宝3。
1.3 测试基于 Web 的呼叫中心的现实意义 从上述来看呼叫中心的地位日趋上升。
呼叫中心是一个复杂的信息系统,由很多模块组成,在很多情况下,整个系统看上去可以跑得很好。
但是,在某些特殊的环境下,例如突发事件,导致呼叫量瞬间增加并持续较长一段时间,系统的性能会急剧下降,甚至崩溃。
这种现象的原因通常是由于系统中某个环节的性能不足以应付恶劣的环境,造成服务性能下降,最后导致整个系统的服务链断裂。
这就是所谓的“木桶效应”。
系统的整体性能是向最低性能的环节看齐的。
另一个潜在的问题就是通信系统中的“雪崩效应”,当系统的服务容量达到极限时,服务水平不能保持在系统的最高水平,而是会急剧下降,甚至导致整个系统的瘫痪。
2 基于 Web 的呼叫中心测试系统 当面对一个复杂的呼叫中心系统时,光从技术建议书和演示系统是无法判断其是否存在“雪崩效应”和性能最差的环节。
特别是很多呼叫中心系统的呼叫控制平台和业务业务系统接合紧密,业务系统的性能瓶颈也可能降低呼叫控制平台的性能。
此外,在系统开通之前,也很难判断系统在工作一段时间后,数据的增加是否会引起系统性能的下降,即系统性能的累计效应如何。
解决上述这些问题,确保多个模块(由不同厂家提供)能紧密地结合为一个完整的系统,目前最有效的方式是进行模拟压力测试,观察系统在恶劣环境下的运行情况。
假设通过让 500 个用户同时打电话的方式来进行压力测试,显然是劳民伤财的方法,结果不尽如人意。
在本文中将会录制坐席的几次操作流程,生成脚本,调试脚本,在压力测试工具上运行 N 个脚本。
这样的方式代价就会少了很多。
1.4 基于 Web 的呼叫中心测试与传统 Web 网页测试的区别 对于呼叫中心测试和 Web 网页测试实际上就是模拟坐席和网页与 Web 服务器之间的交互。
对于怎样呼入呼叫中心的部分,本文不作讨论;对于呼入以后,话务员对电话的处理过程模拟是本文的主要内容。
与传统的 Web 网页模拟相比,基于 Web 的坐席模拟有以下几个不同之处: 1 事件触发机制的区别 传统的 Web 模拟是由客户端主动发起请求,服务器进行处理。
但是基于 Web的坐席则是由服务器通知坐席某些事件,然后再根据事件发起请求。
举例说,坐席并不知道什么用户的电话会打进来,所以坐席只有等到服务器通知已经有客户电话呼入时才进行接电话的操作,也就是说,坐席接电话的操作是由服务器通知电话呼入事件而触发的。
2 流程处理的区别 普通的 Web 模拟不会一直循环执行下去,一般有一个开始和结束,但是坐席模拟则不然。
坐席在登录之后,会一直处于处理电话的状态,当上一个电话处理结束之后,只要服务器有接电话命令发出,该坐席又会去处理下一个电话,这样一直循环。
这就给模拟带来了难度。
3 同时处理多件事件难度的区别 3 基于 Web 的呼叫中心测试系统 通常在坐席接起电话之前,就知道呼入者的许多信息,比如姓名,账号等等,这些数据是用户在电话端输入的,会经过 CTI 处理,比如调用 CRM 系统等等,最终一般会在坐席端弹出一个窗口告诉坐席呼入者的各种信息。
坐席模拟不可避免需要取得这些数据并进行验证,比如电话路由验证(是否根据指定策略到达了正确的坐席),CTI 与 CRM 连接验证(是否取得了正确的数据)4。
4 电话流程高度客户化 处理电话的流程通常是高度客户化的,比如自动应答还是人工应答,自动挂断还是人工挂断,或者是否需要转接等等。
如何把这些根据客户需要进行的调整简单化,也是一个重点。
而这些是普通的 Web 网页模拟系统所做不到的。
1.5
论文的主要内容
论文首先由 CTI 技术、呼叫中心的概念以及呼叫中心国内发展现状引出本
论文主要介绍的如何进行基于 Web 的呼叫中心坐席模拟,并与传统 Web 模拟进行比较。
其次将以 Siebel 为例,对这些难点一一给出了解决方案。
即利用 JossjBPM 作为流程引擎,Java 作为 HTTP 录制和回放工具,Eclipse RCP 插件系统作为支持所有呼叫中心的平台,逐步演示如何进行坐席的模拟。
1.6
论文的篇章结构 文章共分为 5 章,具体内容安排如下: 第一章介绍 CTI 技术、呼叫中心的概念,分析呼叫中心国内发展现状,引出基于 Web 的呼叫中心运行模拟的重要性。
并比较基于 Web 的呼叫中心坐席模拟与传统 Web 网页模拟,认清难点,突出本文的现实意义。
第二章介绍实现测试系统用到的核心技术:Eclipse RCP 插件框架,JBossjBPM 可视化工作流引擎,基于 Java 的 HTTP 录制和多线程回放。
这些是构建整个基于 Web 的呼叫中心测试系统的技术基础。
第三章先对基于 Web 的呼叫中心测试系统的定位进行了研究,然后对系统的核心功能和流程进行了详细的分析。
最后详细讨论了基于 Web 的呼叫中心测试系统的需求,为系统的开发指明了方向。
第四章是
论文的主要部分。
首先阐述了基于 Web 的呼叫中心测试系统的系 4 基于 Web 的呼叫中心测试系统统架构设计和软件的功能模块划分。
然后具体分析了主要模块的具体实现方法,如流程编辑模块、HTTP 调试模块、录制和回放模块,动态转换模块和数据收集模块等。
第五章对基于 Web 的呼叫中心测试系统的特点做一个总结,并对系统的不足之处提出了改进方案,最后指出了系统的进一步发展的要点。
5 基于 Web 的呼叫中心测试系统 2 基于 Web 的呼叫中心测试系统核心技术 基于 Web 的呼叫中心测试系统将基于 Eclipse RCP 插件框架,利用 Java 作为录制回放 HTTP 协议工具,JBoss jBPM 作为回放引擎,以及利用 JBoss jBPM的可视化图形界面,可视化调试脚本。
下面对这些技术进行介绍。
2.1 Eclipse RCP 插件框架 Eclipse RCP 是一项位于 Eclipse 平台核心的功能。
大多数人想到 Eclipse 时,会想到 Java 集成开发环境(IDE)。
如果将 Eclipse 中关于 IDE 的内容剥去,剩下的就是一个提供基本工作台功能的核心,包括对可移动以及可叠加的窗口组件(编辑器和视图)、菜单、工具栏、按钮、表格、树形结构等等的支持,而这个核心就是 Eclipse RCP。
在 Eclipse 平台的发展过程中,倡导的是插件的思想。
可以说,插件是 Eclipse平台的核心内容,RCP 本质上是 Eclipse 的插件,所以当开发 RCP 应用程序时,可以利用 Eclipse 平台 UI 外观和框架来快速地进行开发。
例如创建一个菜单栏、工具栏,在 RCP 开发中很容易,只需要作一定的配置后,编写简单的
代码就可以实现复杂的功能,这样就避免了许多重复性的工作。
RCP 的系统可以脱离 Eclipse 平台独立运行,这样大大减少了打包程序后文件的体积,使系统更加小巧和雅观。
RCP 提供了丰富的界面控件,这使得基于 Java 开发桌面应用也变得容易了很多,虽然仍然不能和基于 VB、
Delphi 进行相比。
对于开发者而言,尽管使用RCP 也是为了开发桌面应用,但 RCP 给开发者带来的更多的感觉是在它充分发挥了插件化系统的优势,RCP 可以视为基于 OSGi(Open Service GatewayInitiative)构建插件化系统的最佳实践的指导,从 RCP 的设计中,可以学习到如何将应用做到模块化、将应用做到动态化,甚至还可以学习到如何自动生成界面这样的设计思想。
RCP 可以看做是基于 OSGi 做插件化应用系统的最佳实践,其中的不少设计方法甚至都可以整理成为基于 OSGi 做插件化应用系统的设计模式。
Eclipse RCP 为应用程序开发人员提供了: 6 基于 Web 的呼叫中心测试系统 应用程序和特性的一致且本地的外观; 公共应用程序服务,例如窗口管理、更新管理、帮助和选择管理; 本地的外观,利用 Windows、Mac OSX、Linux、Solaris、HP-UX、AIX 和嵌入式设备上的实际平台窗口部件; 标准化的组件模型; 普及的可扩展性; 整合的更新机制; 顶级开发工具(Eclipse 软件开发包是世界级的软件开发环境)。
Eclipse RCP 项目用 Standard Widget Toolkit(SWT)图形库和工具包取代了Java 标准中的 AWT 和 Swing。
SWT 直接调用了操作系统的图形库,从而使得 Java应用程序的外观与感觉都和操作系统的习惯完全一致;更为重要的是,对本地方法的直接调用大幅度提高了基于 SWT 的 Java 应用程序的运行速度。
一个 Eclipse RCP 可分为如下五个部分: (1) Wrokbench 工作台 为 Eclipse 提供用户界面。
它是使用 SWT 和一个更高级的 API(JFace)来构建的;SWT 是 Java 的 Swing/AWT GUI API 的非标准替代者,JFace 则建立在SWT 基础上,提供用户界面组件5。
基于 Java 的图形库最主要的有三种,它们分别是 Swing、AWT 和 SWT。
其中前两个是 Sun 随 JDK 一起发布的,而 SWT 则是由 IBM 领导的
开源项目(现在已经脱离 IBM 了)Eclipse 的一个子项目。
SWT 的执行效率非常高。
这是由于SWT 的底层是由 C 编写的。
由于 SWT 通过 C 直接调用系统层的 GUI API。
因此,使用 SWT 编写 GUI 程序,在外观上就和使用 C、
Delphi(在 Windows下)编写的程序完全一样。
它的这一点和 AWT 类似。
AWT 在底层也是使用 C直接调用系统层的 GUI API。
它们的最大区别就是 AWT 是 Sun 提供的,SWT是 Eclipse 自带的。
这就意味着如果使用 AWT,只要机器上安装了 JDK 或 JRE,发布软件时无需带其它的库。
而如何使用 SWT,在发布时必须要自带上 SWT 的.dll(Windows 版)或.so(Linux/Unix 版)文件以及相关的.jar 包。
另外,SWT所提供的图形接口比 AWT 更丰富。
虽然 SWT 很强大,但它比较底层。
也就是说它的一些功能在使用上还比较低级,不太符合面向对象的特征。
因此,在 SWT 的基础上又开发了 JFace。
JFace 7 基于 Web 的呼叫中心测试系统在 SWT 上进行了.
上一篇:
基于Embedded
下一篇:
鹤壁职业技术学院电子信息工程系关于毕业设计的有关规定