现代电子技术
Modern Electronics Technique
Oct. 2023Vol. 46 No. 20
2023年10月15日
第46卷第20期
0 引 言
随着数字化驱动时代的到来,“互联网+”、物联网、云计算、大数据等都离不开服务器以及存储设备搭建底层部署。目前服务器以及存储设备市场巨大,生产厂商众多,硬件测试依赖测试工具得出测试性能结果,而稳定性测试成为评判服务器指标好坏的重要参考方法,其中spec 、CPU 、Stream 、Fio 、Netperf 分别对应处理器性能、内存带宽、硬盘压力测试、I/O 性能、网络性能测试数据吞吐能力和数据包处理能力。2008年,西北工业大学刘晓丹等人以数据驱动测试框架为核心,借鉴了测试脚
本模块化思想,实现了测试数据与测试脚本相分离的自动化集成测试平台[1]。2014年,王洪钰等搭建了基于MVC (Model⁃View⁃Controller )的任务系统自动化测试数据查询分析平台[2],实现了测试数据和查询分析业务的
解耦合,提高了平台的灵活性。2015年,P. Drabik 等人实现了基于FPGA 芯片的多通道分布式测量系统控制与诊断类测试平台,在软硬件之间建立稳定连接,给出了OMTF 算法测试的测试平台方案和实例[3]。2022年,Li M Q 等人提出一种基于智能控制算法的电子控制器自动测试系统,分析了微带传输线参数模型的原理及其与信号完整性的关系,构建了智能电子控制器自动测试系统[4]。传统的硬件测试领域主要存在工作效率不高、DOI :10.16652/j.issn.1004⁃373x.2023.20.009
引用格式:龚骁敏,姚爽,陈艳飞,等.基于MVC 的自动化硬件测试平台的研究[J].现代电子技术,2023,46(20):44⁃49.
基于MVC 的自动化硬件测试平台的研究
龚骁敏, 姚 爽, 陈艳飞, 王 谦, 谢 亮, 陈 锐
(中国电子科技集团公司第五十二研究所, 浙江 杭州 311100)
mvc实例摘 要: 针对传统硬件测试效率低、人工干预过多的问题,提出一种基于MVC 的自动化硬件测试平台设计,旨在于提高国产服务器出厂的自动化程度以及产品质量规范化管理水平。采用MVC 模式设计PC 端、服务器端、数据库三层架构,分别对应用户界面、用户请求处理、业务逻辑和数据同步;协同处理板卡生产、整机组装和研发人员的自动化硬件测试。完成了从板卡生产、系统组装、硬件兼容性、入所
检、数据管理等硬件测试指标项,实现了板卡全生命周期自动化硬件测试过程。利用平台极大地满足了测试人员的测试需求,系统性地提高了工作效率,程序更加便于维护,能够保证数据真实可信度,规范化管理测试数据以及存档。
关键词: MVC 模式; 硬件测试; 自动化测试; 产品质量管理; 板卡; 数据管理
中图分类号: TN606⁃34; TP29 文献标识码: A 文章编号: 1004⁃373X (2023)20⁃0044⁃06
Research on automatic hardware test platform based on MVC
GONG Xiaomin, YAO Shuang, CHEN Yanfei, WANG Qian, XIE Liang, CHEN Rui
(The 52nd Research Institute of China Electronics Techology Group Corporation, Hangzhou 311100, China)
Abstract : In allusion to the problems of low efficiency of traditional hardware testing and excessive manual intervention, the design of automatic hardware testing platform based on MVC is proposed to improve the degree of automation of domestic server delivery and standardized product quality management. In the MVC mode, the PC, server and database three ⁃layer
architecture are designed, respectively corresponding to user interface and user request processing, business logic and data
synchronization, and the collaborative processing of board production, complete machine assembly, and automated hardware testing by research staff are conducted. The hardware test indexes of board production, system assembly, hardware compatibility, incoming inspection and data management are completed, and the automatic hardware test process of the whole life cycle of
board is realized. The use of platform can greatly meet the testing requirements of testers, and systematically improve the work efficiency, which make the program easier to maintain, ensure the real credibility of the data, and standardize the management
and archiving of test data.
Keywords : MVC mode; hardware test; automation test; product quality management; board cards; data management
收稿日期:2023⁃02⁃16 修回日期:2023⁃03⁃30
44
第20期
测试周期过长、人工干预过多、测试人员技术参差不齐
等问题[5]。因此在板卡生产、组装、测试、调试等过程中,需要开发出一套自动化测试平台,极大地提高了硬件板卡生产、系统组装生产、产品测试和兼容性测试的工作效率,亦可规范化管理测试文档的归档。提高硬件测试任务的工作效率和工作质量成为行业研究的重点,传统硬件测试趋向自动化是必然发展趋势[6],基于此,本文提出一种基于MVC 的自动化硬件测试平台来满足硬件测试需求。所设计的平台能简化复杂的重复性命令,增加可视化界面,集成相关所有测试用例,实现面向结果的自动化测试功能,测试完成会生成对应日志上传到后台管理系统,无需人工参与;同时融入基于B/S 架构的数据管理平台,能够实现规范化的保存管理。
1 自动化测试平台框架设计
1.1 MVC 相关理论
在20世纪70年代,MVC 架构基于Smalltalk⁃80编程
语言,在GUI 设计中被提出[7]。MVC 模式把数据处理、程序输入输出控制以及数据表示分离开,并且描述了不同部分的对象之间的通信方式,使它们不必卷入彼此的数据模型和方法中,程序结构变得清晰而灵活。设计包括模型层、视图层、控制层三个部分,模型层表示数据和业务逻辑,封装了应用程序的业务数据;视图层提供数据显示和用户输入,作为模型的外在表现形式;控制层作为模型与视图之间的交互层,负责派遣用户请求和控制流程[8]。目前常用的自动化测试方法有:模块化测试脚本、测试库、关键字驱动测试、数据驱动测试等[9]。图1所示为MVC 模型关系,利用MVC 设计模式来开发硬件自动化测试平台,可以大大地改善程序的可理解性,增强程序的可维护性[10]。实现自动化测试就是通过测试工具或者其他手段,按照测试工序的预定计划对硬
件产品进行自动测试。
图1 MVC 模型关系
1.2 自动化硬件测试平台框架
平台的框架设计是实现硬件自动化测试的重要一
环,不仅可以确保业务性能,还能保证平台运行稳定。本文针对板卡生产厂、组装厂和研发人员应用需求,搭
建一个覆盖从板卡生产厂测试、组装厂测试,到内部的硬件兼容性测试、入所检等需求的自动化硬件测试平台,采用的是模块化测试脚本的框架。硬件测试平台主要提供不同阶段、不同场景的测试方案,包括板卡、整机、硬件兼容性、入所检、数据管理等五大模块全生命周期过程测试。利用可视化界面显示对应不同阶段测试结果,通过平台的整体部署[11]帮助研发人员快速定位,并大幅度减轻测试人员的重复性工作量,提高测试和生产效率。自动化硬件测试平台框架如图2所示,进入可视化操作界面,从测试子程序库调用测试脚本程序,通过网口或串口通信连接到被测设备,测试平台与待测设备进行命令交互,完成相应的服务器设备测试,同时将
测试数据保存。
图2 自动化硬件测试平台框架
所设计平台采用互联网技术,利用融合测试工具,可以实现自动化测试和实现数据管理的硬件测试平台,同时设计了测试数据管理、测试计划管理、机器管理、自动化测试管理等系统性功能。结合行业现状和现状趋势[10],测试平台的网络架构设计图如图3所示,主要包括PC 端、被测服务器、数据库服务器。测试人员在PC 端通过网络连接,经过登录防火墙进入被测服务器端,在PC 端运行测试程序界面,并将测试工具自动安装在被测服务器端,多台被测服务器统一接入交换机,再将测试得到的日志上传至数据服务器,更新同步测试人员由PC 端显示的可视化界面结果,完成板卡、整机、硬件兼容性、入所检、
数据管理等五大模块自动化测试流程。
图3 测试平台的网络架构设计图
在图2所示的自动化硬件测试平台框架中,PC 端作为可视化操作界面,将用户请求的信息上传至待测服务器端,待测服务器端运行封装模块的运行程序,封装了板卡测试、整机测试、入所检、兼容性测试、数据管理等五个模块,根据按键指令的方式调用对应模块测试脚
龚骁敏,等:基于MVC 的自动化硬件测试平台的研究45
现代电子技术
2023年第46卷
本、测试命令调用库、配置bin 档调用库、通信协议,其中
包括串口、ssh 、ftp 传输协议。
图4所示为自动化硬件测试流程图,每个模块对应
的测试结果进入数据库进行存档,由信息查询模块查询实时测试结果并更新在可视化界面,完成自动化硬
件测试。
图4 自动化硬件测试流程图
2 软件功能性设计
板卡生产测试模块主要分为信息配置管理、程序化测试两个部分。图5所示为板卡生产测试模块,信息配置管理具有提供硬件系统信息查询、网络配置、固件快速更新等功能。程序化配置能够按照测试要求合理编排测试项目,通过测试程序对主板测试项目进行有序的功能测试。此外,可视化的操作界面可以自定义设置测试某个单项目。
上述两种方式都能按规定自动执行后判定测试结果,并将测试数据记录保存到数据库[12]。其中功能测试项包括:外设接口检测、PCIE 、SAS 、SATA 、USB 网口、点灯测试、读盘测试、CPU 测试、Memory 测试、网络测试、重启测试等。选择板卡生产测试模块进行串口/网口连接,并输入板号开启待测机器,则程序进入自动测试状态中。测试项目主要包括开机启动日志检测、自动MAC 烧录、自动配置网络、自动执行单板功能测试、测试数据记录的保存和导出,板卡生产测试界面如图6
所示。
系统组装测试模块也分为信息配置管理、程序化测试两个部分。图7所示为系统组装测试模块结构,信息配置管理具有提供硬件系统信息查询、网络配置、固件快速更新等功能;程序化配置中的整机测试包含功能测试和稳定性检验,测试完成后自动判定测试结果,同时
将测试数据记录保存到数据库。
图5 板卡生产测试模块的结构
46
第20
期
图6
板卡生产测试界面
图7 系统组装测试模块结构
系统组装功能测试主要包括:PCIE 、SAS 、SATA 、USB 网口等总线、外设接口检测,点灯测试,读盘测试,重启测试等。稳定性测试主要包括CPU 压力测试、Memory 压力测试、网络压力测试等。整机组装测试界面如图8所示,模块分为性能测试和稳定性测试两大测
试项。性能测试时先输入整机SN 号和PN 号,再通过网口连接,点击“开始”按钮开始自动执行系统性能测试,并按规划自动配置网络。稳定性测试是先输入整机SN 号和PN 号,选择待测板卡对应IP ,点击“开始”按钮开始自动整机稳定性测试,测试完成后保存和导出测试数据结果。
硬件信息配置管理也具有提供硬件系统信息查询、网络配置、固件快速更新等功能,硬件兼容性测试界面如图9所示。程序化配置时,测试人员在操作界面可自由选择测试项进行测试。测试人员可以通过界面上预留的命令框进行指令输入操作,查看更多待测设备状态的信息。测试人员通过操作界面,可以对单一项目进行有针对性的验证,测试结果在经过软件判定后,反馈到界面显示结果。兼容性验证测试项包括各种总线和外设接口检测、各种适配板卡测试、重启测试、DDR 适配测试、网络测试、MAC 修改、FLASH 读写次数测试等。本文选择硬件兼容性测试模块,模块按所需将功能分类:串口连接功能、网口连接功能、自定义兼容性项目测试功能、自动网络配置功能、固件版本号查询功能、支持网卡、磁盘温度检测功能、支持风扇转速检测功能,支
持测试数据结果记录的保存和导出数据库。
图8
整机组装测试界面
图9 硬件兼容性测试界面
入所检模块程序化测试部分新增了命令框,测试人员可以手动输入命令,验证待测试设备相关信息的功能与自动测试平台测试是否保持一致。入所检界面如图10所示,界面提供硬件系统信息查询、网络配置、固件快速更新等功能。
测试结果经过测试程序自动判断后,保存测试数据进入数据库。入所检测试涵盖了板卡生产厂和系统厂组装所有的测试项。同时,测试人员还可以自定义测试项,自由选择需要测试的项目,对某些测试项目进行针对性的测试。对于飞腾平台,完成串口连接功能、网口连接功能、自定义入所检项目测试功能、入所检数据保存和导出功能;而对于X86平台而言,可实现网口连接
龚骁敏,等:基于MVC 的自动化硬件测试平台的研究47
现代电子技术
2023年第46卷
功能、自定义入所检项目测试功能、入所检数据保存和
导出功能。
图10 入所检界面
硬件信息查询终端主要包含两个功能:硬件测试档案查询接口、数据记录保存库。数据管理模块如图11所示,硬件信息查询可以查询硬件系统信息、硬件测试
历史记录信息等。
图11 数据管理模块
数据记录保存库将平台保存在服务器上的硬件测试数据按照类、表方式进行导入导出,支持操作时间和测试人员信息记录功能及数据库导入、导出功能,数据管理界面如图12
所示。
图12 数据管理界面
3 平台实现与结果
整个自动化硬件测试平台基于Python 和C 语言进行研发,不依赖其他限制性源码工具[13],整体由上位机和Shell 脚本两大模块组成。上位机模块基于Windows 资源,主要完成用户按键输入和界面显示功能,图13所示为硬件自动化测试平台界面,包括板卡生产厂测试模块、系统组装厂测试模块、硬件兼容性测试模块、入所检模块、测试数据管理模块。该平台使用串口与TCP/IP 网口通信协议实现上位机与被测机台的信息交互。Shell 脚本模块基于硬件被测设备的Linux 资源,提
供被测设备的测试方法和接口[14],包括CPU 、内存、PCIE
总线、磁盘等硬件相关的测试方法,性能指标达标情况如表1
所示。
图13 硬件自动化测试平台界面
4 结 论
通过自动化硬件测试平台的搭建,实现了零散测试脚本的模块化,界面化的设计使测试的项目更加灵活自由[15]。智能化的平台操作有助于工厂生产、组装生产测试和研发人员测试,降低了测试人员的工作量以及人工参与程度,能够保证数据的可信度,实现自动化水平测试。在兼容性测试、入所检等测试中,由于平台自动化测试信息导入,测试流程更加系统化,规范化管理测试数据以及存档,系统性地提高了工作效率,降低了人力成本,缩短了生产和测试的周期。
平台通过一键配置、自动执行等多种方式,程序便于维护,分成管理、增加或删减功能,可以帮助研发人员快速完成经常重复操作的繁琐硬件配置和产品相关部署工作,提高了测试人员以及研发的工作效率,实现了自动化且缩减了硬件繁杂的测试过程。
注:本文通讯作者为姚爽。
48
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论