logo资料库

论文 项目背景.doc

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
《论软件软件测试方法和工具选择》 摘要:本文着重讨论了多媒体内容发布网络平台(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,主要是对 多客户并发上传进行性能测试。 目前,该项目已经在工期顺利完成,试运营这几个月来,运行情况良好,系统的安全性 和并发性均达到了预期目标,整个项目小组受到本公司领导和甲方的一致好评。但我个人认 为作为一名优秀系统分析员应该不断的去追求完美,去做到精益求精: 一、 宽带视频系统大部分任务是提供娱乐性节目,用户在观看娱乐节目的过程中 更注重节目的整体性和连贯性,因此,稳定性对于视频系统而言是十分关键的 一点,如何在有限带宽的情况下如何更好的提高系统的稳定性是我们还需要 做的更好的地方。
二、 流媒体最大并发流数目是宽带视频应用的瓶颈。我公司在并发业务/服务的研 究方面属于国内领先,然而在这个领域如何与世界知名企业同步或者超过他 们,这也是我们今后努力的方向。
分享到:
收藏