IxiaAutomationtestingsolution--IxiaAPIprogrammingusingtclRogerYang(杨卓)2006.3©2006Ixia.Allrightsreserved.议程1.关于自动化测试:–什么是自动化测试–为什么需要自动化测试–何时需要部署自动化测试–哪些用户需要自动化测试2.Ixia自动化测试系统概况–系统概况–测试编程接口概况–三类测试编程接口介绍3.Ixia工程服务(ICE)4.IxiaAPITcl编程–LoadIxiaLibrary–Connecttoachassis–LoginandTakeownership–ConfigPorttransmitparameters–CreateStreams–Clearyourstatistics–Start/Stoptransmit–Statisticsanalysis©2006Ixia.Allrightsreserved.IXIA自动化测试解决方案关于自动化测试©2006Ixia.Allrightsreserved.关于自动化测试–what&whyWhat:什么是自动化测试?–使用图形化工具/脚本/或者第三方工具来自动完成测试,一旦测试开始就无需人工干预,直到测试完全结束得到用户所需的结果.–自动化测试不仅仅是对测试设备,而是对整个系统而言,包括测试仪/DUT/SUT.Why:为什么需要自动化测试?–自动化测试的执行是无人值守的,可以解放劳动力,节省大量时间.–自动化测试的设计是预先定义好的,执行过程是智能自动化的,降低了由人工操作带来的风险.–使用脚本的自动化测试使得测试更加灵活,功能更为强大.•用户可以100%的根据自己的测试方案来定编制测试脚本和流量模型.•用户可以随时修改脚本来满足测试需求的改变.不用拘泥于设备厂商提供的原始测试模型.•用户可以基于Ixia的各种SDK来开发基于端口的协议栈满足私有协议测试的需求.•脚本自动化可以完成所有Ixia测试工具软件完成的测试项目.–自动化测试的执行更为快速,从配置到运行以及最后的结果分析全过程,可节省30~80%的测试时间.©2006Ixia.Allrightsreserved.关于自动化测试–when当测试是一种大量的重复测试时,可以使用自动化测试–生产线测试–QA回归测试当大量的测试是一种长时间大流量的测试的时候,可以使用自动化测试–大规模研发测试–性能测试当测试本体已经定义完善,测试人员不需要过多的参与中间过程的时候,可以使用自动化测试–生产测试–回归测试当您需要自定义测试方案,而现有的测试工具无法满足您的流量模型或者测试方法的时候,可以使用脚本自动化测试.©2006Ixia.Allrightsreserved.关于自动化测试–who哪些用户需要使用自动化测试?1.网络设备生产商–性能测试–功能测试–一致性测试2.服务提供商Ixia提供基于IP的公共网络和服务的各种自动化测试3.政府和公司Ixia提供用户各种基于IP的内网网络和服务的自动化测试4.其他越来越多的用户意识到使用自动化测试的重要性和必要性.©2006Ixia.Allrightsreserved.IXIA自动化测试解决方案IXIA自动化测试系统概况©2006Ixia.Allrightsreserved.IXIA自动化测试系统概况IxiaAPILibrary被测设备/系统IxExplorer基于Tcl调用API开发测试脚本IxNetworkAPIRFC2544RFC2889ATSSRoutingQoSMulticast……ICEScriptLibHLTAPIIxClixIxiaIxLoadAPIIxChariotAPIIxAccessAPIIxVPNAPIIxVoiceAPI......IxScriptMateLinuxSDK©2006Ixia.Allrightsreserved.系统概况–各种测试编程接口所有的Ixia应用程序都提供了自动化测试接口.这些接口可以访问和控制所有的Ixia的硬件.每个Ixia应用程序都提供了一个TclAPI测试接口,用户可以很方便的在tcl脚本中随时调用任何一个,并且可以交叉使用.–IxOS-packagerequireIxTclHal最基本的硬件控制函数–IxNetwork-PackagerequireIxTclHal测试路由协议的函数–IxLoad-packagerequireIxLoad测试4-7层的函数–IxScriptMate-dependsonthetest预定义测试套件,高层API接口–HLTAPI-packagerequireIxia高层API,用户常用的Tcl测试接口.–IxVPN-packagerequireIxVPNVPN测试函数.–还有很多其他的测试接口…所有这些接口共有超过7000条API指令供用户调用.所有这些接口函数共享一个硬件平台!©2006Ixia.Allrightsreserved.系统概况自动化测试覆盖领域IXIA©2006Ixia.Allrightsreserved.automationsolutionGUIprovideyoudefinedtestmethodology,butyoucandefinetestusingscript…©2006Ixia.Allrightsreserved.HardwareintroChassis–OptixiaX16:16slotrackmountablelabchassis–OptixiaXL10:10slotultra-highdensityEthernettestplatform–Ixia1600T:16slotchassis–Ixia400T:4slotportablechassis–Ixia250:2slotfield-portablechassiswithkeyboard,videoandmouse©2006Ixia.Allrightsreserved.HardwareintroCard–Ethernet–10G–Sonet/POS–ATM–POEEthernet10GPOSATMPOE©2006Ixia.Allrightsreserved.Ixia自动化测试系统的优势©2006Ixia.Allrightsreserved.系统概况–我们的优势Ixia自动化测试系统最大的优势就在于”所见即所得”的脚本生成工具基于图形界面配置测试参数,然后导出成Tcl测试脚本,免去了大量开发工作…导出的方法也非常简单和多样…©2006Ixia.Allrightsreserved.系统概况–我们的优势一旦导出,所有配置就会转化为一个完整的Tcl脚本,并显示在一个Tcl的控制台中,以下工具软件的配置可以导出为脚本:–IxExplorer–IxRouter–IxNetwork–IxScriptMate©2006Ixia.Allrightsreserved.系统概况–Ixia自动化测试的优势概况Ixia自动化测试的优势概况硬件基础:每端口一个CPU,用户可以以端口为单位运行脚本.结构设计:API指令是面向对象/过程的,API层次清晰,语法简单.兼容性:API向下兼容,各个软件都有基于Tcl的API,语法相同.脚本调试:图形化的脚本调试方法.可实现双向转化:脚本图形化指令通用性:不同的卡上实现相同功能只需要相同的API指令.脚本运行速度快,代码效率高.自动化测试支持程度:每个图形化测试工具都提供API库.覆盖所有测试例.IxiaAPI库:IxTclHal支持2-3层所有功能/性能测试.跨平台:Linux/Unix/Windows标准:图形化测试工具功能和脚本指令一一对应.©2006Ixia.Allrightsreserved.系统概况–我们的优势高层工具API(HighLevelToolAPI)对于基本的IxTclHal的API进行了二次的封装,方便用户对常用的测试场景进行快速配置。一个2/3层的性能测试,大约只需6,7个命令。同时HLTAPI的这种结构从客户角度上来说,消除了各家测试仪器厂商指令的差异,从而使得用户的脚本通用性很高,不必为每种仪表重复开发相同功能的测试脚本.Ixia::connect…(tochassisandreserveports)Ixia::interface_config…(toconfigureinterfaceparameter)Ixia::traffic_config…(toconfiguretrafficstreams)Ixia::traffic_control…(tostart/stoptraffic)Ixia::traffic_stats…(toretrievestatistics)Ixia::cleanup_session…(toreleasereservedports)©2006Ixia.Allrightsreserved.IXIA自动化测试解决方案IxiaAPITcl编程©2006Ixia.Allrightsreserved.IxiaAPI自动化测试接口特性IxiaAPI是一个基于Tcl的扩展API函数库,它集合了对硬件所有的功能配置指令,可以访问和控制Ixia所有的硬件.安装简单,在安装了IxOS之后,就拥有了IxiaAPI库.无需额外安装任何其他软件.使用简单,在加载了IxTclHal之后,就可以访问IxiaAPI的所有函数.功能强大,包含超过3500个函数,不仅有对机箱的基本配置的底层API函数,还有各种经过封装的高层API.函数结构清晰,语法简单:函数主要分为2类,面向过程函数(立即执行函数)和面向对象的函数,为用户的不同需求提供了各种解决方案.IxiaAPI库中包含了IxExplorer/IxScriptMate/IxRouter/IxNetwork中所有函数,可以100%覆盖2-3层的功能测试/性能测试.编程/调试简单,可以和IxExplorer等工具软件实现互操作和导出.实现所见即所得的脚本编写方式.完善的文档和帮助系统,用户手册/程序员手册和例程帮助使得没有任何经验的人也可以方便的使用自动化接口.本地支持团队和美国的开发团队满足用户日益增长的自动化测试需求.©2006Ixia.Allrightsreserved.支持编程环境:•TCL8.3•TCL8.4(支持Expect)支持操作系统:•WindowsNT/2000/XP•RedHatLinux•UNIXSolarisIxiaAPI自动化测试接口编程环境©2006Ixia.Allrightsreserved.自动化测试的开发和执行Ixia的测试包括3个部分,无论使用什么接口:IxTclHal,IxExplorer还是IxScriptMate都包含以下3部分的工作量:配置流量(85%的工作量)–多少条流–速率多少–包的协议和净荷内容–这些流量的发送模型执行测试(5%的工作量)–在接收端口开始捕获/延时分析….–开始发送并停止发送结果分析(10%的工作量)–查看计数器–查看捕获缓存/延时统计结果©2006Ixia.Allrightsreserved.IxiaAPI自动化测试接口–建立测试的流程工作站被测设备IXIAIxiaAPI-IxTclHal1.加载IxiaAPI库--IxTclHal2.建立Pc和机箱的Tcp连接3.登录和保留端口4.配置端口传输参数5.配置端口发送和接收参数6.清除端口统计数据7.开始/停止发送8.统计数据分析8个基本步骤完成调用API进行自动化测试©2006Ixia.Allrightsreserved.IxiaTclAPI的通用特性©2006Ixia.Allrightsreserved.ChangesarePersistentPowercyclingthechassisdoesnotresettheconfiguration–Anythingset,stayssetuntilyouexplicitlychangeitOnceyou’reconnected,youstayconne