温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
项目
背景
《论软件软件测试方法和工具选择》
摘要:本文着重讨论了多媒体内容发布网络平台(CDN)及VOD系统的项目开发中的软件测试环节;该项目是某省电信部门委托我公司开发的为全省14个地市30万宽带用户提供一个高质量的基于流媒体的宽带VOD服务,实现各地用户就近访问流媒体边缘缓存服务器,并提供完善的商业运营管理功能。本文介绍了项目的软件、硬件设计架构,并详细讨论了软件测试中单元测试和性能测试中所采用的测试策略和测试工具。在现在看来,还存在一些××方面的不足。
在整个项目中,本人作为项目技术主要负责人之一,参与了整个项目的分析设计和测试过程。
正文:
我公司是专注宽带视频应用技术开发的企业,产品主要应用与电信和广电等领域。2005年7月,受某省电信部门(甲方)委托我公司(乙方),开发一套“多媒体内容分发网络平台(CDN, Context Delivery Network)及VOD系统”,(简称CDN平台),在全省 14 个地市建立 CDN 分节点,为全省14个地市的30万宽带用户提供 11000户视频点播功能;同时为内容提供商(CP)服务提供商(SP)提供完善的商业运营后台管理功能。
我作为项目主要负责人之一,参与了该项目的分析、设计以及测试的工作。
根据业务需求我们将CDN平台划分为3层次:内容服务集成层、媒体内容频道层、宽带用户层。
内容服务集成层为内容提供商(CP)提供商业运营和管理的支撑平台;实现手动/自动方式入库;内容审核;节目源管理;入库的内容综合集成。
媒体内容频道层利用我公司在全国电信的CDN平台进行内容分发管理;用户分级授权管理;综合计费管理方式;节目版权保护等;并提供宽带VOD应用门户界面。
宽带用户层主要是为宽带用户提供服务;用户可以通过Web方式访问宽带VOD应用门户网站,享受媒体点播、网络电视台、远程教育等服务;用户通过宽带账号绑定、在线支付等方式进行缴费;可以通过Web嵌入式播放器或者独立播放软件、手机/PDA播放器进行媒体点播。
该项目架设在J2EE框架基础上,采用B/S+C/S的混合结构;由于宽带用户并发访问量大,在架构上选用了当时主流的Struts+EJB组合;采用Struts+Delegate+SessionBean+CMP+Oracle9i(Struts+Delegate+DAO+Oracle9i)架构媒体内容频道层的宽带VOD应用门户(媒体点播、网络电视台、远程教育等)用户支付等模块采用基于Web的方式进行开发;对于内容入库审核模块,由于甲方需要规定要手动/自动进行大批量文件传送、而要求断点续传功能,故我们选择了自己用Swing技术编写客户界面并购买一个商用文件传送组件实现内容注入,采用C/S架构。
在硬件配置方面,在该省中心管理节点采用操作系统选用Linux RedHat9.0,应用服务器选用BEA公司的Weblogic8.1,数据库采用Oracle9i,全省14个地市共采用了23台视频服务器(Helix和 Windows Media Service),每台服务器上配置5*73GB的节目热播存储空间,同时在省中心节点还配置了2TB的NAS磁盘阵列作为后备存储空间。
该项目的业务功能很繁多,与电信业务接口交互多,性能和安全性要求高,项目建设时间紧,因此在系统上线前我们做好测试,选择合适的测试工具,尽可能发现各种错误和缺陷。在项目准备阶段,我们制定了详细的测试计划、确定测试的进度安排、使用工具以及我们根据项目时间要求和实际情况形成了本项目的测试策略、总体测试计划和详细测试计划。
整个团队有开发小组(编程人员+美工)和测试小组。根据项目的具体特点和应用要求,我们仔细分析了业务流程和系统的应用环境,确定系统的测试要素,据此编制了项目测试计划、测试用例,将测试划分为单元测试、组装测试、功能测试、性能测试、验收测试和安全性测试(安全性测试甲方委托第三方测试公司进行)。本文详细介绍我们测试过程中的单元测试、功能测试和性能测试。
单元测试的用例在详细设计中制定的测试标准,要求开发人员自己写测试代码、小组内同级审查和测试组抽查的相组合的测试策略。要求开发人员先写编写好测试用例,单元测试应该紧接在编码编译通过之后就进行测试。
由于项目涉及的用例非常多,我们对用例安装优先级进行了划分。单元测试中我们同样对类进行了优先级的划分,依据是:类对应用例的优先级、对系统是否产生严重后果、信息的价值。对于不同优先级的类进行不同的测试方法。先测试优先级高的类,以黑盒测试为主,对典型错误进行一定白盒测试的方法,每一步修改都要进行回归测试;中优先级的类根据具体情况决定测试方式,对核心的类采用动态运行测试,其余的同级审查;对于低优先级的类采用基本采用静态测试。
开发人员采用Eclipse+MyElipse进行开发,故选用J-Unit测试框架进行测试,具体方法采用StrutsTestCase进行测试,我们使用其中的Mock Object方法测试Struts中的Action Object、mappings、ActionForm以及forwards declasrations,我们采用StrutsTestCase模拟Web容器进行测试,检查出错误后在有开发人员自己调试排错,修改完后再进行回归测试。
系统的功能测试,我们主要考虑了页面链接测试、表单提交测试和数据库测试。
系统的宽带VOD应用门户提供了媒体点播、网络电视台、远程教育、网上家园等CP/SP提供的服务。为了保证用户通过应用门户网站查询、定购和使用各项业务,就必须保证站点所有链接的正确性。我们测试小组采用自动测试工具LinkBot,他能自动检查、分析站点所有页面链接,并生产详细的测试清单,报告链接页面是否存在、哪些页面未作链接。
对于表单提交测试和数据库测试,我们采用了运行测试的方法。测试之前,依据系统需求分析,对Struts中每个交换功能的页面设计测试用例,重点关注关键页面的测试用例,如用户登陆、在线支付、服务目录等页面。测试针对提交操作的完整性来进行,以校验给服务器信息的正确性,同时检查数据存取时的数据的一致性。例如:在表单不填写的情况下提交默认值,需要测试指定值和默认值的正确性;SP/CP用户登陆要求密码字符数字组合长度不低于8,测试时我们分别采用8位以上、8位以下数字、字符进行测试。
由于本系统要求提供11000并发数目点视频点播功能,因此对系统性能测试要求很高。且VOD节目采用点播方式进行传送,点播用户可以自由控制节目进度,终止节目的播放,但每个点播用户都要占用一定的网络带宽,因此并发用户数受到网络带宽、服务器性能的限制。VOD业务性能的测试指标我们主要测试最大并发流数目、宽带波动、所用的平均带宽、丢包率和平均相应时间。我们采用的策略是在各地市采用自动负载测试,实际工作中采用的是Webstress测试工具对每个地市节点用几十台PC机模拟数千台用户同时视频点播业务情景,同时记录下每一个事务的处理时间、Web服务器峰值数据、流媒体服务器性能和数据库状态,根据分析结果和经验服务器的配置进行了调优、和代码优化、SQL查询优化等措施。对于C/S结构的内容注入模块对于性能要求也比较高,我们采用PureLoad,主要是对多客户并发上传进行性能测试。
目前,该项目已经在工期顺利完成,试运营这几个月来,运行情况良好,系统的安全性和并发性均达到了预期目标,整个项目小组受到本公司领导和甲方的一致好评。但我个人认为作为一名优秀系统分析员应该不断的去追求完美,去做到精益求精:
一、 宽带视频系统大部分任务是提供娱乐性节目,用户在观看娱乐节目的过程中更注重节目的整体性和连贯性,因此,稳定性对于视频系统而言是十分关键的一点,如何在有限带宽的情况下如何更好的提高系统的稳定性是我们还需要做的更好的地方。
二、 流媒体最大并发流数目是宽带视频应用的瓶颈。我公司在并发业务/服务的研究方面属于国内领先,然而在这个领域如何与世界知名企业同步或者超过他们,这也是我们今后努力的方向。