APP下载

软交换系统自动化测试的设计与实现

2019-09-10王迎超

计算机与网络 2019年23期
关键词:自动化测试

王迎超

摘要:针对软交换系统在工程化应用测试过程中大批量回归测试费时耗力的问题,从工作需要出发构建了一个自动化测试平台。该平台主要采用Doubango框架与SIPp工具等技术,涵盖了软交换系统的功能测试、稳定性测试及性能测试等多方面的功能,可重复进行大批量回归测试。通过与人工手动执行测试用例进行对比实验,结果表明该平台可以提高测试人员的测试效率,帮助研发进行缺陷预防,减少系统开发成本,提高系统质量及缩短系统开发周期。

关键词:软交换系统;自动化测试;回归测试;Doubango;SIPp

中图分类号:TN915文献标志码:A文章编号:1008-1739(2019)23-65-3

0引言

为了更加快速、有效、可靠地对软件进行测试,提高被测系统的质量,测试工具和工具思维就必然会被引入到测试工作中,自动化测试也被提上日程[1]。常用的自动化测试工具种类繁多,其中主流的有UFT,Selenium,LoadRunner等,但是针对于软交换系统的特点,商业的自动化测试工具都存在着一定的不足,例如无法支持专用协议和倾向于单一类型测试,为此专门设计开发了一套用于软交换系统的自动化测试平台。

1软交换自动化测试平台设计

软交换自动化测试平台采用黑盒测试的方法,功能测试模块和稳定性测试模块底层均采用基于Doubango框架的SIP/IMS(VoIP)客户端组件模拟人工测试的执行过程,上层封装为关键字驱动的设计方案,便于业务嵌套和组合。另外借助于SIPp工具对软交换系统的性能进行测试验证。测试平台网络架构如图1所示,由被测对象、性能测试服务器、测试客户端及性能监控客户端等组成,测试平台采用Visual Stutio 2017开发。

1.1被测对象软交换系统

软交换是一种功能实体,为下一代网络NGN提供具有实时性要求的业务的呼叫控制和连接控制功能,是固定电话向NGN平滑过渡的核心系统[2]。会话初始协议(Session Initiation Protocol,SIP)是一个基于文本的应用层控制协议,用于创建、修改和释放一个或多个参与者的会话。SIP还是一种源于互联网的IP语音会话控制协议,具有灵活、易于实现和便于扩展等特点[3]。本设计只针对软交换系统开发了SIP协议相关的自动化测试。

1.2测试客户端

测试客户端具有进行功能测试稳定性测试、性能测试、生成测试记录日志及生成测试结果报告的功能,系统界面如图2所示。

设计思路是采用关键字驱动的方式。关键字驱动框架的基本工作是将测试用例分成4个不同的部分。①测试步骤:仿照人工测试的执行步骤;②测试步骤中的对象:基于Doubango框架的SIP协议部分封装生成一定数量的软IP话机终端;③测试对象执行的动作:包括注册、呼叫、发送DTMF、呼叫保持释放、挂机等一系列操作;④测试对象需要的数据:比如话机号码、注册地址、端口号及音视频编码格式等。由测试人员选择需要执行的功能模块和用例,后台根据测试步骤获取相应的测试数据执行一系列注册、呼叫等操作,在用例执行过程中监控此对话机在每一个操作前后的注册状态、呼叫状态、来电号码等是否与预期的一致来判断测试结果,并且支持单条用例和部分用例灵活执行。测试执行过程通过Log4net日志工具将每一步执行的操作和话机状态的实时变化都输出到日志文件保存,便于后期定位bug的发生场景及分析原因。

1.3性能测试服务器

性能测试服务器的主要功能是对软交换系统进行压力测试、负载测试、强度测试和容量测试。最关键的是验证行业中要求满足以下性能指标。①系统容量指标:包括可接入的用户数和可同时进行的并发呼叫量;②系统处理能力是通过BHCA或者CAPS来衡量;③软交换延时是指软交换对消息的转发时间。

性能测试采用的是SIPp工具技术,SIPp是一个测试SIP协议性能的工具软件,它包含了一些基本的SipStone用户代理工作流程(UAC, UAS),并可使用INVITE, BYE建立和释放多个呼叫。也可以读XML的场景文件,即描述任何性能测试的配置文件,它能动态显示测试运行的统计数据。

1.4性能监控客户端

性能监控客户端的作用是在测试過程中监控软交换系统的性能指标。性能测试指标一般可划分为业务指标和系统资源指标两大部分,对于一般用户而言,关注的主要是业务指标,而系统资源指标是系统性能的一个反应,它可以帮助分析系统性能瓶颈、优化系统或者发现一些隐形问题[4]。性能监控客户端主要监控系统资源的指标,业务指标在具体的性能测试用例中进行验证。通常系统资源指标包括CPU、内存、硬盘、外置存储及网络带宽的使用率等,一般的原则是超过80%的使用率则需要进行资源调整和优化。

性能监控使用nmon工具可以实时监视和记录所有性能参数,使用哑屏幕在屏幕上对数据进行显示,并且每隔数秒对其进行更新。nmon工具还可以将性能数据捕获到一个文本文件,然后通过nmon_analyse分析工具分析文件和绘制图形直观地显示各个性能参数的趋势浮动变化。

2软交换自动化测试平台应用

2.1业务功能测试应用

自动化测试平台目前可以覆盖软交换所有常用的功能业务,包括无条件前转、无应答前转、遇忙前转、不在线前转、简单通话、会议功能、遇忙强插、遇忙回叫、呼叫等待、多方通话、缩位拨号、呼叫保持、呼叫转移、呼叫组、免打扰和指定代答等共计16个模块,执行用例数量200多个。一位经验丰富的测试工程师经过数据配置、用例执行和结果统计3个过程完成这200多个用例,大概需要24个工时,而采用该工具后只需要不到4个工时,仅占人工测试用时的1/6。

根据用户现场实际使用场景组合各种常用业务进行场景模拟,采用80/20原则(80%的业务在20%的时间内发生)计算出稳定性测试的基准模型,充分利用晚间和周末的非工作时间对系统进行大量多次的功能验证,充分保证了系统的稳定性。

2.2性能测试应用

性能测试自动化程度达到100%覆盖相关的测试用例。可靠性测试是各个常用功能的长时间测试的可靠性。其他性能测试有BHCA或CPS[5]、最大注册在线用户数、同时最大呼叫数、过载保护测试和多方会议性能测试。

在没有引入自动化测试之前,以上测试项靠人工几乎是很难实现的,但引入了自动化工具以后则是一件简单的事情。性能测试执行界面如图3所示。性能测试模块不仅关注业务指标是否满足了行业需要,通过性能参数监控还可以确保系统的各项内在指标正常,基本上排除内存泄漏、性能瓶颈和一些隐形的问题[6],性能监控如图4所示。

3结束语

经实际运用后,软交换自动化测试平台的意义在于:①大大提高测试效率,自动化测试可以避免大量繁琐耗时的手工测试;②弥补手工测试的短板,有些非功能性的测试单用人来测试是不可能达到的,但是引入了自动化测试以后变得很简单;③具有一致性和可重复性,很容易发现被测系统的改变;④更好地利用资源,工具完全可以在非工作时间的夜间和周末执行测试,充分地利用公司资源,缩短开发和测试的整个周期。然而,自动化也有其本身固有的局限,如果功能产生变更,就需要人工重新编写测试用例和测试脚本,维护成本比人工测试较高,要想实现更多软交换支持的其他协议的自动化测试,仍需要针对该平台进行持续集成。

参考文献

[1]京东研发—虚拟平台.京东质量团队转型实践———从测试到测试开发的蜕变[M].北京:人民邮电出版社,2018.

[2]蔡颖,生旭彬.电话网络通信系统的软交换技术研究[J].信息与电脑(理论版),2017(12):160-162.

[3]张庚,苏斓,丁慧霞,等.软交换设备SIP测试方法研究[C]//中国通信学会普及与教育工作委员会.2012年電力通信管理暨智能电网通信技术论坛论文集,北京,2013:441-445.

[4]符强,陈能技,潘绍强.深入浅出性能测试于LoadRunner实战[M].北京:电子工业出版社,2016.

[5]唐君.软交换性能测试技术[J].电信网技术,2009(8):63-67.

[6]谢辉.软交换系统的自动化测试平台ATS的研究和实现[D].武汉:华中科技大学,2005.

猜你喜欢

自动化测试
基于Java反射的APP自动化混合测试框架的研究与实现
Hadoop性能测试自动化研究
数据驱动和关键字驱动的研究与应用
浅谈空调控制器自动化测试
基于多总线结构的电路板测试系统设计研究
航空航天与国防电子新形势下自动化测试系统的应用
基于CTI—TET和SeleniumWebdriver的Web应用自动化测试框架的设计与实现
自动化测试实现研究
一种航空交换机中CAN总线的自动化测试方法
基于Selenium进行Web应用测试研究