流媒体服务器的自动测试系统

发表于:2012-5-17 10:14

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:曲绍云 董琪    来源:51Testing软件测试网原创

  摘要:随着网络带宽的日益增加,流媒体应用的规模与范围也日益扩大,如何测试评价流媒体服务器的功能性与性能就成为一个亟待解决的问题。本文设计与实现了一种流媒体服务器的自动测试系统。该系统通过输入的测试任务,利用测试服务器与测试客户端的两层架构对流媒体服务器进行测试。该系统能够测试流媒体服务器对于RTSP协议的支持情况,接收和分析RTP包中帧数据的准确性,并且可以测试流媒体服务器的性能。实验表明,该系统具有良好的可用性,可以实现高效灵活的测试需求。

  引言

  目前,随着移动增值业务的快速发展和第三代数字通信技术的实施,移动增值业务已经不再仅仅局限于短信、彩信、彩铃等窄带业务,用户对于在移动网络环境下点播和观看视频的需求越来越迫切。流媒体技术作为在互联网上实时传输音、视频的主要方式,成为一种在数据网络上传递多媒体视频数据的主流技术。如此,流媒体服务系统对于作为承载多媒体基本业务的流媒体服务器的评估也显得由为重要。

  当前的流媒体系统包含了多种网络接入方式,多种软件体系架构,及多种应用场景如电视会议系统、网络电视(IPTV)系统等。如何有效的测量各种系统所提供的视频业务支撑能力就成为一个有待研究的问题,此类问题直接关系到各流媒体系统的优越性、实用性以及其重大革新意义的展现。并且当前的各个流媒体系统都面临不断升级的需求,对于系统升级前后的兼容性、一致性也需要给出评价。

  由于音频、视频信号很难量化表示,目前对流媒体服务器的测试方法一般还是通过人工“察言观色”的方式完成,即测试人员通过STB (Set-Top-Box,机顶盒) 或Web页面与流媒体服务器建立连接,由测试人员发起测试,并对测试结果进行主观判断,分析系统的工作情况。但是由人工来测试工作量将非常大,并且人工测试也很难提取服务器的各种性能响应参数,验证检查力度不够,测试有效性低,不够全面,可维护和可扩展性差,测试效果不理想。

  这里列举几个常见的问题实例:

  1、手工测试过程中,大量的精力花在输入数据、执行测试用例,监听观看系统的音视频输出是否正常上,无法集中精力到关键问题,如提高测试的有效性,编写更多更好的测试用例等。

  2、由于采用人工判断的方式,所以无法对系统的性能指标进行量化分析。

  3、测试工作中许多操作是重复性的、非智力性的和非创造性的,并要求准确细致地完成,对于重复性手工测试很难保证每一次测试的效率与有效性。

  4、如果有大量(如几千)的测试用例,需要在短时间内(如1天)完成,手工测试几乎不可能做到

  为解决手工测试存在的问题,我们很自然的就想到了自动化测试。自动化测试的优点有很多,如快速、可靠、可重复性、可重用性等等,这些优点使得自动化测试在流媒体服务器测试过程中的地位不断提高,成为评价流媒体服务器的重要方法。

  本文研究的主题就是如何设计实现针对流媒体服务器的自动化测试系统,达到快速量化的判定流媒体系统的目的。该测试系统包括以下内容:

  ● 流媒体操作功能测试

  ● 流媒体数据有效性正确性验证;

  ● 流媒体系统性能测试

  流媒体技术概述及研究现状

  在流媒体(Streaming Media)技术出现之前,人们若想从网络上观看影片,必须先将影视文件下载到本地,然后才可进行播放。流媒体技术的出现客服了这个限制,它可以让用户不需要将整个影音文件下载到用户机器,而是一边下载一边播放。所以流媒体是指在数据网络上按时间先后次序传输和播放的连续音、视频数据流。流媒体数据流具有3个特点:连续性、实时性、时序性,即其数据流具有严格的前后时序关系。这种提供一边下载一边播放的服务系统称为流媒体服务系统。所以对于流媒体服务系统的评价需要测试系统的数据延时,丢包率,比特率等指标;不仅如此为不断提升移动环境下流媒体业务的服务质量,需要通过不断提升服务器能力,提升终端能力,增加传输和编码效率等办法来多方面地提升整个移动流媒体系统的性能。而提升系统性能的前提是对目前系统性能可以进行准确地测试和评价。

  目前,对流媒体服务器的测试多关注与流媒体服务器的性能测试。流媒体服务器性能测试指标主要有最大并发流数目、带宽波动、丢包率和平均响应时间等,其中最大并发流数目是关注的最多的。最大并发流数目是指流媒体服务器能够支持的有效的、能够同时在线正常观看节目的最大用户数目。

  ……………………

  查看全文请点击下载:http://www.51testing.com/html/56/n-811856.html

  3.3 RTP流的测试

  流媒体服务器通过RTP协议封装音频和视频流。流媒体自动化测试系统通过捕获发送的RTP流并分析这些RTP流来判断流媒体服务器的性能。

  RTP流中封装的是流媒体服务所需的音频流和视频流,其中音视频都是通过特定的压缩技术对音视频流进行编码,目前视频流传输中最为重要的编解码标准有国际电联的H.261、H.263,运动静止图像专家组的M-JPEG和国际标准化组织运动图像专家组的MPEG系列标准。这些标准都采用帧作为每一幅画面的单位,为了支持多种协议的编码格式,本文论述的流媒体自动化测试系统不直接按照各种协议分析帧数据,而是对所有的协议采用统一的处理方法,这样增加了测试系统的通用性。

  具体的方法,按照PTS建立每一帧的索引,对每一帧的数据应用MD5算法产生信息摘要;然后对接收的媒体流与预存的媒体流中相同帧进行一次MD5校验,从而得出结论当前帧是否完全。

  RTP流中另一个重要的指标为丢包率,由于流媒体服务器需要经过对流媒体数据的编码和加密后将数据压缩到RTP数据包中,所以测试系统无法从简单的统计RTP包的个数中得到丢包率。本文论述的流媒体自动化测试系统根据RTP流中每个RTP包必须顺序传送来计算丢包率。

  具体的方法,根据当前RTP包的序号判断下一个RTP包的序号,如果RTP包的序号不符合,则丢包加一;然后在根据新的RTP包的序号判断下一个RTP包的序号。在数据流结束时,根据丢包数与总的RTP包数计算丢包率。这样丢包率数据同时也可以反映数据传输的乱序问题。

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号