一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

自动化测试方法、装置,计算机设备及可读存储介质与流程

2022-04-02 05:04:23 来源:中国专利 TAG:


1.本技术涉及硬件仿真技术领域,具体而言,涉及一种自动化测试方法、装置,计算机设备及可读存储介质。


背景技术:

2.随着集成电路技术的飞速发展,微处理器的设计规模也逐步增大,设计复杂性日益提高,给验证技术提出了更高的要求。验证技术主要包括软件仿真验证、fpga(field programmable gate array,现场可编程逻辑门电路)原型系统验证和硬件仿真加速器验证。软件仿真验证技术可以对微处理器中的模块进行验证,但难以满足系统级的大规模验证对仿真速度的需求。fpga原型验证能够提高较高的仿真速度,但受限于fpga的容量,一个微处理器设计需要划分到多片fpga,由此引入一个逻辑划分的问题,且技术难度和时间成本较大,同时还存在i/o(input/output,输入/输出)瓶颈和调试不便等问题。
3.硬件仿真加速器是目前微处理器系统级验证的主要手段,有效弥补了软件仿真验证和fpga原型验证的不足,其优势主要有:方便用户在设计早期建立芯片的硬件模型;方便用户在设计早期调试芯片软件和设计;可以多次重复使用;可以很方便地使用内置逻辑分析仪对电路进行调试;存在丰富的可复用的标准总线模型,如pci(peripheral component interconnect,外设部件互连标准),ethernet(以太网)等。
4.然而,目前硬件仿真加速器在测试前的配置过程中需要依靠测试人员手动进行配置,该方式需要耗费大量的人力,大大降低了配置效率。


技术实现要素:

5.本技术实施例的目的在于提供一种自动化测试方法、装置,计算机设备及可读存储介质,可以减少人工干预,提高了配置效率。
6.本发明是这样实现的:
7.第一方面,本技术实施例提供一种自动化测试方法,应用于计算机设备,所述计算机设备用于与硬件仿真加速器物理连接,所述硬件仿真加速器运行有与待测芯片相关的文件,以测试所述待测芯片的待测功能;所述方法包括:所述计算机设备在接收到用户发起的启动仿真指令后,执行测试脚本的第一连接功能,以触发所述硬件仿真加速器执行第一连接命令,实现所述计算机设备与所述硬件仿真加速器的通信连接;所述计算机设备在所述硬件仿真加速器执行所述第一连接命令之后,执行所述测试脚本的配置功能,以基于所述配置功能对应的配置工序对所述待测芯片的待测功能进行配置;其中,在执行所述测试脚本的配置功能时,所述测试脚本输出每个配置工序对应的配置指令,并在前一个配置工序完成时,自动进行下一个配置工序的配置。
8.在本技术实施例中,计算机设备在接收到用户发起的启动仿真指令后,可以自动执行测试脚本的第一连接功能,以触发硬件仿真加速器执行第一连接命令,进而使得计算机设备与硬件仿真加速器建立通信连接。通过该方式可以实现计算机设备与硬件仿真加速
器之间的交互,进而便于后续计算机设备通过测试脚本的配置功能完成对硬件仿真加速器的配置。此外,由于测试脚本会输出每个配置工序对应的配置指令,并在前一个配置工序完成时,自动进行下一个配置工序的配置,因此通过上述方式减小了硬件仿真加速器在配置过程中的人工干预,提高了配置效率。
9.结合上述第一方面提供的技术方案,在一些可能的实现方式中,所述硬件仿真加速器还运行有串口模型;所述执行所述测试脚本的配置功能,包括:所述计算机设备通过所述测试脚本输出第一配置工序对应的第一配置指令给所述串口模型,以使所述串口模型通过force方式将所述第一配置指令输入所述硬件仿真加速器;所述第一配置工序为所述每个配置工序中的任一个配置工序;所述计算机设备接收所述串口模型通过显示缓存方式输出的实际字符,所述实际字符为所述硬件仿真加速器执行所述第一配置指令时产生的、且通过所述硬件仿真加速器支持的调试脚本语言抓取的字符;所述计算机设备通过所述配置功能中的比对指令,对预先设置的期望完成字符与所述实际字符进行比对,以确定所述第一配置工序是否完成;所述计算机设备在确定所述第一配置工序完成,且所述第一配置工序不为最后一个配置工序时,通过所述测试脚本输出第二配置工序对应的第二配置指令给所述串口模型,所述第二配置工序为所述第一配置工序的下一个配置工序。
10.在本技术实施例中,通过将传统的串口芯片替换为串口模型,可以减小硬件仿真加速器在硬件环境上的配置难度。并且串口模型通过显示缓存方式将输出的实际字符发送至计算机设备,便于用户直观的看到每个配置阶段的过程,且也便于用户进行问题分析,大大提高了复杂场景下的测试效率。此外,计算机设备通过配置功能中的比对指令,可以将预先设置的期望完成字符与串口模型输出的实际字符进行比对,进而根据比对结果确定是否要输出下一道配置工序对应的配置指令给串口模型,通过该方式以实现下一道配置工序的自动触发,进而实现测试脚本的整个配置过程的自动化。
11.结合上述第一方面提供的技术方案,在一些可能的实现方式中,所述实际字符在被通过所述显示缓存方式输出之前,经过所述串口模型的识别并识别成功。
12.在本技术实施例中,串口模型还用于在实际字符输出前,对字符进行识别。只有在字符能够被识别成功的情况下串口模型才会将其输出,通过该方式可以保证串口模型在应用时的准确性和可靠性,以及避免出现串口模型在字符丢失的情况下仍将其输出进而导致后续比对出错的问题。
13.结合上述第一方面提供的技术方案,在一些可能的实现方式中,所述配置工序包括uboot引导、操作系统引导、所述待测功能的驱动加载以及所述待测功能的参数配置。
14.在本技术实施例中,配置工序可以包括uboot引导、操作系统引导、待测功能的驱动加载以及待测功能的参数配置,进而实现全阶段的自动化配置。
15.结合上述第一方面提供的技术方案,在一些可能的实现方式中,所述计算机设备还用于与其他计算机设备连接,所述硬件仿真加速器上连接的网卡通过网线连接至所述其他计算机设备,在确定所述待测芯片的待测功能的配置工序已配置完成之后,所述方法还包括:所述计算机设备执行所述测试脚本的第二连接功能,以实现所述计算机设备自动远程登录至所述硬件仿真加速器,并通过运行测试程序以对所述待测功能进行测试。
16.在本技术实施例中,当硬件仿真加速器上连接的网卡通过光纤连接至其他计算机设备,且与其他计算设备连接的本计算机设备在确定待测功能的配置工序已配置完成之
后,可以自动执行测试脚本的第二连接功能,以使计算机设备自动远程登录至硬件仿真加速器,同时通过测试程序对待测功能进行测试,通过该方式可以减少在待测功能的测试过程中的人工干预,进而实现从硬件仿真加速器的配置到待测功能的测试的全流程自动化。
17.结合上述第一方面提供的技术方案,在一些可能的实现方式中,所述测试脚本为expect脚本,所述计算机设备执行所述测试脚本的第二连接功能,包括:所述计算机设备通过所述expect脚本中的spawn命令,将所述计算机设备的ssh端口与所述硬件仿真加速器所配置的网络连接;其中,所述spawn命令中设置有所述网络的地址。
18.在本技术实施例中,通过对expect脚本中的spawn命令进行改造并且携带网络的地址,以便于将计算机设备的ssh端口与硬件仿真加速器所配置的网络连接。进一步,因为spawn命令具有开启一个新的进程的功能,所以可以满足同时开启多个计算机设备和硬件仿真加速器之间的测试连接,进而可以对待测芯片的多个待测功能同时进行测试。
19.结合上述第一方面提供的技术方案,在一些可能的实现方式中,所述计算机设备还用于与所述其他计算机设备通过无密访问的方式连接。
20.在本技术实施例中,由于计算机设备可以与其他计算机设备通过无密访问的方式连接,因此,不同计算机设备可实现与硬件仿真加速器的快速访问并进行测试。
21.第二方面,本技术实施例提供一种自动化测试装置,应用于计算机设备,所述计算机设备用于与硬件仿真加速器物理连接,所述硬件仿真加速器运行有与待测芯片相关的文件,以测试所述待测芯片的待测功能;所述装置包括:启动模块,用于接收用户发起的启动仿真指令;第一连接模块,用于在所述启动模块接收到用户发起的启动仿真指令后,执行测试脚本的第一连接功能,以触发所述硬件仿真加速器执行第一连接命令,实现所述计算机设备与所述硬件仿真加速器的通信连接;配置模块,用于在所述硬件仿真加速器执行所述第一连接命令之后,执行所述测试脚本的配置功能,以基于所述配置功能对应的配置工序对所述待测芯片的待测功能进行配置;其中,在执行所述测试脚本的配置功能时,所述测试脚本输出每个配置工序对应的配置指令,并在前一个配置工序完成时,自动进行下一个配置工序的配置。
22.第三方面,本技术实施例提供一种计算机设备,包括:处理器和存储器,所述处理器和所述存储器连接;所述存储器用于存储程序;所述处理器用于调用存储在所述存储器中的程序,执行如上述第一方面实施例和/或结合上述第一方面实施例的一些可能的实现方式提供的方法。
23.第四方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器运行时执行如上述第一方面实施例和/或结合上述第一方面实施例的一些可能的实现方式提供的方法。
附图说明
24.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
25.图1为本技术实施例提供的一种自动化测试系统的模块框图。
26.图2为本技术实施例提供的一种计算机设备的模块框图。
27.图3为本技术实施例提供的另一种自动化测试系统的模块框图。
28.图4为本技术实施例提供的一种自动化测试方法的步骤流程图。
29.图5为本技术实施例提供的另一种自动化测试的步骤流程图。
30.图6为本技术实施例提供的一种通过多个计算机设备进行测试的示意图。
31.图7为本技术实施例提供的一种自动化测试装置的模块框图。
32.图标:10-自动化测试系统;100-计算机设备;110-处理器;120-存储器;200-硬件仿真加速器;300-自动化测试装置;310-启动模块;320-第一连接模块;330-配置模块。
具体实施方式
33.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
34.为了便于理解本技术,下面先对相关技术术语进行解释:
35.测试脚本,即自动执行测试过程(或部分测试过程)的计算机可读指令。测试脚本可以被创建(记录)或使用测试自动化工具自动生成,或用编程语言编程来完成,也可综合前三种方法来完成。在本技术中,测试脚本可以包括三个过程,分别为:将计算机设备与硬件仿真加速器连接起来、配置待测芯片的待测功能、实现计算机设备自动远程登录硬件仿真加速器。本技术将在下文中重点阐述如何基于测试脚本实现基于硬件仿真加速器的仿真测试。
36.本技术发明人在实践中发现,在基于硬件仿真加速器的仿真测试中,测试人员每输入一条命令需要等待该命令响应完成,再输入其他命令。该方式会浪费测试人员等待的时间。并且在驱动加载完成后,若测试人员因为其他事情耽搁,会导致硬件仿真加速器一直没有完成配置。为解决该技术问题,本技术实施例提供了一种自动化测试系统、方法及装置。
37.具体的,请参阅图1,本技术实施例提供一种自动化测试系统10。自动化测试系统10包括:计算机设备100及硬件仿真加速器200。
38.其中,计算机设备100与硬件仿真加速器200物理连接。
39.于本技术实施例中,计算机设备100与硬件仿真加速器200之间通过光纤以实现物理连接。
40.在自动化测试系统10的自动化测试过程中,硬件仿真加速器200运行有与待测芯片相关的文件,可模拟出待测芯片的相关功能。计算机设备100配置有测试脚本,在计算机设备100与硬件仿真加速器200建立通信连接后,计算机设备100用于执行测试脚本的配置功能,进而使得硬件仿真加速器200基于配置功能对应的配置工序自动对待测芯片的待测功能进行配置。
41.请参阅图2,图2为本技术实施例提供的一种应用自动化测试方法及装置的计算机设备100的示意性结构框图。本技术实施例中,计算机设备100可以是终端或者服务器,终端可以是,但不限于pc(personal computer,个人计算机)、笔记本电脑等。服务器可以是但不限于网络服务器、数据库服务器、云服务器或由多个子服务器构成的服务器集成等。当然,上述列举的设备仅用于便于理解本技术实施例,其不应作为对本实施例的限定。
42.在结构上,计算机设备100可以包括处理器110和存储器120。
43.处理器110与存储器120直接或间接地电性连接,以实现数据的传输或交互,例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。自动化测试装置包括至少一个以软件或固件(firmware)的形式存储在存储器120中或固化在计算机设备100的操作系统(operating system,os)中的软件模块。处理器110用于执行存储器120中存储的可执行模块,例如,自动化测试装置所包括的软件功能模块及计算机程序等,以实现自动化测试方法。处理器110可以在接收到执行指令后,执行计算机程序。
44.其中,处理器110可以是一种集成电路芯片,具有信号处理能力。处理器110也可以是通用处理器,例如,可以是中央处理器(central processing unit,cpu)、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、分立门或晶体管逻辑器件、分立硬件组件,可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。此外,通用处理器可以是微处理器或者任何常规处理器等。
45.存储器120可以是,但不限于,随机存取存储器(random access memory,ram)、只读存储器(read only memory,rom)、可编程只读存储器(programmable read-only memory,prom)、可擦可编程序只读存储器(erasable programmable read-only memory,eprom),以及电可擦编程只读存储器(electric erasable programmable read-only memory,eeprom)。存储器120用于存储程序,处理器110在接收到执行指令后,执行该程序。
46.需要说明的是,图2所示的结构仅为示意,本技术实施例提供的计算机设备100还可以具有比图2更少或更多的组件,或是具有与图2所示不同的配置。此外,图2所示的各组件可以通过软件、硬件或其组合实现。
47.于本技术实施例中,计算机设备100的数量可以是一个,也可以是多个。当计算机设备100的数量为多个时,多个计算机设备100之间通信连接。
48.可选地,当计算机设备100的数量为多个时,多个计算机设备100之间可以通过无密访问的方式连接。
49.下面对硬件仿真加速器200进行说明。于本技术实施例中,硬件仿真加速器200中运行有与待测芯片相关的文件。
50.示例性的,将整个验证环境编译并加载到硬件仿真加速器200中,进而使得硬件仿真加速器200模拟出待测芯片的相关功能。验证环境包括待测芯片的rtl(register transfer level,寄存器准换级)代码和testbench(测试平台)代码。上述加载过相当于是将一个大的ic(integrated circuit,集成电路)设计的计算工作分配到硬件仿真加速器200中的各个单元。
51.上述的待测芯片的rtl代码和testbench代码即为与待测芯片相关的文件。
52.请参阅图3,图3为测试前的一种可能的硬件连接关系示意图。具体的,硬件仿真加速器200与多个计算机设备100(计算机设备a、计算机设备b及计算机设备c)通过光纤实现物理连接,多个计算机设备100之间通过无密访问的方式连接。硬件仿真加速器200可以支持但不限于以太网接口、sata(serial advanced technology attachment,串行硬盘)接口、usb(universal serial bus,通用串行总线)接口、pcie(peripheral component interconnect express,一种高速串行计算机扩展总线标准)接口,display(显示)接口。
53.上述的接口可以分为两类。其中,第一类接口在连接测试时需要使用母板
(motherboard),如usb接口、pcie接口。第二类接口在连接测试时无需使用母板,如以太网接口、sata接口、display接口。
54.针对第一类接口,在测试时,连接关系可以为:硬件仿真加速器200的第一类接口与光纤的一端连接,光纤的另一端通过tpod(一种硬件连接器)连接到该接口对应的降速桥(speedbridge)。降速桥插在母板上进行供电,同时母板上的另一个插槽插对应的外设卡。
55.需要说明的是,针对高速外设的测试,由于在真实系统中,高速外设的速率是非常高的,比如pcie4.0的传输速率16gt/s(单位:前兆传输/秒),而在硬件仿真加速器200上测试的时候,速率很慢,真实板子上的速率比硬件仿真加速器200上快2000倍左右。因此对于高速外设的测试,通过降速桥进行降速,来匹配硬件仿真加速器200的速率。
56.示例性的,当第一类接口为usb接口时,usb接口与光纤的一端连接,光纤的另一端通过tpod连接到usb接口对应的降速桥。降速桥插在母板上进行供电,同时母板上的另一个插槽插对应的外设卡,如u盘(usb闪存盘的简称)、鼠标。
57.当第一类接口为pcie接口时,pcie接口与光纤的一端连接,光纤的另一端通过tpod连接到pcie接口对应的降速桥。降速桥插在母板上进行供电,同时母板上的另一个插槽插对应的外设卡,如sata、ssd(solid state disk或solid state drive,固态硬盘)、nio(non-blocking io,非阻塞式输入输出)、网卡。其中,网卡可以是千兆网卡也可以是万兆网卡,本技术不作限定。当网卡为千兆网卡时,千兆网卡通过千兆网线与计算机设备100连接;当网卡为万兆网卡时,万兆网卡通过万兆网线与计算机设备100连接。
58.针对第二类接口,在测试时,连接关系可以为:硬件仿真加速器200的第二类接口通过光纤线连接到该接口对应降速桥,并采用供电箱(chasis)为该降速桥供电,该降速桥还通过光纤连接到计算机设备100上。同时,降速桥与外设进行物理连接。
59.示例性的,当第一类接口为以太网接口时,硬件仿真加速器200的以太网接口通过光纤线连接到以太网接口对应的降速桥,并采用供电箱为该降速桥供电,该降速桥还通过光纤连接到计算机设备100上。同时,降速桥与网线进行物理连接。网线还与计算机设备100物理连接。其中,网线可以是千兆网线也可以是万兆网线,本技术不作限定。
60.当第一类接口为sata接口时,硬件仿真加速器200的sata接口通过光纤线连接到sata接口对应的降速桥,并采用供电箱为该降速桥供电,该降速桥还通过光纤连接到计算机设备100上。同时,降速桥与sata或ssd进行物理连接。
61.此外,当第一类接口为display接口,display接口直接通过网线连接pc。
62.需要说明的是,关于硬件仿真加速器200在仿真过程中各接口的连接方式请参考现有技术,此处不过多赘述。
63.下面对本技术实施例提供的自动化测试方法进行说明。请参阅图4,图4为本技术实施例提供的自动化测试方法的步骤流程图,该方法可以应用于如图1所示的自动化测试系统10,其中,自动化测试系统10已经按照如图3所示的连接关系完成了硬件环境的搭建(需要哪一类接口进行测试,则建立对应的硬件连接关系)。需要说明的是,本技术实施例提供的自动化测试方法不以图4及以下所示的顺序为限制,该方法包括:步骤s101-步骤s104。
64.步骤s101:计算机设备100接收用户发起的启动仿真指令。
65.当用户需要对待测芯片的待测功能进行测试时,可以通过硬件仿真加速器200对待测芯片进行模拟。如在硬件仿真加速器200中配置有与待测芯片相关的文件,进而使得硬
件仿真加速器200模拟出待测芯片的相关功能。然后,用户根据待测功能将对应的接口进行连接。如当用户需要对待测芯片的usb接口的连接功能进行测试,则将usb接口与光纤的一端连接,光纤的另一端通过tpod连接到usb接口对应的降速桥。降速桥插在母板上进行供电,同时母板上的另一个插槽插u盘。
66.又如,当用户需要对待测芯片的网卡功能进行测试,则将pcie接口与光纤的一端连接,光纤的另一端通过tpod连接到pcie接口对应的降速桥。降速桥插在母板上进行供电,同时母板上的另一个插槽插千兆网卡。
67.又如,当用户需要对待测芯片的sata功能进行测试,则将pcie接口与光纤的一端连接,光纤的另一端通过tpod连接到pcie接口对应的降速桥。降速桥插在母板上进行供电,同时母板上的另一个插槽插sata。
68.当用户搭建好上述硬件环境后,可以向计算机设备100发起启动仿真指令。如,用户可以在计算机设备100显示的测试界面上点击启动仿真的按钮。
69.上述的用户可以为进行自动化测试的测试人员。
70.步骤s102:计算机设备100在接收到用户发起的启动仿真指令后,执行测试脚本的第一连接功能,以触发硬件仿真加速器200执行第一连接命令。
71.当计算机设备100接收到用户发起的启动仿真指令后,执行该测试脚本中的第一连接功能,以通过第一连接功能触发硬件仿真加速器200执行第一连接命令。
72.一种可能的实现方式中,该测试脚本可以为expect脚本。当然,在其他实施方式中,也可以是采用其他语言编写的测试脚本,只要该脚本能够实现自动人机交互即可,比如shell、python、ruby等。
73.步骤s103:硬件仿真加速器200执行第一连接命令,实现计算机设备100与硬件仿真加速器200的通信连接。
74.通过硬件仿真加速器200自身的第一连接命令,可以将计算机设备100与硬件仿真加速器200之间进行通信连接。
75.于本技术实施例中,硬件仿真加速器200执行的第一连接命令可以为自身的xeclient命令。当然,在其他实施例中,也可以是硬件仿真加速器200支持的其他能够实现上述通信连接的连接命令。
76.步骤s104:计算机设备100在硬件仿真加速器200执行第一连接命令之后,执行测试脚本的配置功能,以基于配置功能对应的配置工序对待测芯片的待测功能进行配置。
77.当硬件仿真加速器200执行第一连接命令实现与硬件仿真加速器200的通信连接之后,计算机设备100执行测试脚本的配置功能,进而基于配置功能对应的配置工序对待测芯片的待测功能进行配置。其中,计算机设备100在执行测试脚本的配置功能时,输出每个配置工序对应的配置指令,并在前一个配置工序完成时,自动进行下一个配置工序的配置。
78.示例性的,计算机设备100与硬件仿真加速器200建立通信连接之后,执行测试脚本的配置功能中的第一道配置工序,即计算机设备100向硬件仿真加速器200输出第一道配置工序对应的配置指令。硬件仿真加速器200基于第一道配置工序进行配置。当计算机设备100确定硬件仿真加速器200第一道配置工序完成时,执行测试脚本的配置功能中的第二道配置工序,即计算机设备100向硬件仿真加速器200输出第二道配置工序对应的指令。硬件仿真加速器200基于第二道配置工序进行配置。以此类推,直至计算机设备100执行完测试
脚本的配置功能中的所有配置工序。
79.上述的配置工序具体可以包括uboot(universal boot loader,引导加载程序)引导、操作系统(operating system,os)引导、待测功能的驱动加载以及待测功能的参数配置。
80.其中,uboot引导为第一道配置工序,操作系统引导为第二道配置工序,待测功能的驱动加载为第三道配置工序,待测功能的参数配置为第四道配置工序。
81.示例性的,当待测功能为网卡功能时,第三道配置工序为网卡的驱动加载,第四道配置工序为ip(internet protocol,网际互连协议)地址的配置。
82.当待测功能为pcie接口连接sata的功能时,第三道配置工序为sata驱动的安装,第四道配置工序为将sata进行mount操作,即挂载。
83.可见,在本技术实施例中,当配置工序包括uboot引导、操作系统引导、待测功能的驱动加载以及待测功能的参数配置时,可以实现全阶段的自动化配置。
84.综上,在本技术实施例中,计算机设备100在接收到用户发起的启动仿真指令后,可以自动执行测试脚本的第一连接功能,以触发硬件仿真加速器执行第一连接命令,进而使得计算机设备100与硬件仿真加速器200建立通信连接。通过该方式可以实现计算机设备100与硬件仿真加速器200之间的交互,进而便于后续计算机设备通过测试脚本的配置功能完成对硬件仿真加速器200的配置。此外,由于测试脚本会输出每个配置工序对应的配置指令,并在前一个配置工序完成时,自动进行下一个配置工序的配置,因此通过上述方式减小了硬件仿真加速器200在配置过程中的人工干预,提高了配置效率。
85.一实施例中,硬件仿真加速器200还运行有串口模型。其中,串口模型可以理解为基于串口芯片本身的特点,抽象出的一个模型。串口模型具有以下特性:第一,模拟了串口芯片(二者功能完全对等);第二,串口模型和串口芯片的输入值、输出值是相同的。
86.于本技术实施例中,串口模型被配置为输入采用硬件仿真加速器200的force方式,输出采用硬件仿真加速器200支持的调试脚本语言的显示缓存(display)方式。
87.其中,硬件仿真加速器200支持的调试脚本语言可以为state description language(sdl,状态描述语言)。
88.请参阅图5,计算机设备100执行测试脚本的配置功能时与硬件仿真加速器200的交互过程可以具体包括:步骤s201-步骤s205。
89.步骤s201:计算机设备100通过测试脚本输出第一配置工序对应的第一配置指令给串口模型,以使串口模型通过force方式将第一配置指令输入硬件仿真加速器200;第一配置工序为每个配置工序中的任一个配置工序。
90.步骤s202:硬件仿真加速器200运行的串口模型接收到第一配置指令后,通过force方式将第一配置指令输入硬件仿真加速器200,以使硬件仿真加速器200执行第一配置指令进行配置。
91.步骤s203:硬件仿真加速器200运行的串口模型通过硬件仿真加速器200支持的调试脚本语言抓取执行第一配置指令时产生的实际字符,并通过显示缓存方式将实际字符输出至计算机设备。
92.步骤s204:计算机设备100通过配置功能中的比对指令,对预先设置的期望完成字符与实际字符进行比对,以确定第一配置工序是否完成。
93.需要说明的是,在本实施例中,测试脚本中会预先设置有每个配置工序对应的期望完成字符。当计算机设备100接收到硬件仿真加速器200运行的串口模型输出的实际字符后,将实际字符与当前配置工序对应的期望完成字符进行比对。如当前配置工序为第一配置工序,则计算机设备通过配置功能中的比对指令,将实际字符与第一配置工序对应的期望完成字符进行比对。若实际字符与第一配置工序对应的期望完成字符相同,则确定第一配置工序是否为最后一个配置工序。若第一配置工序不为最后一个配置工序,则执行步骤s205。若第一配置工序为最后一个配置工序,则完成硬件仿真加速器200的自动化配置。
94.若实际字符与第一配置工序对应的期望完成字符不相同,则确定第一配置工序未完成,此时继续等待硬件仿真加速器200下一次输出的实际字符,或者通知用户切换为手动配置模式,以使用户进行手动配置。
95.步骤s205:计算机设备100在确定第一配置工序完成时,通过测试脚本输出第二配置工序对应的第二配置指令给串口模型,第二配置工序为第一配置工序的下一个配置工序。
96.当计算机设备100在确定第一配置工序完成,且第一配置工序不为最后一个配置工序时,自动通过测试脚本输出第二配置工序对应的第二配置指令给串口模型,第二配置工序为第一配置工序的下一个配置工序。硬件仿真加速器200运行的串口模型接收到第二配置指令后,通过force方式将第二配置指令输入硬件仿真加速器200,以使硬件仿真加速器200执行第二配置指令进行配置。然后硬件仿真加速器200运行的串口模型通过硬件仿真加速器200支持的调试脚本语言抓取执行第二配置指令时产生的实际字符,并通过显示缓存方式将最新的实际字符输出至计算机设备100。计算机设备100通过配置功能中的比对指令,将最新的实际字符与第二配置工序对应的期望完成字符进行比对。若最新的实际字符与第二配置工序对应的期望完成字符相同,则确定第二配置工序是否为最后一个配置工序。若第二配置工序不为最后一个配置工序,则通过测试脚本输出第三配置工序对应的第三配置指令给串口模型,第三配置工序为第二配置工序的下一个配置工序,以此类推。若第二配置工序为最后一个配置工序,则完成硬件仿真加速器200的自动化配置。
97.示例性的,当待测功能为网卡功能时,上述过程具体包括:计算机设备100通过测试脚本输出uboot引导对应的配置指令给串口模型。硬件仿真加速器200运行的串口模型接收到该配置指令后,通过force方式将该配置指令输入硬件仿真加速器200,以使硬件仿真加速器200进行uboot引导。然后,硬件仿真加速器200运行的串口模型通过硬件仿真加速器200支持的调试脚本语言抓取执行该配置指令时产生的实际字符,并通过显示缓存方式将实际字符输出至计算机设备100。计算机设备100通过配置功能中的比对指令,对预先设置的期望完成字符与实际字符进行比对,以确定uboot引导是否完成。计算机设备100在确定uboot引导完成时,通过测试脚本输出操作系统引导对应的配置指令给串口模型,硬件仿真加速器200运行的串口模型接收到该配置指令后,通过force方式将该配置指令输入硬件仿真加速器200,以使硬件仿真加速器200进行操作系统引导。然后,硬件仿真加速器200运行的串口模型通过硬件仿真加速器200支持的调试脚本语言抓取执行该配置指令时产生的实际字符,并通过显示缓存方式将实际字符输出至计算机设备100。计算机设备100通过配置功能中的比对指令,对预先设置的期望完成字符与实际字符进行比对,以确定操作系统引导是否完成。计算机设备100在确定操作系统引导完成时,通过测试脚本输出网卡驱动加载
对应的配置指令给串口模型,硬件仿真加速器200运行的串口模型接收到该配置指令后,通过force方式将该配置指令输入硬件仿真加速器200,以使硬件仿真加速器200进行网卡驱动的加载。然后,硬件仿真加速器200运行的串口模型通过硬件仿真加速器200支持的调试脚本语言抓取执行该配置指令时产生的实际字符,并通过显示缓存方式将实际字符输出至计算机设备100。计算机设备100通过配置功能中的比对指令,对预先设置的期望完成字符与实际字符进行比对,以确定网卡驱动加载是否完成。计算机设备100在确定网卡驱动加载完成时,通过测试脚本输出ip地址的配置对应的配置指令给串口模型,硬件仿真加速器200运行的串口模型接收到该配置指令后,通过force方式将该配置指令输入硬件仿真加速器200,以使硬件仿真加速器200进行ip地址的配置(其中,ip地址配置为与所连计算机设备同一网段)。然后,硬件仿真加速器200运行的串口模型通过硬件仿真加速器200支持的调试脚本语言抓取执行该配置指令时产生的实际字符,并通过显示缓存方式将实际字符输出至计算机设备100。计算机设备100通过配置功能中的比对指令,对预先设置的期望完成字符与实际字符进行比对,以确定ip地址的配置是否完成。当ip地址的配置完成,则完成硬件仿真加速器200在待测功能为网卡功能时的自动化配置。
98.可见,在本技术实施例中,通过将传统的串口芯片替换为串口模型,可以减小硬件仿真加速器200在硬件环境上的配置难度。并且串口模型通过显示缓存方式将输出的实际字符发送至计算机设备100,便于用户直观的看到每个配置阶段的过程,且也便于用户进行问题分析,大大提高了复杂场景下的测试效率。此外,计算机设备100通过配置功能中的比对指令,可以将预先设置的期望完成字符与串口模型输出的实际字符进行比对,进而根据比对结果确定是否要输出下一道配置工序对应的配置指令给串口模型,通过该方式以实现下一道配置工序的自动触发,进而实现测试脚本的整个配置过程的自动化。
99.可选地,实际字符在被通过显示缓存方式输出之前,经过串口模型的识别并识别成功。
100.也即,串口模型中还可以增加防止丢字符的函数。以硬件仿真加速器200支持的调试脚本语言为sdl为例。串口模型在抓取到字符后,利用sdl中sdl load功能,在字符还未输出时,通过load功能,检测字符是否已经被sdl工具识别,如果识别,则输出。否则,串口模型会自动将之前输入的字符重新输入到sdl中,确保load后能识别到该字符,以保证输入到的字符都能被正确的输出。
101.可见,在本技术实施例中,串口模型还用于在实际字符输出前,对字符进行识别。只有在字符能够被识别成功的情况下串口模型才会将其输出,通过该方式可以保证串口模型在应用时的准确性和可靠性,以及避免出现串口模型在字符丢失的情况下仍将其输出进而导致后续比对出错的问题。
102.此外,硬件仿真加速器200中也可以通过传统的串口芯片以实现指令的输入和实际字符的输出,对此,本技术不作限定。
103.在完成上述硬件仿真加速器200的自动化配置之后,即可对待测芯片的待测功能进行测试。
104.在一些实施例中,若判断前一个配置工序完成之后,并且前一个配置工序为配置工序中的最后一道工序时,可以自动触发对待测功能进行测试,也可以切换到手动触发的方式,由用户进行待测功能的手动测试。
105.以下将以自动触发对待测功能进行测试的情况为例,介绍进行自动化测试的实现方式。
106.一实施例中,请继续参考图3,计算机设备100还用于与其他计算机设备100连接,硬件仿真加速器200上连接的网卡通过网线连接至其他计算机设备100,在确定待测芯片的待测功能的配置工序已配置完成之后,方法还包括:计算机设备100执行测试脚本的第二连接功能,以实现计算机设备100自动远程登录至硬件仿真加速器200,并通过运行测试程序以对待测功能进行测试。
107.具体的,计算机设备100在确定待测芯片的待测功能的最后一道配置工序已配置完成之后,执行测试脚本的第二连接功能。通过计算机设备100的ssh(secure shell,安全外壳协议)端口连接上所配置的网络,然后通过测试脚本进入硬件仿真加速器200,进而运行测试程序以对待测功能进行测试。
108.可见,在本技术实施例中,当硬件仿真加速器200上连接的网卡通过光纤连接至其他计算机设备100,且与其他计算机设备100连接的本计算机设备100在确定待测功能的配置工序已配置完成之后,可以自动执行测试脚本的第二连接功能,以使计算机设备100自动远程登录至硬件仿真加速器,同时通过测试程序对待测功能进行测试,通过该方式可以减少在待测功能的测试过程中的人工干预,进而实现从硬件仿真加速器200的配置到待测功能的测试的全流程自动化。
109.于本技术实施例中,测试脚本可以为expect脚本,计算机设备100执行测试脚本的第二连接功能,包括:计算机设备100通过expect脚本中的spawn命令,将计算机设备100的ssh端口与硬件仿真加速器200所配置的网络连接。其中,spawn命令中设置有网络的地址。
110.在本技术实施例中,通过对expect脚本中的spawn命令进行改造并且携带网络的地址,以便于将计算机设备100的ssh端口与硬件仿真加速器200所配置的网络连接。进一步,因为spawn命令具有开启一个新的进程的功能,所以可以满足同时开启多个计算机设备100和硬件仿真加速器200之间的测试连接,进而可以对待测芯片的多个待测功能同时进行测试。
111.以网卡测试流程为例:当网卡已经加载驱动成功并且已经配置完ip地址后,计算机设备100执行测试脚本的第二连接功能。通过计算机设备100的ssh(secure shell,安全外壳协议)连接上所配置的网络,计算机设备100通过expect脚本中的spawn命令连接网络,expect脚本中的spawn命令可以是spawn sh-c“ssh-t server1 telnet$ip_addr”。最后,通过测试脚本进入硬件仿真加速器200,进而运行网卡测试程序进行测试。其中,网卡测试程序可以是网络性能测试程序。
112.以pcie接口连接sata的功能测试流程为例:当sata的驱动已经加载成功,并且成功mount挂载,接下来与网卡测试流程一样,通过计算机设备100的ssh(secure shell,安全外壳协议)连接上所配置的网络,计算机设备100通过expect脚本中的spawn命令连接网络,expect脚本中的spawn命令可以是spawn sh-c“ssh-t server1 telnet$ip_addr”。最后,通过测试脚本进入硬件仿真加速器200,进而运行sata测试程序进行测试。其中,sata测试程序可以是磁盘性能测试程序。
113.此外,需要说明的是,当计算机设备100为多台时,也仅需要使用其中的一台计算机设备100连接上所配置的网络即可。由于计算机设备100之间互相连接,因此,可以在多台
计算机设备100上同时进行测试。当然,也可以选择任意一台计算机设备100执行待测功能的测试。如图6所示,计算机设备a连接上所配置的网络后,计算机设备a可以与硬件仿真加速器200建立两条测试连接,来分别进行网卡测试和sata测试,此时,计算机设备b也可以与硬件仿真加速器200建立测试连接,进而进行usb测试。
114.一实施例中,计算机设备100还用于与其他计算机设备100通过无密访问的方式连接。例如,图3中,计算机设备a与计算机设备b之间可进行无密访问,计算机设备a与计算机设备c之间可进行无密访问,计算机设备b和计算机设备c之间可进行无密访问。
115.在本技术实施例中,由于计算机设备100可以与其他计算机设备100设备通过无密访问的方式连接,因此,不同计算机设备100可实现与硬件仿真加速器200的快速访问并进行测试。
116.请参阅图7,基于同一发明构思,本技术实施例还提供一种自动化测试装置300,其应用于计算机设备100,所述计算机设备100用于与硬件仿真加速器200物理连接,硬件仿真加速器200运行有与待测芯片相关的文件,以测试待测芯片的待测功能;自动化测试装置300包括:
117.启动模块310,用于接收用户发起的启动仿真指令。
118.第一连接模块320,用于在所述启动模块接收到用户发起的启动仿真指令后,执行测试脚本的第一连接功能,以触发所述硬件仿真加速器执行第一连接命令,实现所述计算机设备与所述硬件仿真加速器的通信连接;
119.配置模块330,用于在所述硬件仿真加速器执行所述第一连接命令之后,执行所述测试脚本的配置功能,以基于所述配置功能对应的配置工序对所述待测芯片的待测功能进行配置;其中,在执行所述测试脚本的配置功能时,所述测试脚本输出每个配置工序对应的配置指令,并在前一个配置工序完成时,自动进行下一个配置工序的配置。
120.可选地,所述硬件仿真加速器还运行有串口模型;所述配置模块330具体用于通过所述测试脚本输出第一配置工序对应的第一配置指令给所述串口模型,以使所述串口模型通过force方式将所述第一配置指令输入所述硬件仿真加速器;所述第一配置工序为所述每个配置工序中的任一个配置工序;接收所述串口模型通过显示缓存方式输出的实际字符,所述实际字符为所述硬件仿真加速器执行所述第一配置指令时产生的、且通过所述硬件仿真加速器支持的调试脚本语言抓取的字符;通过所述配置功能中的比对指令,对预先设置的期望完成字符与所述实际字符进行比对,以确定所述第一配置工序是否完成;在确定所述第一配置工序完成,且所述第一配置工序不为最后一个配置工序时,通过所述测试脚本输出第二配置工序对应的第二配置指令给所述串口模型,所述第二配置工序为所述第一配置工序的下一个配置工序。
121.可选地,所述配置模块330中的所述配置工序包括uboot引导、操作系统引导、所述待测功能的驱动加载以及所述待测功能的参数配置。
122.可选地,所述计算机设备还用于与其他计算机设备连接,所述硬件仿真加速器上连接的网卡通过网线连接至所述其他计算机设备,所述自动化测试装置300还包括:第二连接模块;
123.所述第二连接模块,用于在确定所述待测芯片的待测功能的配置工序已配置完成之后,执行所述测试脚本的第二连接功能,以实现所述计算机设备自动远程登录至所述硬
件仿真加速器,并通过运行测试程序以对所述待测功能进行测试。
124.可选地,所述测试脚本为expect脚本。所述第二连接模块具体用于通过所述expect脚本中的spawn命令,将所述计算机设备的ssh端口与所述硬件仿真加速器所配置的网络连接;其中,所述spawn命令中设置有所述网络的地址。
125.需要说明的是,由于所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
126.基于同一发明构思,本技术实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序在被运行时执行上述实施例中提供的方法。
127.该存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如软盘、硬盘、磁带)、光介质(例如dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
128.在本技术所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
129.另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
130.再者,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
131.在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
132.以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献