作者简介
Mario ,携程资深测试工程师,负责携程呼叫中心测试。
一、背景
作为全球领先的在线旅游企业,携程注重服务质量,并拥有全球最大的旅游呼叫中心,分别部署在国内自建系统、国内和国外第三方云服务平台上。呼叫中心每天承接着上百万通的通话,电话服务系统是整个呼叫中心中非常重要的一套系统,服务着数万客服座席,系统的稳定性至关重要。
二、性能测试开展
2.1 原因
旅游受季节和时间的影响比较大,五一和十一等长假期间旅游量会暴增,随着业务的暴增,电话咨询和反馈也会随着增加。对于研发人员来说,掌握负责系统的性能指标来迎接随之而来的业务高峰非常重要。因此研发团队会不定期的做系统的性能压测,来评估和衡量业务高峰期间带来的系统压力。
2.2 工具
目前 SIP 协议性能测试一般采用基于流程的测试方法,流程指一个成功的 SIP 会话所包含的 SIP 实体双方交换消息的类型和顺序。且测试应当根据被测设备特点,通过实现对特定呼叫流程场景的模拟来实现,因此测试工具应当支持符合呼叫流程要求的信令与媒体流发送与接收。
测试的开展首先是选取测试工具。SIPp 是一个测试 SIP 协议性能的工具软件,它包含了一些基本的 SipStone 用户代理工作流程(UAC和UAS),并可以使用 INVITE 和 BYE 建立和释放多个呼叫,当然 SiPp 还有许多其他的功能,比如通过读 XML 场景文件,模拟 SIP 信令来重现故障等等。SIPp 与我们常用 Http 协议的性能测试的工具有着一定的不同,当然熟练使用 Loadrunner 等工具对 SIPp 的使用也有一定帮助。
2.3 系统架构分析
对于性能测试的指标的选取,需要结合被测系统的架构(如图2-1),从而设计出相应的压测场景和具体实现脚本。
2-1 电话系统结构流程图
2.4 测试脚本设计
用SIPp做测试的必要文件:
uac.xml:根据需要编写的uac侧的sip信令流程。
uas.xml:根据需要编写的uas侧的sip信令流程。
uac.xml和uas.xml用来模拟SIP消息流程,
data.csv:用于uac.xml和uas.xml中需要引入的数据,例如分机号,被叫号码等等。
uac.bat:调用sipp命令,并传入相应参数的批处理文件,模拟UAC(主叫)。
uas.bat:调用sipp命令,并传入相应参数的批处理文件,模拟UAS(被叫),