欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载
     

    PIM_SNOOPING协议分析与测试硕士学位论文.doc

    • 资源ID:3903039       资源大小:767.50KB        全文页数:67页
    • 资源格式: DOC        下载积分:8
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要8
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    PIM_SNOOPING协议分析与测试硕士学位论文.doc

    浙江大学硕士学位论文 AbstractPIM-SNOOPING协议的分析与测试摘要组播技术早已自成为一个系统,组播协议分为组播路由协议和组播组管理协议,其中组播路由协议包含基本的PIM协议、类似IGMP和MLD的组播成员管理协议,还有跨域的MSDP和MBGP协议,在局域网内部的二层组播协议IGMP-SNOOPING等等。近年来新出了一种组播协议PIM SNOOPING,它是对IGMP-SNOOPING的补充和改进,更加利于减少带宽占用率,增强网络的健壮性。本论文详细探讨了PIM-SNOOPING的协议分析和测试。文章首先介绍了组播在局域网领域的应用,而后引申出PIM-SNOOPING,其中包括它的工作原理和配置指导。而后探讨了软件测试的流程并引申出协议测试的特点,最后重点诠释了作者在PIM-SNOOPING协议的测试过程中所做的工作。在测试过程中,主要有对配置,功能,性能等方面进行测试,使用公司系统内的和自己通过对协议的学习设计的测试用例,在测试的同时,加深了对协议的理解,也保证了协议在实际设备上的实用性。关键词:组播协议,PIM-SNOOPING,协议测试i浙江大学硕士学位论文 AbstractAbstractMulticast technology has long since become a system, multicast protocols and multicast routing protocols into the multicast group management protocol, multicast routing protocols that include basic PIM protocol, similar to the IGMP and MLD multicast members of the management agreement, as well as inter- domain MSDP and MBGP protocol, in the internal LAN Layer 2 multicast protocol IGMP-SNOOPING and so on. In recent years, out of a new multicast protocol - PIM SNOOPING, it is the IGMP-SNOOPING supplement and improved, more beneficial to reduce bandwidth utilization, enhance network robustness. This paper discusses the PIM-SNOOPING detailed protocol analysis and testing. The article first describes the application of multicast in the LAN area, and then come out of PIM-SNOOPING, including its working principle and configuration instructions. Then explore the software testing process and derive the characteristics of the test protocol, the final interpretation of the authors focus on PIM-SNOOPING protocol testing process work. During the test, mainly on the configuration, features, performance and other aspects of testing, the use of the company within the system and their own learning through the design of the protocol test cases, test at the same time, deepen the understanding of the agreement, but also to ensure agreement on the usefulness of the actual device. Key Words:Multicast protocol, PIM SNOOPING, Protocol test ii浙江大学硕士学位论文 目录目录摘要iAbstractii图目录III表目录IV第1章 绪论11.1 课题背景11.2 组播体系结构21.3 组播地址21.3.1 组播IP地址21.3.2 组播地址划分21.3.3 组播地址映射31.4 组管理协议IGMP(Internet Group Management Protocol)41.5 二层交换环境中组管理的实现IGMP SNOOPING41.6 现状71.7 本章小结8第2章 相关技术综述102.1 PIM-SNOOPING的提出102.2 软件测试工作规范流程102.3 软件测试的原则132.4 对网络协议测试特性的个人理解152.5 本章小结16第3章 PIM-SNOOPING的测试173.1 PIM-SNOOPING的测试173.2 PIM-SNOOPING验收测试的具体过程183.2.1 协调及熟悉测试设备和工具183.2.2 如何搭建测试环境203.2.3 如何配置环境203.2.4 配置测试223.2.5 对设计方案的功能实现测试313.2.6 流量分析测试463.3 本章小结50第4章 基于思科设备的测试实现514.1 思科设备测试实例514.2 本章小结55第5章 论文总结56参考文献57作者简历59致谢60II 浙江大学硕士学位论文第3章 绪论图目录图1.1 组播地址划分3图1.2 组播地址映射3图1.3 IGMP-SNOOPING工作原理图5图1.4 未使能pimsnooping时7图1.5 使能pimsnooping时8图2.2 每个阶段的问题发现率14图3.1 IXIA机图19图3.2 PIM SNOOPING 测试拓扑图21图3.3 PIM SNOOPING 配置测试拓扑图30图3.4 Hello报文格式34图3.5 Holdtime报文格式35图3.6 LAN Prune Delay报文格式35图3.7 J/P报文格式36图3.8 Unicast 格式图36图3.9 Source 格式图37图3.10 Group 格式图37图3.11 PIM SNOOPING 分片报文测试拓扑图42图3.12 组播跃迁状态图44图3.13 PIM SNOOPING 测试拓扑修改图45图3.14 PIM SNOOPING 测试正常流量图46图3.15 PIM SNOOPING 测试流量丢失图47图3.16 PIM SNOOPING 测试流量冗余图48图3.17 PIM SNOOPING 测试流量小波动图49表目录表1.1 D类IP地址格式2表3.1 测试用例模板表20表3.2 配置测试用例表24表3.3 PIM-SNOOPING配置表25表3.4 功能测试用例表33表3.5 下游状态及跃迁表38表3.6 二层转发表项状态机39表3.7 分片报文处理测试41表3.8 PIMv1报文处理测试43IV 浙江大学硕士学位论文第1章 绪论第1章 绪论1.1 课题背景历经20多年的研究和发展,从1988年Deering提出了将组播的功能机制增加到数据网IP层的组播实现体系结构开始,IP组播已经形成了较为完整的组播协议体系,包括组播主机和网络的交互协议、组播路由协议、组播的地址管理协议等。IETF RFC1112作为IP组播的标准业务模型的定义,对IP组播的业务提供的方式和形式进行了描述和定义。计算机技术与通信技术的结合促进了局域网的飞速发展。从20世纪60年代末ALOHA的出现到90年代中期千兆交换式以太网的登台亮相,短短30年间,局域网经过了从单工到双工,从共享到交换,从低速到高速,从简单到复杂,从昂贵到普及的飞跃。短短几年来,第2层局域网交换设备从一种昂贵的尖端设备变成一种成熟的耗费比较好的设备,交换机的使用已经十分广泛,但是同时带来一些在交换拓扑网络中使用组播的新问题。传统的IP通信是在一个源IP主机和一个目标IP主机之间(单播)或者一个源IP主机和网络中所有的IP主机之间(广播)进行的。如果我们要将信息发送给网络中的多个而非所有IP主机,要么采用广播方式,要么由源IP主机分别向网络中的多个目标IP主机单播发送IP包。广播方式不仅会将信息发送给不需要的IP主机而浪费带宽,也可能由于路由回环引起一场严重的广播风暴;单播方式由于IP包的重复发送而白白浪费掉大量带宽,也增加了服务器的负载。可以说传统的IP通信技术不能有效地解决单点发送多点接收的问题。组播是指信源将信息发向所有网络节点的某个确定子集的点到多点的通信形式。IP组播是指在IP网络中数据包以尽力传送的形式发送到所有网络节点的某个确定子集,这个子集称为组播组。IP组播的基本思想是源IP主机只发送一份数据,一个或多个接收者可接收相同数据的拷贝。即允许源IP主机向网上所有IP主机的一部分(子集)发送IP分组,只有该子集内的主机(目标主机)可以接收该分组,而网络中其它IP主机不能收到该分组。这种逻辑上的子集(目标主机)就是组播组,用D类IP地址(224.0.0.0239.255.255.255)来标识。IP组播技术有效地解决了单点发送多点接收、多点发送多点接收的问题,实现了IP网络中点到多点的高效数据传送,能够有效地节约网络带宽、降低网络负载。IP组播技术在实时数据传送、网络电视、多媒体会议、数据拷贝、游戏和仿真等诸多方面都有广泛的应用。1.2 组播体系结构组播协议按照作用范围分(在此为了叙述简洁,只对IPV4的组播协议进行划分,IPV6协议可类同),分为主机-路由器之间的组成员关系协议和路由器-路由器之间的组播路由协议。组成员关系协议包括IGMP(互连网组管理协议)。组播路由协议分为域内组播路由协议及域间组播路由协议。域内组播路由协议包括PIM-SM、PIM-DM、DVMRP等协议,域间组播路由协议包括MBGP、MSDP等协议。同时为了有效抑制组播数据在链路层的扩散,引入了IGMP Snooping、HGMP等二层组播协议,而今还有现在已开发并投入实现的PIM Snooping。IGMP建立并且维护路由器直联网段的组成员关系信息。域内组播路由协议根据IGMP维护的这些组播组成员关系信息,运用一定的组播路由算法构造组播分发树进行组播数据包转发。域间组播路由协议在各自治域间发布具有组播能力的路由信息以及组播源信息,以使组播数据在域间进行转发。1.3 组播地址1.3.1 组播IP地址在各种公共资料中均可以知晓,IP组播地址用于标识一个IP组播组。IANA把D类地址空间的一部分分配给IP组播,其范围从224.0.0.0到239.255.255.255。如表1.1所示(二进制表示),因此IP组播地址前四位均是1110。表1.1 D类IP地址格式八位组(1)八位组(2)八位组(3)八位组(4)1110XXXXXXXXXXXXXXXXXXXXXXXXXXXX1.3.2 组播地址划分如图1.1所示,224.0.0.0保留不做分配。IANA预留了224.0.0.1到224.0.0.255的组播地址,为路由协议以及其他低级拓扑查找及维护协议使用。该范围地址属于局部范畴,不论生存时间字段(TTL)值是多少,都不会被IP路由器转发。239.0.0.0到239.255.255.255被用作本地组播管理地址。其余组播地址作为用户组播地址。当IP层收到组播数据报文时,根据组播转发表进行转发。图1.1 组播地址划分1.3.3 组播地址映射如图1.2所示,以太网和FDDI的MAC地址01:00:5E:00:00:00到01:00:5E:7F:FF:FF用于将三层IP组播地址映射为二层地址,即IP组播地址中的低23位放入IEEE MAC地址的低23位。IP组播地址有28位地址空间,但只有23位被映射到IEEE MAC地址,这样会有32个IP组播地址映射到同一MAC地址上。图1.2 组播地址映射1.4 组管理协议IGMP(Internet Group Management Protocol)IGMP协议运行于主机与和主机直接相连的组播路由器之间,主机通过此协议告诉本地路由器希望加入并接受某个特定组播组的信息,同时路由器通过此协议周期性地查询局域网内某个已知组的成员是否处于活动状态(即该网段是否仍有属于某个组播组的成员),实现所连网络组成员关系的收集与维护。IGMP有三个版本,IGMPv1由RFC1112定义,目前通用的是IGMPv2,由RFC2236定义。IGMPv3目前仍然是一个草案。IGMPv1中定义了基本的组成员查询和报告过程,IGMPv2在此基础上添加了组成员快速离开的机制,IGMPv3中增加的主要功能是成员可以指定接收或指定不接收某些组播源的报文。这里着重介绍IGMPv2协议的功能。IGMPv2通过查询器选举机制为所连网段选举唯一的查询器。查询器周期性的发送普遍组查询消息进行成员关系查询;主机发送报告消息来应答查询。当要加入组播组时,主机不必等待查询消息,主动发送报告消息。当要离开组播组时,主机发送离开组消息;收到离开组消息后,查询器发送特定组查询消息来确定是否所有组成员都已离开。另外,对于作为组成员的路由器而言,该路由器的行为和普通的主机一样,它响应其它路由器的查询。通常本协议中,“接口”指在一个所连网络上的主接口,若一个路由器连在同一个网络上的接口有多个,则只需要在其中一个接口上运行此协议即可。另一方面,对主机而言,则需要在有组成员的所有的接口上都运行此协议。通过上述IGMP机制,在组播路由器里建立起一张表,其中包含路由器的各个端口以及在端口所对应的子网上都有哪些组的成员。当路由器接收到某个组G的数据报文后,只向那些有G的成员的端口上转发数据报文。至于数据报文在路由器之间如何转发则由路由协议决定,IGMP协议并不负责。1.5 二层交换环境中组管理的实现IGMP SNOOPINGIGMP组播成员管理机制是针对第三层设计的,在第三层,路由器可以对组播报文的转发进行控制,只要进行适当的端口配置和对TTL值的检测就可以了。但是在很多情况下,组播报文要不可避免地经过一些第二层交换设备,尤其是在局域网环境里。如果不对第二层设备进行相应的配置,则组播报文就会转发给第二层交换设备的所有端口,显然这会浪费大量的资源。IGMP Snooping可以解决这个问题,不过IGMP Snooping会降低二层交换设备的处理能力。为了有效抑制组播报文在二层广播,华为公司提出了HGMP协议。众所周知,交换机是靠硬件转发,早起交换机的转发硬件效率较为低下,主要由交换机主CPU完成所有的交换任务。随着硬件的发展,现在的高端交换机的交换查找等工作一般已经不由CPU来完成,而在第2层就可以完成,这样就可以以“线速”在输入与输出端口间交换帧。而交换机在2层进行转发,就会出现组播报文向所有端口进行转发。为解决这个组播扩散问题,现在主要由两种方法,一是IGMP-SNOOPING,该方法比较容易实现,但是有较大的局限性,对硬件的要求很高,如果用没有第3层意识的ASIC来增强CPU的处理组播信息能力的情况下实现该方法,局域网的性能会受很大影响。第二种为CGMP,这是思科的一个私有协议,所以只有较少厂家的设备支持该协议。IGMP-SNOOPING是当前实现最多的一致局域网交换机上的组播信息扩散的方法,大部分的制造商都会加入该功能。并且IGMP-SNOOPING已经写入了RFC中。以下是IGMP-SNOOPING的工作原理图1.3:图1.3 IGMP-SNOOPING工作原理图IGMP-SNOOPING的功能是实现当路由器和主机之间的IGMP会话,同时不会让组播报文转发到其他未要求组播功能的主机上。即使能IGMP-SNOOPING的交换机会将组播协议报文在同一VLAN内广播,但是不广播组播数据报文,同时将收到组播协议报文比如PIM报文和IGMP查询报文的端口设为路由器端口。连接路由器的端口必须要加入所有组播CAM表项的出端口表中,原因是路由器必须不加选择地接收所有组播组的所有组播信息。假设在网络上主机A,B,C,D,分别连接交换机的2、3、4、5端口,路由器连接到端口1,发往端口0就是指该报文交给CPU处理。这里简单介绍下当在本地子网上有一对主机要加入组播组时,交换机的处理过程。主机A首先希望加入组播组224.1.2.3,因此组播一个IGMP成员关系报告给改组,报文的MAC目的地址0x0100.5E01.0203.当交换机收到该包时,首先查找CAM表,因为是第一次发送到该组的包,所以此时CAM表上没有这个组播MAC地址的转发表项,所以该包被从交换机的所有端口转发出去,包括到交换机CPU的端口0。此时CPU收到了主机A组播的IGMP成员关系报告,则CPU使用IGMP报告中的信息简历一个CAM转发表项,该转发表项的匹配项为目的地址0x0100.5E01.0203,出端口表包括主机A的端口号2、路由器端口号1和CPU的端口号0。该CAM表项形成后,任何目的地址为0x0100.5E01.0203的组播报文都将只在端口0、1和2转发,而不再向其他端口扩散,但是交换机的CPU仍然在接收这些报文,因为它必须注意地址为此MAC地址的其他IGMP消息。此时主机D也想要加入该组,并主动发送一个IGMP成员关系报告给该组。交换机根据查找CAM表的结果向端口0、1、2转发IGMP成员关系报告。因为交换机的CPU也收到了此IGMP成员关系报告,它还要在CAM表项上位MAC地址0x0100.5E01.0203的转发表项增加一个端口,在这个端口上也能听到该报告。此时该转发表项的出端口也变为0、1、2、5.至此,任何目的地址MAC为0x0100.5E01.0203对应组播组224.1.2.3的组播信息发送被限制在仅仅主机A、主机D、路由器和CPU上,而不会被转发到其他的端口上。由此可见,IGMP-SNOOPING只是解决了组播数据报文的冗余现象,但是并没有解决组播协议报文冗余的情况。如果在交换机上有大量的组播协议报文从端口进入,那么使能了IGMP-SNOOPING的交换机只会将其广播,并同时会上送CPU处理,这会大大降低交换机转发性能,并且导致网络带宽被无端的浪费和占据,同时一些没有组播需求的端口会收到这些组播协议报文,没有起到抑制过滤作用,其影响也是会根据实际情况而估定的。1.6 现状目前在市场上的交换机只支持IGMP Snooping,监听PIM Hello报文维护路由器端口,保证所有组播数据项路由器端口转发,并不监听其他类型的PIM协议报文,对于所有PIM协议报文VLAN内全部广播。在这种情况下,如下图1.4所示,在连接多台PIM路由器的交换机上,数据报文和协议报文不能保证只想有接收需求的设备转发,无接收需求的设备会接收到冗余流量。图1.4 未使能pimsnooping时通过在连接多台PIM路由器的交换机上实现PIM SNOOPING,监听PIM协议报文,维护连接PIM路由器的交换机各端口PIM相关的属性和状态,了解各PIM路由器组播数据的接收需求,从而只将PIM协议报文和组播数据报文想有接受意向者转发,避免了冗余流量的产生。PIM协议份DM和SM两种模式,考虑到DM模式对于组播流量采取“推”的方式,并且应用场景大都是一些小规模、接收者比较集中的网络,这种情况下PIM SNOOPING功能实现“只向有接受意向的端口”精确转发意义不大,只简单实现成数据流量向所有PIM邻居端口转发;通过分析思科交换机实现也是处理成这样。如图1.5所示:图1.5 使能pimsnooping时还有本人在实习过程中也是在做有关组播测试工作,并且参与了PIM-SNOOPING协议的系统验收测试。1.7 本章小结组播是一个自成体系的网络协议大家庭,里面包含了所有的网络协议相关的理论知识。曾今我的一位导师说过,学好了组播就等于学好了路由,其观点也是有一定道理的。它所包含了从三层路由到二层支持,等等。而PIM SNOOPING可以说是这个大家庭中新的一员。三网合一需要组播,IPTV需要组播,甚至连简单的网络视频也需要组播,组播在今后的应用只会更广,更宽,更进步。软件测试是一门还处于发展中的职业,它在国内的起步比较晚,发展空间大,同时各项各行软件行业都需要用到,并且在软件测试中,从手工到自动,从单元到系统,从初次到回溯,各种测试类型分门别类,在不同的软件或者工业行业中的应用也是不相同的。在网络组播的测试中,是对网络设备软件平台的测试,同时包括驱动软件和上层软件的测试,在测试过程中不仅会涉及到组播,也可能会涉及到其他网络领域,如支撑、路由、二层等等。本章节系统的讲述了组播的发展历史、现状以及与本论文PIM SNOOPING相关的IGMP和二层组播IGMP-SNOOPING,还有一些组播测试的基本知识。由此引申出PIM SNOOPING的实现原因,以及对其测试的重要性。 本论文是本人在杭州某通信公司实习后所得的研究课题,重点在于阐述了PIM-SNOOPING的提出背景、技术实现和测试工作。 本人在公司实习时主要参与的是测试工作,因此在文章最后的几个章节将详细阐述本人在PIN-SNOOPING测试工作中的经验所得和对测试工作的总结。9 浙江大学硕士学位论文第2章 相关技术综述第2章 相关技术综述2.1 PIM-SNOOPING的提出在RFC3488中有这么一个章节这么描述PIM-SNOOPING:“Appendix C. Possible future extensions / comparison to PIM SnoopingThis appendix is not part of the RGMP specification but is provided for information only.”大致的内容讲就是在未来PIM-SNOOPING是PIM发展进化过程中的一种可能,并且是解决二层组播路由协议报文广播的一种很好的有效机制。同时它也描述了PIM SNOOPING的实现必须在IGMP SNOOPING支持之下。以及更多的描述了PIM SNOOPING的细节问题。虽然RFC3488在这个章节中说,PIM SNOOPING只是一种可能,但是现如今,继思科之后,通信领域上已经相继出现了具备PIM SNOOPING的功能的产品。2.2 软件测试工作规范流程测试工作不仅有一定的流程,也有一定的规范和原则,其中规范已经在多年的发展中形成了一套规范流程。首先我们要制定和确认测试进度,在制定测试进度时,需要如下几个规范:1.必须由开发和相关的测试部门共同制定和确定测试进度。在制定过程中,必须重点放在如何合理的配置测试资源,比如测试设备、测试人员及对其的培训、测试所有用到的技术文档资料 等。2.量化制定好的测试进度,使其制定的测试进度正常并且有效。在此过程中,要对各个测试阶段分别制定测试进度。特殊情况下指定特殊系统的测试进度。比如资料库内容功能测试等。3.测试进度中必须要包含修改和复查的时间。制定完测试进度后,还需要有相应的监控方法,其中有些基本的监控方法是必须的。其中有通过测试阶段时间的时间段进行监控;通过测试用例过程的执行情况进行监控;根据测试通知单的平均反馈时间和更改程序的速度;根据问题趋势图。在测试过程中,如果实际测试进度与制定的测试进度不相符合,必须先找主要原因,根据主要原因进行解决。修改过程及修改结果必须由开发和相关测试人员共同决定。在做完制定测试进度工作后,如图2.1所示,接下来是测试前的输入条件和测试准备的输出资料。其中测试前的输入条件有如下几个,包括必要的测试技术文档资料。本人在测试过程中也是由主管先发一份技术资料让测试人员先进行预先准备。一般测试设计说明会在正式测试前20到30天给出,由相关开发提供。测试设计说明包括以下内容: 1、开发和测试进度表 2、产品规格说明书 3、测试规划及设计思路,及专业模块的使用说明。 4、测试的数据边界值及合理的输入输出数据结果类型的说明。 5、对于测试内容的引导性建议。 6、测试中的具体操作步骤(特别是指在测试硬件中和可靠性测试)以上的在PIM-SNOOPING的特性测试工作中也是包括在内的。 同时,在每个测试阶段之前,根据之前的测试工作情况,开发必须做好说明,并提供相关资料,其中包括问题的修改情况及其影响,还有这次测试的目的和内容。对于上述的输入条件,在无特殊原因必须并且应该经过开发和测试人员共同评定。测试人员对于不符合测试要求的内容可以回馈给开发分析和修改。 在实测前,我们测试人员会做一段必要的测试准备,根据测试设计说明,制定测试大纲、测试设计、测试用例等主要的测试文件。这就是测试准备的输出内容。同样,无特殊原因,必须提供,如遇到问题,测试人员应该和开发协商。 测试前,还需要准备各种测试文件和工具,还有如果更改都需要开发和测试共同检查并且确定。接下来就是确定测试阶段 :根据上述的准备,测试活动可以分为单元测试阶段、确认测试阶段、系统测试阶段和验收测试阶段。在这个过程中,要合理安排每个测试阶段的时间,同时将有可能改变的情况考虑在内。测试计划会随着测试阶段的变化而变化。每个测试阶段结束后,会对阶段完成的工作是否达到要求,测试项目是否达到技术规划要求,该阶段的输出内容是否达到要求等进行检查和评审。之后按照图2.1所示,是各个测试阶段,单元测试、系统测试、验收测试在上个章节已经给出,在此不做重复。在这里,重点说下测试通知书,也就是在测试过程所测得的问题反馈到开发人员的过程方式。 开发人员会对测试通知书进行分析,如果需要修改问题,则给出修改方法,如果不需要,则给出相应的具有力量的理由。在测试过程中发现的问题也会因为程度不同而被划分为不同等级。一般对问题可以划分为四个等级: 1、 A类:造成系统严重破坏或者崩溃的,并使系统运行受阻无法运行。 2、 B类:造成系统功能严重破坏或者崩溃的,但是复位或者重灌系统后依然可以继续运行。 3、 C类:系统功能中出现的一般性问题,主要是引起功能失效,会造成操作上重大误解的。 4、 D类:系统功能在设计和开发中由于考虑不周引起的问题,即可能会造成系统在使用中会出错的隐患或造成使用中会产生歧义的。 如果是属于A类问题,是要进行修改并且会对开发进行一定的警告。问题单修改后,开发会将问题提交到相关测试人员手中,进行回归测试,如果开发要求测试人员对问题进行复现,该过程是很关键点的,因为该问题可能不会再出现。所以测试人员对此要重视。一般情况下,测试通知书会保留在测试部,并做存档。而开发那边是没有保留的。下面重点讲下验收测试,因为本人在该项目中所做的测试工作就是验收测试。验收测试是在系统测试之后的,相当于该产品已经成型了,不过要在实际情况下进行模拟测试。验收测试的先决条件是:软件和硬件系统和生产出来的产品情况要一致;被测系统要符合技术文档和标准规定;验收测试是在系统测试之后。其中第一条是最基本的。验收测试中所用到的测试用例在一般情况下是要重新制定的,因为要考虑到实际环境情况。一般验收测试的整个周期是4到7天,当然具体情况下也可能会有所改变。一般验收测试中除了按照测试用例来执行测试外,还会要求测试人员根据自己的测试经验进行发散测试。开发在验收测试阶段是不能对系统进行修改的。验收测试跟封板测试不同,它必须是在封板测试后进行。封板测试时要提交报告,经上级确认后才能封板。验收测试是最终测试。测试结束后,要做一份测试报告,进行总结,然后经测试部门确认后保存。每个阶段中测试通过的标准有如下两条:即保证A类和B类问题都应该保证全部修改,并且不会再有复发的情况发生。最后是评审验收报告和提交软件的流程。验收报告出来以后,要附带上该版本的未改问题报告同时提交到开发中心、质检部、PMC部、生产工程部审阅,并且要分别签字通过。 所谓的未改问题报告,会在评审验收报告通过后,复印一份到开发中心那作为技术资料。验收报告会回到测试部门,作为部门的机密文件保管。验收报告评审通过后,开发会将程序下载单和软件一起交给测试部门,测试部门经仔细检查后,审核通过,并将软件复制做备份。然后提交程序下载单和软件到生产工程部门检查,同时将程序下载单复印做备份,最后程序下载单会返回到测试部门。 测试部并在订单施工单中确认软件。2.3 软件测试的原则一般的软件测试原则有以下6条:1、尽早和不断地进行软件测试;在测试过程中问题的发现率跟每个阶段的关系如图2.2:图2.1 每个阶段的问题发现率由此可见,问题发现越早,解决问题的代价就越小,这是软件开发过程中的黄金法则。2、不可能进行完全的测试:对一个程序进行完全测试的概念就是整个测试结束后不会再发现其他错误了。其实,这是不可能的,因为可能输入项是无穷尽的,不能保证程序对其所有的响应;不可能保证遍历到程序的每一条可能的执行路径;不可能找出所有的设计错误;测试是项逻辑工作,但不能单靠逻辑来证明程序的正确性。3、增量测试,由小到大由小到大的增量测试,指的是对软件测试的粒度的测试由小到打。不仅是传统的软件测试还是面向对象的软件测试都要遵循增量测试这样的原则。这是因为从集成测试到系统测试阶段,随着测试的深入扩大,测试时间和测试所用的资源也随之扩大。4、避免测试自己的程序避免程序员测试自己的代码的主要原因归纳如下:(1)程序员轻易不会承认自己写的程序有错误。(2)程序员的测试思路有局限性,在做测试时很容易受到编程思路的影响。(3)多数程序员没有严格正规的职业训练,缺乏专业测试人员的意识。(4)程序员没有养成错误跟踪和回归测试的习惯。5、设计周密的测试用例测试用例是软件测试对测试内容进行测试的一个重要手段。测试用例基本包括如下几个信息:(1)测试前的准备条件。(2)合理的有计划的输入(3)合理的根据输入所得到的预期输出6、软件测试中也存在着思维的误区,比如很多人认为调试和测试是一样的,其实不然,调试是开发在开发程序时所用的一个手段,而测试是和开发并列的一个工作。还有软件测试的重要性,很多人都认为测试工作并不重要,这是非常错误的想法。另外在测试过程中对Beta测试和自动化测试过分依赖,在测试过程中朝着自动化的方向发展是正确的,但是现在的实际情况并不能满足这样的要求,并且现今的自动化测试工作和Beta测试工具也并不完善,过分依赖只能说是偷懒的行为。还有人认为测试是有尽头的,这也是个误区,测试是无穷无尽的,根据规律,发现的问题越多说明潜在的问题也越多。测试是证明软件的正确性是个观念上的错误,测试是保证软件质量的一个手段。同样测试也需要设计,并不能忽略测试的设计工作。2.4 对网络协议测试特性的个人理解我是在一家通信公司的软件部做的实习,具体的工作就是对通信设备上公司自主研发的软件平台进行系统测试,负责的模块是组播。组播是个很大的协议体系,独立于路由、MPLS、二层协议而自成为一个测试小组。在公司导师的指导下,我接触了组播内大大小小的协议,如IGMP、MLDV1、MLDV2、PIM SM、PIM DM、组播VPN、IGMP SNOOPING等等,对网络协议的测试也有了一定的了解。网络协议测试和一般的软件测试一样,在软件需求阶段就已经开始了,之后是测试设计,单元测试,代码鉴定,以及之后的集成测试,系统测试等等。它的工作流程和工作规范都是非常严谨和科学的。在系统测试中,网络协议测试的分类会有所不同,它分为配置测试、功能测试、性能测试、压力测试、协议一致性测试、组合测试、互通测试等等。其中的配置测试是指对协议所涵盖的命令在平台软件上能够buildrun,即能够配置上去。功能测试是指协议按照之前所设计的要求能够使能,基本上是按照RFC来执行、设计测试用例。RFC是网络协议的宪章,几乎所有的网络协议的实现都是来自于它,在百度百科上,这样写着:Request For Comments (RFC),是一系列以编号排定的文件。文件收集了有关因特网相关资讯,以及UNIX和因特网社群的软件文件。目前RFC文件是由Internet Society(ISOC)所赞助发行。而由于很多RFC都是由思科制定,所以在网络通信公司有个不成文的规定,即如果协议在设计上或者在测试功能上有出入,按照思科设备为基准。当然不同的公司在协议实现设计上会有所不同,就会有些公司特定的私有协议。为了能够让设备在市场上更有竞争力,通常设备会兼容其他公司的通信设备,此时就需要进行互通测试。协议一致性测试是网络协议独有的测试,所谓的协议一致性测试就是指设备实现跟RFC所描述的要一致,这种测试极其考量测试人员的知识功底,他需要对RFC中该特性的描述非常熟悉,当然在测试用例中也会详细指出测试步骤。性能和压力测试有时会结合在一起,比如在组播测试中,通常会要求测试该设备在最大数目的组播流下也能正常运作,此时一般的测试步骤就是使用IXIA打入性能规格所要求的最大组播流数,同时对设备进行组播组清除的操作。所谓组播组清除的操作就是使用VTP,敲入“reset multicast routingtable all”,该命令可以清除设备上平台软件和驱动上所有的组播组表项,这样就可以达到组播流暂时消失的情形,当然持续的打流会让设备重新建立组播组表项。这样的测试需要很长的时间,一般使用测试脚本让其自动运行一个晚上即可。测试脚本是用ATF的TCL语言,使用非常简单。TCL语言非常类似于C,它唯一的不同就是所有的变量都是字符串形式。所以只要掌握简单的命令字符,就可以写出常用的测试脚本了。2.5 本章小结本章节详细阐述了PIM SNOOPING的由来,软件测试的工作流程和工作规范,

    注意事项

    本文(PIM_SNOOPING协议分析与测试硕士学位论文.doc)为本站会员(小小飞)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开