CN102377609A - 平台无关的自动化测试用例及虚拟测试仪器 - Google Patents

平台无关的自动化测试用例及虚拟测试仪器 Download PDF

Info

Publication number
CN102377609A
CN102377609A CN2010102552554A CN201010255255A CN102377609A CN 102377609 A CN102377609 A CN 102377609A CN 2010102552554 A CN2010102552554 A CN 2010102552554A CN 201010255255 A CN201010255255 A CN 201010255255A CN 102377609 A CN102377609 A CN 102377609A
Authority
CN
China
Prior art keywords
test
module
bag
virtual
instrument
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2010102552554A
Other languages
English (en)
Inventor
徐锦韬
杨曙军
赵茂聪
单哲
方沛昱
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Centec Networks Suzhou Co Ltd
Original Assignee
Centec Networks Suzhou Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Centec Networks Suzhou Co Ltd filed Critical Centec Networks Suzhou Co Ltd
Priority to CN2010102552554A priority Critical patent/CN102377609A/zh
Publication of CN102377609A publication Critical patent/CN102377609A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本发明关于一种平台无关的自动化测试用例,其可应用于不同的测试仪器上完成对被测设备的测试。该平台无关的自动化测试用例包括针对不同的测试仪器创建的类,并可对不同的测试仪器不同的函数集进行封装成为统一接口。本发明平台无关的自动化测试用例通过封装不同测试仪器的函数集成为统一接口,做到与平台无关,提高可移植性及测试效率。

Description

平台无关的自动化测试用例及虚拟测试仪器
技术领域
本发明涉及一种平台无关的自动化测试用例及虚拟测试仪器。
背景技术
随着通信技术的飞速发展,通信设备的高速度、高可靠性,对新产品的快速、高效的测试成为关键环节之一。由于自动化能够大大提高测试效率,节省人力资源,因而成为一种有效的解决方案。自动化测试用例就被用来完成自动化的测试工作。通常在开发自动化测试用例时,测试用例可以工作在某一个测试平台,但是一旦更改测试平台,必需更改相应的测试用例,用来适应新的测试平台。这对于大量测试用例来说,是一个巨大工程,也降低了自动化的效率。并且测试用例往往依赖真实测试平台,测试平台资源的有限性给测试工作带来了瓶颈,这就需要一个类似于真实测试平台的工具来解决这个问题。
中国专利申请200710138053.X,其提供一种通讯协议一致性测试中的虚拟测试方法,使用多台虚拟测试仪器搭建逻辑测试结构,实现对被测协议进行软件(或系统)测试。在保证有效性、精确性的前提下,仅使用一台测试器就可以实现对被测协议进行软件(或系统)的测试。虚拟测试方法避免了各测试仪器之间复杂的测试协调过程,而且测试结果更可靠、更精确。
该方案仅使用一台测试仪器替代多台测试仪器,在实现自动化过程中,需要通过这台测试仪器来模拟其它测试仪器,这就会给这台模拟测试仪器增加复杂性,要为不同的测试仪器提供不同的接口。这对于自动化测试用例,不能做到与平台无关,需要修改测试用例接口,给自动化测试带来复杂性。
Linux开源软件nemesis可以完成网络包的封装、发送,它以命令行的形式完成组包和发包的工作,简单可用性成为网络设备测试的选择。
尽管Linux开源软件nemesis的简单可用性能够完成测试一起基本的组包功能,但它很难用于实现自动化。此外,它的功能少,只能组一些常见的包,灵活性比较差。
有鉴于此,有必要提出一种不依赖于测试平台的自动化测试用例及能够兼容多种测试仪器语言的虚拟测试仪器,使测试用例做到与测试平台无关,无需修改接口而实现自动化测试的程度及效率。
发明内容
本发明的目的在于提供一种平台无关的自动化测试用例,其不依赖于测试仪器,具有良好的移植性。
本发明的目的在于提供一种可应用上述平台无关的自动化测试用例的虚拟测试仪器,其减少测试成本并提高测试效率。
为实现上述目的,本发明是关于一种平台无关的自动化测试用例,其可应用于不同的测试仪器上完成对被测设备的测试。该平台无关的自动化测试用例包括针对不同的测试仪器创建的类,并可对不同的测试仪器不同的函数集进行封装成为统一接口。
作为本发明的进一步改进,所述平台无关的自动化测试用例通过读取拓扑图来判断测试仪器的类型,并针对测试仪器的类型创建相应的类。
作为本发明的进一步改进,所述平台无关的自动化测试用例通过类调用统一接口并连接到不同的测试仪器实现测试功能。
为实现上述目的,本发明是关于一种虚拟测试仪器,其可供平台无关的自动化测试用例实现对被测设备的测试。该虚拟测试仪器具有可被平台无关的自动化测试用例封装成为统一接口的虚拟函数集并包括实现组包、发包、抓包、解包功能的报文处理模块及与被测设备互连的设备互连模块。
作为本发明的进一步改进,所述报文处理模块包括合成包的组包模块、发送包的发包模块、接收包的抓包模块及对包解封装的解包模块。
作为本发明的进一步改进,所述发包模块支持单口发送及多口同时发送,以控制发包数量和发包速度。
作为本发明的进一步改进,所述抓包模块对接收的包进行存储和统计,并支持在端口设定过滤条件,选择接收所需的包。
作为本发明的进一步改进,所述解包模块可以解析收到的包的每个字段以认定识别报文。
作为本发明的进一步改进,所述设备互连模块包括许可远端登陆虚拟测试仪器进行一系列操作的网口及用来与被测设备进行互连并作为包的发送端和接收端的测试仪器接发口。
本发明的有益效果是:自动化测试用例与测试平台无关,提高测试用例的可移植性并提高自动化测试的效率。
附图说明
图1是本发明平台无关的自动化测试用例与测试仪器连接的流程图;
图2是本发明虚拟测试仪器的结构框图。
具体实施方式
本发明的优选实施方式中,不同的测试仪器(无论真实测试仪器S104还是虚拟测试仪器S105)具有不同的内部接口并具有本身的函数集,但是为了能够被平台无关的自动化测试用例S101调用,本发明对不同的测试仪器S104、S105的函数集进行封装,形成封装后的统一接口S103并可以被平台无关的自动化测试用例S101调用。
所以,统一接口S103是封装后的函数集,被平台无关的自动化测试用例S101调用。每个测试仪器S104、S105有本身的函数集,本发明对其封装,最后形成统一接口S103。
本发明为每一测试仪器S104、S105设定一个类,该类由平台无关的自动化测试用例S101来创建。平台无关的自动化测试用例S101通过读取拓扑图(topo图)S102来判断即将使用的是真实测试仪器S104还是虚拟测试仪器S105,然后创建与该测试仪器S104、S105相应的类的对象。
平台无关的自动化测试用例S101通过类调用统一接口S103连接到测试仪器。如果该类是与真实测试仪器S104相对应的,则连接到真实测试仪器S104,然后调用真实测试仪器S104的接口去组包、发包、抓包、解包来实现测试功能。如果该类是与虚拟测试仪器S105相对应的,则连接到虚拟测试仪器S105,然后调用虚拟测试仪器S 105的接口去组包、发包、抓包、解包来实现测试功能。
因此,本发明优选实施方式中,虽然每个类对应调用的统一接口S103是一样的,但是其内部实现过程是不同的,比如真实测试仪器(IXIA)S104调用真实测试仪器S104(IXIA)的函数集,虚拟测试仪器S105调用虚拟测试仪器S105的函数集,但对于外部使用者来说,真实测试仪器S104或者虚拟测试仪器S105对外是一样的统一接口S103,这样无论更换什么样的测试仪器,只需要增加一个由平台无关的自动化测试用例S 101创建的这个测试仪器的类,然后在类调用的统一接口S103里去实现它的功能函数,这样我们就不需要去改变测试用例。
针对一些测试仪器无法实现的功能和模拟测试环境的需要,本发明提供上述虚拟测试仪器S105,其不但可以实现真实测试仪器S104的功能,更重要的是,它可以灵活组成各种需求的包,比如OSPF(Open Shortest Path First,接口状态路由协议)、RIP(Routing information Protocol,路由信息协议)、CFM(Connectivity Fault Management,连接故障管理)及EFM(Ethernet in the FirstMile,第一英里以太网)报文,这些包对于网络测试非常重要。
图2为本发明虚拟测试仪器S105的基本结构图,其主要包括两个主要模块,一是与其它模拟设备互连的设备互联模块S203,其提供telnet网口S208及测试仪器收发口S209;二是报文处理模块S202,也可以称为包处理引擎,其包括组包模块S204、发包模块S205、抓包模块S206及解包模块S207。
组包模块S204:负责包的合成,由于灵活的组包方式,它可以组成各种需要的包,然后提供组这种包的接口,给自动化提供了巨大的方便。
发包模块S205:负责包的发送,可支持单口发送,多口同时发送,控制发包数量和发包速度。
抓包模块S206:负责包的接收,对接收包的存储存和统计,可以支持在端口设定过滤条件,选择接收所需要的包。
解包模块S207:负责对接收到的包进行解封装,可以解析收到包的每个字段,以便认定这个报文是什么报文,为报文字段的确认提供了方便。
telnet口S208:负责远端登陆到本发明虚拟测试仪器S105,然后对虚拟测试仪器S105进行一系列的操作。
Chassis口S209:主要用来和其它被测设备进行互连,是包的发送端和接收端。
以下是本发明虚拟测试仪器S105的报文处理模块S202的组包、发包、抓包及解包的实现过程:
组包实现:每个协议段有两个数据结构与它对应,用来保存配置信息和组包时的位置信息和变化信息,组包时,用链表把各个协议段连接起来,然后把这个数据连拷贝到某个端口的某个Stream(数据流)上.再调用发包函数来发送数据报文。
发包过程:创建socket(套接字),打开socket,取出一个stream,组包,发送数据包,更新数据包,再发送,直到发送结束,取出下一个stream发送,直到发送了所有的stream,关闭socket,删除socket。
抓包过程:设置单独的收包线程,利用libpcap(开源收包软件)开始收包,把收到的数据包存入一个缓存文件里,便于以后取出收到的数据报文进行分析。
解包过程:每个协议段有个数据结构与它对应,保存配置信息,根据报文的内容,从前向后逐层解包,把解包的内容填入每个协议段相对应的数据结构之中。
特别需要指出的是,本发明具体实施方式中仅以该平台无关的自动化测试用例及虚拟测试仪器作为示例,在实际应用中任何类型的平台无关的测试用例及虚拟测试仪器均适用本发明揭示的原理。对于本领域的普通技术人员来说,在本发明的教导下所作的针对本发明的等效变化,仍应包含在本发明权利要求所主张的范围中。

Claims (9)

1.一种平台无关的自动化测试用例,其可应用于不同的测试仪器上完成对被测设备的测试,其特征在于:其包括针对不同的测试仪器创建的类,并可对不同的测试仪器不同的函数集进行封装成为统一接口。
2.如权利要求1所述的平台无关的自动化测试用例,其特征在于,其通过读取拓扑图来判断测试仪器的类型,并针对测试仪器的类型创建相应的类。
3.如权利要求2所述的平台无关的自动化测试用例,其特征在于,其通过类调用统一接口并连接到不同的测试仪器实现测试功能。
4.一种虚拟测试仪器,其可供平台无关的自动化测试用例实现对被测设备的测试,其特征在于:其具有可被平台无关的自动化测试用例封装成为统一接口的虚拟函数集并包括实现组包、发包、抓包、解包功能的报文处理模块及与被测设备互连的设备互连模块。
5.如权利要求4所述的虚拟测试仪器,其特征在于,所述报文处理模块包括合成包的组包模块、发送包的发包模块、接收包的抓包模块及对包解封装的解包模块
6.如权利要求5所述的虚拟测试仪器,其特征在于,所述发包模块支持单口发送及多口同时发送,以控制发包数量和发包速度。
7.如权利要求5所述的虚拟测试仪器,其特征在于,所述抓包模块对接收的包进行存储和统计,并支持在端口设定过滤条件,选择接收所需的包。
8.如权利要求5所述的虚拟测试仪器,其特征在于,解包模块可以解析收到的包的每个字段以认定识别报文。
9.如权利要求4所述的虚拟测试仪器,其特征在于,所述设备互连模块包括许可远端登陆虚拟测试仪器进行一系列操作的网口及用来与被测设备进行互连并作为包的发送端和接收端的测试仪器接发口。
CN2010102552554A 2010-08-17 2010-08-17 平台无关的自动化测试用例及虚拟测试仪器 Pending CN102377609A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010102552554A CN102377609A (zh) 2010-08-17 2010-08-17 平台无关的自动化测试用例及虚拟测试仪器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010102552554A CN102377609A (zh) 2010-08-17 2010-08-17 平台无关的自动化测试用例及虚拟测试仪器

Publications (1)

Publication Number Publication Date
CN102377609A true CN102377609A (zh) 2012-03-14

Family

ID=45795626

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010102552554A Pending CN102377609A (zh) 2010-08-17 2010-08-17 平台无关的自动化测试用例及虚拟测试仪器

Country Status (1)

Country Link
CN (1) CN102377609A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103593228A (zh) * 2013-11-12 2014-02-19 中国电子科技集团公司第四十一研究所 一种实用的测试仪器程控命令仿真器及其使用方法
CN104468281A (zh) * 2014-12-24 2015-03-25 上海斐讯数据通信技术有限公司 路由信息协议模拟器及其路由信息协议通信测试方法
CN111723006A (zh) * 2020-05-25 2020-09-29 四川九洲电器集团有限责任公司 一种基于c#的自动化测试框架以及工控机

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060173641A1 (en) * 2004-12-15 2006-08-03 Geoffrey Haigh Current mode waveform generator followed by a voltage mode buffer
CN1954298A (zh) * 2004-01-13 2007-04-25 交响乐服务公司 从抽象测试用例表示中基于规则产生自动测试脚本的方法和系统
CN101477490A (zh) * 2009-01-23 2009-07-08 上海第二工业大学 基于复杂网络面向对象集成测试的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1954298A (zh) * 2004-01-13 2007-04-25 交响乐服务公司 从抽象测试用例表示中基于规则产生自动测试脚本的方法和系统
US20060173641A1 (en) * 2004-12-15 2006-08-03 Geoffrey Haigh Current mode waveform generator followed by a voltage mode buffer
CN101477490A (zh) * 2009-01-23 2009-07-08 上海第二工业大学 基于复杂网络面向对象集成测试的方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103593228A (zh) * 2013-11-12 2014-02-19 中国电子科技集团公司第四十一研究所 一种实用的测试仪器程控命令仿真器及其使用方法
CN103593228B (zh) * 2013-11-12 2016-08-17 中国电子科技集团公司第四十一研究所 一种实用的测试仪器程控命令仿真器及其使用方法
CN104468281A (zh) * 2014-12-24 2015-03-25 上海斐讯数据通信技术有限公司 路由信息协议模拟器及其路由信息协议通信测试方法
CN111723006A (zh) * 2020-05-25 2020-09-29 四川九洲电器集团有限责任公司 一种基于c#的自动化测试框架以及工控机

Similar Documents

Publication Publication Date Title
CN103178996B (zh) 分布式包交换芯片模型验证系统及验证方法
CN112422498A (zh) 一种带内网络遥测方法、系统及计算机可读存储介质
CN103117900B (zh) 一种可配置式工业以太网数据解析系统及解析方法
CN101778016B (zh) 网络设备虚拟测试系统的设计方法
CN102946616B (zh) 一种物联网中间件性能测试系统和测试方法
CN103856361A (zh) 实现远程调试的方法及系统
CN101741648A (zh) 分布式远程测试系统、方法、以及服务器
CN104754027B (zh) 一种跨网络的通信方法以及通信系统
CN107122304A (zh) 一种jtag远程调试方法
CN202995711U (zh) 一种实现fpga原型验证远程控制的装置
CN103200190A (zh) 一种面向QualNet网络半实物仿真的实物接入方法
CN106411637A (zh) 物联网设备场景测试方法
CN104980317A (zh) 一种调度数据网设备的自动测试系统及测试方法
CN104065536A (zh) 基于uvm验证方法的以太网交换机fpga验证方法
CN106787199A (zh) 一种便携式子站模拟测试系统及方法
CN105071988A (zh) 一种多用户测试系统及方法
CN103001883B (zh) 一种基于NetFPGA的可编程虚拟路由器内部通信方法
CN107947994A (zh) 网络拓扑自发现方法、装置、网络设备及计算机存储介质
CN104486151A (zh) 接入终端产品生产测试方法及装置
CN101668036B (zh) 分布式设备的模拟系统和模拟分布式设备处理业务的方法
CN106776329B (zh) 储能变流器的调试方法和调试设备
CN102377609A (zh) 平台无关的自动化测试用例及虚拟测试仪器
CN102750143A (zh) 基于matlab com组件调用的dsp开发方法
CN102315981B (zh) 一种演进分组核心网设备的测试设备及方法
CN106936658A (zh) 测试用例的测试方法及测试平台、模拟测试设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20120314