基于国产化平台的远程自动化测试系统设计与实现
2022-08-23中国电子科技集团公司第三十研究所张颖胡舜治王烨
中国电子科技集团公司第三十研究所 张颖 胡舜治 王烨
2020年12月11日,中共中央政治局会议强调“强化国家战略科技力量,增强产业链供应链自主可控能力”。当今国际形势日益严峻,中国坚持走信息技术自主可控道路是大势所趋。在架构、产品、生态都非常依赖非国产IT产品,在底层技术、信息安全、数据保存方式被限制的风险背景下,国产化被加速推进。自主可控产业链的核心是建立自主可控的信息技术底层到应用层的架构和标准,在芯片、存储、服务器、操作系统、应用软件、网络设备等领域实现国产替代。
全国产化硬件平台的研发迫在眉睫,目前国内已有大量厂商和单位在向全国产化转型。一直以来,大多数硬件平台的元器件主要是选用国外知名品牌,尤其是芯片,几乎从未选用过国产型号,现在想要实现从主控芯片到所有元器件的国产化替代,做出稳定可靠的硬件平台或产品,大量的测试验证工作显得尤为重要。传统的测试技术,都是基于单机的手工测试或者自动化测试,不能实现异地实时测试,会产生很多问题,如被测设备数量多、噪音大、辐射强、测试效率低、自动化测试不能保留故障现场等,给测试者带来不便,且对身心健康造成伤害。
针对上述问题,本文提出一种基于国产化平台的远程自动化测试系统。该系统选用的主要测试设备如串口服务器和程控电源等,均为国产品牌。该远程自动化测试系统,不仅能实现多台设备同时远程测试控制,自动循环下电/上电或机械手操作开关机,还具有日志信息及测试结果实时上报功能。
1 系统概述与总体架构
传统的测试场景如下:测试人员坐在电脑前,身旁桌子上排列着一堆被测设备,测试机和被测设备通过网线或串口线相连,看似操作起来很方便,实际嘈杂的噪音、凌乱的走线,令人身心俱疲,甚至经常会出现串口线长度或数量不够的情况。但是有些测试并不需要时刻守着被测设备,比如长时间稳定性测试和开关机测试等,本文提出的远程自动化测试系统就是为这类测试而设计的。
该测试系统的总体架构如图1所示,主要分为两个区域,即测试间和机房,测试间和机房部署在一个局域网内。将被测设备部署在机房的机架上,测试设备如串口服务器、程控电源和FTP/Web服务器等也部署在机房,测试人员坐在测试间,远程控制测试脚本启停和查看测试结果。另外该测试系统还包含机械手控制系统,用来模拟人工定时开启机器按钮。
图1 远程自动化测试系统总体架构Fig.1 Remote automatic test system overall structure
该远程自动化测试系统适用于所有常见国产化平台(如国产化服务器平台、国产化网络通信设备等)的测试验证。
2 系统设计与实现
2.1 串口服务器研究与应用
串口服务器是该远程自动化测试系统的核心部件之一。我们选用的是国产品牌康海时代NC900系列串口服务器,如图2所示,它是一种面向高端客户开发的串口联网通讯的产品,通过它用户可以在Internet中任意位置访问串口终端,实现串口设备数据传输应用扩展功能。
图2 康海时代串口服务器NC916Fig.2 Kanghaishidai serial port server NC916
串口服务器的物理组网如图3所示。测试机和串口服务器使用网线连接,只需保证二者的网络互连互通,就能无限拉远了人和测试设备之间的距离,真正实现人机分离;测试机和串口服务器使用Telnet协议建立连接,也可以使用SSH加密连接。串口服务器和程控电源、被测试设备之间是通过RS232协议通信,由于不同设备采用不同的物理接口形式,所以线缆需要手工制作,分别需要定制RJ45—DB9、RJ45—RJ45的连接线,线序如图4、图5所示。
图3 测试环境物理组网图Fig.3 Physical network topology of test environment
图4 RJ45-DB9串口线线序Fig.4 The line sequence of RJ45-DB9 serial line
图5 两头RJ45串口线线序Fig.5 The line sequence of RJ45-RJ45 serial line
串口服务器和测试机之间采用的是Telnet协议,需要在串口服务器上使能Telnet功能并配置端口。配置方法如图6所示。串口服务器的每个串口对应一个数据端口号,当PC机通过SecureCRT或测试脚本访问串口服务器时,需使用对应数据端口号。
图6 串口服务器的网口配置Fig.6 Network interface configuration of serial port server
串口服务器和被测设备、程控电源之间采用的是RS232串口协议,需要对串口进行波特率、数据位和停止位的设置。配置方法如图7所示。
图7 串口服务器的串口配置Fig.7 Serial port configuration of serial port server
2.2 程控电源远程控制设计与实现
远程自动化测试系统的另一个核心部件是程控电源。如果选用普通的市电开关执行下电/上电测试,会造成故障现场无法保留的问题,而程控电源可以很好的解决这一问题,即通过编程控制,实现某台被测设备遇到故障便停止该台设备的上下电,且不影响其他设备的正常测试。
我们选用的是国产品牌图跃网络科技AIPPS-X100高端智能程控电源,如图8所示。它的特点有:采用了高效MCU处理芯片和高精度系统时钟芯片,以确保指令的快速准确执行;使用无机械触点的固态继电器,延长使用寿命;宽电压(AC85V-AC265V)工作,满足各类需求;实时指示各端口状态。它的功能有:单port下电/上电、所有port同时下电/上电、单port循环下电/上电、所有port同时循环下电/上电、单port下电后定时上电、所有port下电后定时上电、单port撤销、所有port撤销及若干查询功能。它的接口包括1个DB9串口和8个电源接口,如图9所示,可以同时接入八台被测设备。
图8 高端智能程控电源正面Fig.8 The positive of intelligent programmable power supply
图9 高端智能程控电源背面Fig.9 The back of intelligent programmable power supply
若单机控制程控电源,将测试机和程控电源通过串口线连接,用如图10所示串口工具对程控电源进行配置及命令发送,命令码包含端口号、上下电指令及时间设置等,命令发送成功会有返回码。
图10 串口调试工具Fig.10 Serial debugging tool
若想实现对程控电源的远程控制,需要配合串口服务器使用。测试机和串口服务器均接入局域网,用自制的RJ45—DB9串口线连接串口服务器和程控电源,测试机通过Telnet协议访问串口服务器,并发送命令给程控电源,程控电源收到命令后执行相应的上下电操作。当设备上电后,测试脚本执行设备状态检查动作(检查设备PCIE网卡数量、设备网口UP数量、网口PING包情况等),如检查结果与预期不符或设备发生故障,则该设备停止下电,保留测试现场以供开发人员分析。测试脚本具体软件实现流程如图11所示。
图11 测试脚本软件流程图Fig.11 Software flow chart of test script
2.3 测试结果可视化研究
测试结果的分析和查看、测试过程数据的管理是整个测试活动中最重要的环节。借助Python丰富的共享库可以实现测试日志的集中管理、测试结果分析、测试数据的展示等。在测试机房的服务器上分别安装MySQL Server和FTP Serve,利用Python Django搭建Web Server,在Python测试脚本执行过程中,便可以实时的将测试结果、日志信息上传到服务器中并写入到数据库。当测试人员通过浏览器远程访问Web服务器查看测试数据时,后端Django框架读取数据库和日志并生成HTML页面动态展示,也可以使用一些可视化库(如PyEcharts)实现饼状图、柱状图、拆线图等,让结果的呈现更加直观和多样性。
3测试验证
本文应用该远程自动化测试系统对6台某国产化服务器平台进行长时间可靠性测试,从而验证该测试系统的有效性。搭建如图1所示测试环境。对被测设备配置好自启动脚本后,在测试机上执行测试脚本,被测设备开始自动循环上下电并运行相应程序,测试人员实时查看测试过程及结果。
部分测试结果如图12所示,测试次数到达1557次时,设备3启动失败,其退出测试,而其他设备测试继续进行。此时可以根据设备3串口打印及日志信息分析故障原因。
图12 测试结果Fig.12 Test result
4 结语
本文提出了一种基于国产化平台的远程自动化测试系统,并介绍了其设计与实现的过程,最终通过实际测试验证了其有效性。该测试系统解决了设备噪音大、辐射强、故障现场不能保留、串口线长度数量不够等诸多问题。目前,该测试系统已成功应用于大量国产化硬件平台的测试场景中,同时也可以应用于几乎所有网络通信类硬件平台的测试。