论文部分内容阅读
【摘要】随着通讯技术的飞速发展,通信产品的用户量越来越大,组成产品的单板数量越来越多,单板的器件和网络节点越来越多,对这些单板的自动化测试要求也越来越高。本文主要讲述一套容量大、扩容灵活、测试覆盖率高、适合于多种测试工艺的通信产品单板的自动化测试系统。在本文设计的测试系统中各功能单元之间的通信采用TENET协议进行通信,被测单板根据物理地址自动生成一个IP地址和Host IP地址。被测单板是器件和器件关系的集合,根据这两个集合的元素设计测试项列表,保证单板的测试覆盖率最高。被测单板的版本通过FTP从主机(Host IP)下载,升级方便。通过一段时间运行,本系统测试过的单板的EI显著降低。
【关键词】自动化测试系统自动化测试系统TELNETFTPIP地址
随着通信技术的飞速发展,通信产品的单板种类越来越多,单板的器件和网络节点越来越多,器件的集成度越来越高,封装形式越来越复杂,PCB的层数也越来越多,单板的测试越来越复杂,没有自动化支持的单板测试几乎不可能。在单板不同工位的测试中,对自动化测试的要求也不同,单板生产测试需要在短时间内在人工的配合下把测试程序自动运行一遍,高温老化在无人的情况下自动运行测试程序数个循环,系统故障和单板故障的定位要求系统提供一系列的函数供研发人员选择使用。这些用户需求描述了一套同时满足人工交互和全自动的、长短时时间可选的、循环次数或测试时间可配置的、覆盖率较高的和定位较准确的自动化测试系统。
一、拓扑结构
通信单板的自动化测试系统包括被测单板、Hub和环境板、机框与机架、交换机、FTP服务器和测试操作台,如图1拓扑结构图。被测单板就是需要测试的通信产品单板,每块单板占用一个槽位号(Slot_ID)。Hub和环境板根据测试需要可以是一块单板也可以是多块单板,每块单板占用一个槽位,占用一个槽位号(Slot_ID)。机框与机架是提供单板测试环境的一套结构件,并且提供单板的电源,保证热设计。每个机框有唯一的机框号(Shelf_ID)方便系统对机框寻址,机架有唯一的机架号(Rack_ID)方便系统对机架进行寻址。交换机是连接每个机框的控制面网口、FTP服务器的网口和测试操作的网口的信息交换设备。FTP服务器用于存放和提供单板的版本的,单板在启动过程中会向FTP获取版本。测试操作台是运行自动化测试系统后台软件的计算机,操作员可以通过测试操作台控制各单板的测试并且获得测试结果,对测试结果进行统计、制作报告以及环境的自检等。
自动化测试系统中每个槽位有一个控制面网口,每个机框有一块带有Hub的环境单板,每个机框给出一个总的控制面网口,Hub环境板提供机框的控制面网口和各单板之间控制面网口的信息交换。这些控制面网口用于下载单板版本和控制单板运行。所有的机框的控制面网口通过交换机从FTP服务器下载各自所需要的版本,与测试操作台连接控制各单板完成测试功能并获取测试结果。在测试系统规模小的时候,FTP服务器和测试操作台可以用一台计算机来实现。
每块单板有唯一的物理地址(Dev_ID,Rack_ID, Shelf_ID,SlotID),Dev_ID是设备号说明被测单板的类型,Rack_ID、Shelf_ID、SlotID是单板所在的机架、机框、槽位的编号。单板内可能有多个CPU,所以控制测试的最小单元是CPU,每个CPU需要给一个寻址号。这样每个最小的通信单元物理地址是(Dev_ID,Rack_ID,Shelf_ID,SlotID, CPU_ID)。
二、通信协议
本系统采用TELNET把各个单元连接在一起,TELNET是TCP/IP架构下的应用层协议,各种操作系统都已经很好的支持,应用起来非常简单,不再需要关心下面的传输层、网络层、数据链路层和物理层的软件件工作,集中精力设计好单板的测试软硬件。每台计算机可以开启数万个TELNET进程,工作稳定可靠。TELNET发送的是ASII码流,因此在登陆TELNET服务器后,通信双方都是用可见字符交流的,自动化测试系统可以使用,人工操作也可以使用这些命令。
本测试系统主要采用应答式通讯,测试操作台向被测单板或环境单板发送测试命令,被测单板和环境单板收到测试命令后运行对应的函数,测试工作完成后,被测单板或环境单板把测试结果按协议中要求的格式发动给测试操作台。测试结果包含测试成功或失败信息和测试失败的原因和位置信息。
测试命令帧格式:TestEq_测试内容描述符
测试命令帧长度最多100个字符,以TestEq_为帧头,测试内容描述符是反映测试内容的多个关键词,每个关键词的第一个字母为大写,其他字母为小写。帧以0x0d、0x0a结束。
例如内存测试为TestEq_Sdram和全空间内存测试TestEq_FullSdram。
测试结果命令帧格式:
测试成功帧格式:OK_测试命令=需要返回的参数
测试失败帧格式:FAIL_测试命令=需要返回的参数或信息
帧长度为150个字符,以测试结果开始,如果成功了以OK_开始,如果失败以FAIL_开始,后面跟测试命令,用“=”表示后面还有参数或者需要说明的信息,如果没有“=”表示本次测试结果报告完毕,如果有“=”表示本次测试结果带有一些参数或者需要说明的信息。帧以0x0d、0x0a结束。
例如内存测试命令TestEq_Sdram的结果:
测试成功的结果:OK_TestEq_Sdram=Size:1000M
测试失败的结果:FAIL_TestEq_Sdram=Error Address:0x12345678;0x87654321
TELNET是在TCP/IP的环境下客户端远程访问服务器的终端仿真协议,用TCP作为传输协议在客户端和服务器之间建立传输连接。建立连接以后,服务器端和客户端进入选项协商阶段,决定两边能支持用于连接的选项。在任意时间,每个连接的系统都可以协商新选项或者重新协商旧选项。通常,Telnet连接的每端尝试实现所有的选项,以使其所在的系统功能最强。TELNET、TCP/IP协议本身不在本文的讲述范围,不再叙述。
三、单板的寻址
被测单板是用机架和机框的方式存放测试的,因此被测单板的物理位置应该包含机架号(RACK_ID)、机框号(SHELF_ID)、槽位号(SLOT_ID)来标记,不同的设备会在同一个系统网络上硬性测试,所以还要有设备号(DEV_ID),设备号、机架号、机框号通过测试机框背板上的拨码开关来实现,槽位号通过背板上的上下拉电阻来实现。另外每块单板上可能有多个CPU需要对应多个网口来通信,因此再加一个CPU号(CPU_ID)。在本测试系统内各个通信单元就有了唯一的一个地址向量ADDR(Dev_id,Rack_id,Shelf_id,Slot_id,Cpu_id),后台和各测试单元的通信是通过TELNET实现的,所以软件需要把各单元的Addr向量转换成IP向量(ip.1,ip.2,ip.3,ip.4)。转换公式如下:
这里B为系数矩阵5行4列,IP0同上。
单板会根据HostIP寻找FTP服务器,下载版本运行。测试操作台会根据被测单板的IP发送测试帧,接收来自这个IP的测试结果帧,将测试结果输出到可是界面上。测试操作控制台还有统计和自检功能,这里不再讲述。
四、结论
本文给出了一个扩容方便、容量大、系统结构清晰的通信产品单板自动化测试系统的设计方案,这套方案操作简单、运行可靠性好,可以用统计的方法定位槽位问题。这套系统派生出了一套完整的人工测试函数集。经过两年的运行,单板的早期返还率逐月下降,测试函数集陆续被各个工位用来发现和定位问题的不可缺少的工具。
【关键词】自动化测试系统自动化测试系统TELNETFTPIP地址
随着通信技术的飞速发展,通信产品的单板种类越来越多,单板的器件和网络节点越来越多,器件的集成度越来越高,封装形式越来越复杂,PCB的层数也越来越多,单板的测试越来越复杂,没有自动化支持的单板测试几乎不可能。在单板不同工位的测试中,对自动化测试的要求也不同,单板生产测试需要在短时间内在人工的配合下把测试程序自动运行一遍,高温老化在无人的情况下自动运行测试程序数个循环,系统故障和单板故障的定位要求系统提供一系列的函数供研发人员选择使用。这些用户需求描述了一套同时满足人工交互和全自动的、长短时时间可选的、循环次数或测试时间可配置的、覆盖率较高的和定位较准确的自动化测试系统。
一、拓扑结构
通信单板的自动化测试系统包括被测单板、Hub和环境板、机框与机架、交换机、FTP服务器和测试操作台,如图1拓扑结构图。被测单板就是需要测试的通信产品单板,每块单板占用一个槽位号(Slot_ID)。Hub和环境板根据测试需要可以是一块单板也可以是多块单板,每块单板占用一个槽位,占用一个槽位号(Slot_ID)。机框与机架是提供单板测试环境的一套结构件,并且提供单板的电源,保证热设计。每个机框有唯一的机框号(Shelf_ID)方便系统对机框寻址,机架有唯一的机架号(Rack_ID)方便系统对机架进行寻址。交换机是连接每个机框的控制面网口、FTP服务器的网口和测试操作的网口的信息交换设备。FTP服务器用于存放和提供单板的版本的,单板在启动过程中会向FTP获取版本。测试操作台是运行自动化测试系统后台软件的计算机,操作员可以通过测试操作台控制各单板的测试并且获得测试结果,对测试结果进行统计、制作报告以及环境的自检等。
自动化测试系统中每个槽位有一个控制面网口,每个机框有一块带有Hub的环境单板,每个机框给出一个总的控制面网口,Hub环境板提供机框的控制面网口和各单板之间控制面网口的信息交换。这些控制面网口用于下载单板版本和控制单板运行。所有的机框的控制面网口通过交换机从FTP服务器下载各自所需要的版本,与测试操作台连接控制各单板完成测试功能并获取测试结果。在测试系统规模小的时候,FTP服务器和测试操作台可以用一台计算机来实现。
每块单板有唯一的物理地址(Dev_ID,Rack_ID, Shelf_ID,SlotID),Dev_ID是设备号说明被测单板的类型,Rack_ID、Shelf_ID、SlotID是单板所在的机架、机框、槽位的编号。单板内可能有多个CPU,所以控制测试的最小单元是CPU,每个CPU需要给一个寻址号。这样每个最小的通信单元物理地址是(Dev_ID,Rack_ID,Shelf_ID,SlotID, CPU_ID)。
二、通信协议
本系统采用TELNET把各个单元连接在一起,TELNET是TCP/IP架构下的应用层协议,各种操作系统都已经很好的支持,应用起来非常简单,不再需要关心下面的传输层、网络层、数据链路层和物理层的软件件工作,集中精力设计好单板的测试软硬件。每台计算机可以开启数万个TELNET进程,工作稳定可靠。TELNET发送的是ASII码流,因此在登陆TELNET服务器后,通信双方都是用可见字符交流的,自动化测试系统可以使用,人工操作也可以使用这些命令。
本测试系统主要采用应答式通讯,测试操作台向被测单板或环境单板发送测试命令,被测单板和环境单板收到测试命令后运行对应的函数,测试工作完成后,被测单板或环境单板把测试结果按协议中要求的格式发动给测试操作台。测试结果包含测试成功或失败信息和测试失败的原因和位置信息。
测试命令帧格式:TestEq_测试内容描述符
测试命令帧长度最多100个字符,以TestEq_为帧头,测试内容描述符是反映测试内容的多个关键词,每个关键词的第一个字母为大写,其他字母为小写。帧以0x0d、0x0a结束。
例如内存测试为TestEq_Sdram和全空间内存测试TestEq_FullSdram。
测试结果命令帧格式:
测试成功帧格式:OK_测试命令=需要返回的参数
测试失败帧格式:FAIL_测试命令=需要返回的参数或信息
帧长度为150个字符,以测试结果开始,如果成功了以OK_开始,如果失败以FAIL_开始,后面跟测试命令,用“=”表示后面还有参数或者需要说明的信息,如果没有“=”表示本次测试结果报告完毕,如果有“=”表示本次测试结果带有一些参数或者需要说明的信息。帧以0x0d、0x0a结束。
例如内存测试命令TestEq_Sdram的结果:
测试成功的结果:OK_TestEq_Sdram=Size:1000M
测试失败的结果:FAIL_TestEq_Sdram=Error Address:0x12345678;0x87654321
TELNET是在TCP/IP的环境下客户端远程访问服务器的终端仿真协议,用TCP作为传输协议在客户端和服务器之间建立传输连接。建立连接以后,服务器端和客户端进入选项协商阶段,决定两边能支持用于连接的选项。在任意时间,每个连接的系统都可以协商新选项或者重新协商旧选项。通常,Telnet连接的每端尝试实现所有的选项,以使其所在的系统功能最强。TELNET、TCP/IP协议本身不在本文的讲述范围,不再叙述。
三、单板的寻址
被测单板是用机架和机框的方式存放测试的,因此被测单板的物理位置应该包含机架号(RACK_ID)、机框号(SHELF_ID)、槽位号(SLOT_ID)来标记,不同的设备会在同一个系统网络上硬性测试,所以还要有设备号(DEV_ID),设备号、机架号、机框号通过测试机框背板上的拨码开关来实现,槽位号通过背板上的上下拉电阻来实现。另外每块单板上可能有多个CPU需要对应多个网口来通信,因此再加一个CPU号(CPU_ID)。在本测试系统内各个通信单元就有了唯一的一个地址向量ADDR(Dev_id,Rack_id,Shelf_id,Slot_id,Cpu_id),后台和各测试单元的通信是通过TELNET实现的,所以软件需要把各单元的Addr向量转换成IP向量(ip.1,ip.2,ip.3,ip.4)。转换公式如下:
这里B为系数矩阵5行4列,IP0同上。
单板会根据HostIP寻找FTP服务器,下载版本运行。测试操作台会根据被测单板的IP发送测试帧,接收来自这个IP的测试结果帧,将测试结果输出到可是界面上。测试操作控制台还有统计和自检功能,这里不再讲述。
四、结论
本文给出了一个扩容方便、容量大、系统结构清晰的通信产品单板自动化测试系统的设计方案,这套方案操作简单、运行可靠性好,可以用统计的方法定位槽位问题。这套系统派生出了一套完整的人工测试函数集。经过两年的运行,单板的早期返还率逐月下降,测试函数集陆续被各个工位用来发现和定位问题的不可缺少的工具。