本发明涉及测试技术领域,特别涉及一种自动化测试系统及方法。
背景技术:
随着服务器技术的不断发展,用户对服务器功能的需求也越来越高,因此,对服务器功能的测试需求也逐渐的多样化和复杂化。目前,在对服务器功能进行测试时,需要人工将测试仪器连接到服务器电路板的待测位置上,并根据所需测试的方案人工进行测试以及进行测试数据的记录,并利用记录的测试数据确定服务器的功能是否满足需求。人工测试的过程中,由于需要人为的进行各个步骤的测试和记录,不仅效率低,错误率也较高。
技术实现要素:
本发明实施例提供了一种自动化测试系统及方法,以解决人工测试效率低和错误率高的问题。
第一方面,本发明实施例提供了一种自动化测试系统,包括:测试仪器和终端设备;其中,所述测试仪器与外部待测设备的测试点连接,所述测试仪器与所述终端设备连接;
所述终端设备,用于存储测试流程,并根据所述测试流程向所述测试仪器发送至少一个测试指令,并获取所述测试仪器根据所述至少一个测试指令进行测试得到的至少一个测试数据,根据所述测试流程对所述至少一个测试数据进行存储;
所述测试仪器,用于根据每一个测试指令对所述待测设备进行相应的测试。
优选地,
所述终端设备包括:第一配置模块;所述第一配置模块,用于配置第一网络地址;
所述测试仪器包括:第二配置模块;所述第二配置模块,用于配置与所述第一网络地址相对应的第二网络地址;
所述第一网络地址与所述第二网络地址属于同一个局域网内的地址;
所述终端设备具体用于通过在浏览器中登录所述第二网络地址,以获取所述所述测试仪器根据所述至少一个测试指令进行测试得到的至少一个测试数据。
优选地,
所述自动化测试系统进一步包括:通用接口总线GPIB;所述终端设备与所述测试仪器通过所述GPIB相连接;
所述终端设备包括:第三配置模块;所述第三配置模块,用于配置所述终端设备的第三网络地址和所述测试仪器的第四网络地址;
所述测试仪器包括:第四配置模块;所述第四配置模块,用于配置与所述测试仪器的第四网络地址和所述终端设备的第三网络地址;
所述终端设备与所述测试仪器之间根据所述第三网络地址、所述第四网络地址,通过所述GPIB发送所述至少一个测试指令,以及获取所述测试仪器根据所述至少一个测试指令进行测试得到的至少一个测试数据。
优选地,进一步包括:气动装置;所述气动装置包括连接端和至少一个测试探头;
所述至少一个测试探头固定连接在所述待测设备的测试点上;
所述连接端与所述测试仪器相连。
优选地,
所述测试仪器包括:示波器或信号发射器;
和/或,
所述终端设备中配置有labwindows/cvi的开发环境,用于在labwindows/cvi的开发环境中配置所述测试流程。
第二方面,本发明实施例还提供了一种自动化测试方法,将测试仪器与外部待测设备的测试点连接,以及将测试仪器与终端设备连接;在所述终端设备中存储测试流程;还包括:
所述终端设备根据所述测试流程想所述测试仪器发送至少一个测试指令;
所述测试仪器根据所述至少一个测试指令对所述待测设备进行相应的测试;
所述终端设备获取所述测试仪器根据所述至少一个测试指令进行测试得到的至少一个测试数据,并根据所述测试流程对所述至少一个测试数据进行存储。
优选地,
所述将测试仪器与终端设备连接,包括:针对所述终端设备配置第一网络地址,以及针对所述测试仪器配置与所述第一网络地址相对应的第二网络地址;其中,所述第一网络地址与所述第二网络地址属于同一个局域网内的地址;
所述获取所述测试仪器根据所述至少一个测试指令进行测试得到的至少一个测试数据,包括:在所述终端设备开启浏览器,在开启的浏览器中登录所述第二网络地址,以加载所述测试仪器对应的测试页面,并在所述测试页面中读取所述至少一个测试数据。
优选地,
所述将测试仪器与终端设备连接,包括:利用通用接口总线GPIB将所述测试仪器与所述终端设备连接,针对所述终端设备配置第三网络地址,针对所述测试仪器配置第四网络地址,并将所述终端设备的第三网络地址配置到所述测试仪器中,以及将所述测试仪器的第四网络地址配置到所述终端设备中;
所述获取所述测试仪器根据所述至少一个测试指令进行测试得到的至少一个测试数据,包括:所述终端设备根据所述第四网络地址利用所述GPIB,向所述测试仪器发送所述至少一个测试指令,并接收所述测试仪器反馈的至少一个测试数据。
优选地,所述将测试仪器与外部待测设备的测试点连接,包括:获取气动装置,将所述气动装置包括的至少一个测试探头固定连接在所述待测设备的测试点上,将所述气动装置包括的连接端与所述测试仪器相连。
优选地,在所述存储测试流程之前,进一步包括:在所述终端设备中配置labwindows/cvi的开发环境,并在所述labwindows/cvi的开发环境中配置所述测试流程。
本发明实施例提供了一种自动化测试系统及方法,通过利用终端设备预先存储测试流程,并利用测试流程来对测试仪器进行测试指令的发送,实现测试仪器对待测设备的自动测试,通过利用终端设备根据测试流程自动对测试仪器测试得到的至少一个测试数据进行存储,从而可以提高测试效率,降低测试的错误率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种自动化测试系统示意图;
图2是本发明一个实施例提供的另一种自动化测试系统示意图;
图3是本发明一个实施例提供的又一种自动化测试系统示意图;
图4是本发明一个实施例提供的再一种自动化测试系统示意图;
图5是本发明一个实施例提供的一种自动化测试方法流程图;
图6是本发明一个实施例提供的另一种自动化测试方法流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
如图1所示,本发明实施例提供了一种自动化测试系统,该自动化测试系统可以包括以下内容:测试仪器101和终端设备102;其中,所述测试仪器101与外部待测设备的测试点连接,所述测试仪器101与所述终端设备102连接;
所述终端设备102,用于存储测试流程,并根据所述测试流程向所述测试仪器101发送至少一个测试指令,并获取所述测试仪器101根据所述至少一个测试指令进行测试得到的至少一个测试数据,根据所述测试流程对所述至少一个测试数据进行存储;
所述测试仪器101,用于根据每一个测试指令对所述待测设备进行相应的测试。
根据上述本发明实施例,通过利用终端设备预先存储测试流程,并利用测试流程来对测试仪器进行测试指令的发送,实现测试仪器对待测设备的自动测试,通过利用终端设备根据测试流程自动对测试仪器测试得到的至少一个测试数据进行存储,从而可以提高测试效率,降低测试的错误率。
在现有技术中,当确定了对待测设备的测试流程后,由人工进行逐步测试并记录,不仅效率低而且容易在记录过程中人工记录错误率较高,因此,可以将测试流程存储到终端设备中,由终端设备作为控制端,控制测试仪器进行自动测试。为了实现终端设备与测试仪器之间的连接,在本发明一个实施例中,至少可以通过如下两种方式来实现:
方式1:将终端设备和测试仪器配置在同一个局域网内。
方式2:终端设备和测试仪器通过通用接口总线连接,并利用IP地址进行通信。
下面对上述两个方式分别进行说明。
针对方式1:
请参考图2,所述终端设备102可以包括:第一配置模块1021;所述第一配置模1021块,用于配置第一网络地址;
所述测试仪器101包括:第二配置模块1011;所述第二配置模块1011,用于配置与所述第一网络地址相对应的第二网络地址;
所述第一网络地址与所述第二网络地址属于同一个局域网内的地址;
所述终端设备102具体用于通过在浏览器中登录所述第二网络地址,以获取所述所述测试仪器101根据所述至少一个测试指令进行测试得到的至少一个测试数据。
例如,第一配置模块针对终端设备配置的第一网络地址为192.168.1.2,第二配置模块针对测试仪器配置的第二网络地址为192.168.1.6,由于两个IP地址属于同一个局域网内,因此,可以在终端设备上打开浏览器,在浏览器登录测试仪器的IP地址,以此可以将测试仪器上的测试数据展示在浏览器中,从而可以获取到测试仪器进行测试得到的至少一个测试数据。
通过将终端设备和测试仪器配置在同一个局域网内,可以通过终端设备上的浏览器快速获取到测试仪器进行测试得到的至少一个测试数据,提高测试数据的获取速率。
针对方式2:
请参考图3,自动化测试系统可以进一步包括:GPIB(General Purpose Interface Bu,通用接口总线)103;所述终端设备与所述测试仪器通过所述GPIB相连接;
所述终端设备102包括:第三配置模块1022;所述第三配置模块1022,用于配置所述终端设备的第三网络地址和所述测试仪器的第四网络地址;
所述测试仪器101包括:第四配置模块1012;所述第四配置模块1012,用于配置与所述测试仪器的第四网络地址和所述终端设备的第三网络地址;
所述终端设备102与所述测试仪器101之间根据所述第三网络地址、所述第四网络地址,通过所述GPIB103发送所述至少一个测试指令,以及获取所述测试仪器101根据所述至少一个测试指令进行测试得到的至少一个测试数据。
其中,GPIB是最早由HP公司提出的一种接口仪器标准,目前的协议为488.2,GPIB总线是广泛用于自动测试系统的一种并行外总线标准,是专为仪器控制应用而设计的,它是一种用于连接设备的总线,计算机、电压表、信号发生器、示波器等都可以通过GPIB总线连接起来,组成一功能系统。该系统的特点是:积木式结构,可拆卸、易于重建;控制器可以是计算机、微处理器或简单的程序;数据传送可靠,使用灵活,价格低廉。正是由于以上特点,GPIB广泛应用于对测试仪器进行计算机控制、计算机与计算机之间的通讯,以及对其它电子设备的控制。
通过将终端设备和测试仪器通过GPIB总线连接,可以实现终端设备和测试仪器的自动连接,终端设备和测试仪器之间可以将TCP/IP协议作为传输层的传输控制协议,其中,IP协议是Internet网络中隶属于网络层的基础协议。IP协议提供可靠的、尽力的、无连接的数据投递服务,构成了Internet网络数据传输的基础。TCP协议以此为基础增加了连接管理和确认重发等机制,向更高层的应用程序提供面向连接的、可靠的传输服务,从而可以利用该方式来实现控制指令和测试数据的传输。
以上两种方式均可以实现终端设备与测试仪器之间的连接。
由于现有技术中在将测试仪器与待测设备连接时,是人工将测试仪器的测试指针接触到待测设备的测试点上,而在较长的测试过程中,可能存在测试指针与测试点移位的情况,在发生该移位情况之后,测试出的测试数据就会产生误差,从而给测试结果造成影响。在本发明一个实施例中,请参考图4,该自动化测试系统可以进一步包括:气动装置104;所述气动装置104包括连接端和至少一个测试探头;
所述至少一个测试探头固定连接在所述待测设备的测试点上;
所述连接端与所述测试仪器相连。
其中,该测试探头是一种弹性的顶针,可以扎到测试点上,以实现与测试点的固定连接,利用该气动装置可以无需人工操作,即可实现测试仪器与待测设备的连接,不仅节省人工,还保证了测试的准确性。
在本发明一个实施例中,该自动化测试方法至少可以实现对服务器电路板的测试,为了实现对服务器电路板的测试,该测试仪器可以包括:示波器或信号发射器。
在本发明一个实施例中,为了实现利用终端设备对测试仪器的自动控制,该测试流程可以是预先编写好的并拷贝到终端设备中的程序代码,也可以是直接在终端设备中编写的,为了快速完成测试流程的编写,可以在终端设备中配置labwindows/cvi的开发环境,并在labwindows/cvi的开发环境中配置所述测试流程。
其中,LabWindows/CVI是美国NI(National Instruments)公司推出的交互式C语言开发平台。它将功能强大﹑使用灵活的C语言平台与用于数据采集分析和显示的测控专业工具有机地结合起来,利用它的集成化开发环境﹑交互式编程方法﹑函数面板和丰富的库函数大大增强了C语言的功能,为熟悉C语言开发设计的人员编写检测系统﹑自动测试环境﹑数据采集系统﹑过程监控系统等应用软件提供了一个理想的软件开发环境。
虚拟仪器技术是近几年发展起来的新一代仪器技术,它的实质是利用计算机来模拟传统仪器的各项功能。LabWindows/CVI是开发虚拟仪器应用程序的软件工具中的佼佼者,和其它虚拟仪器开发工具相比,它的主要特点有:(1)LabWindows/CVI以功能强大、最为流行的C语言为基础,一般程序员无须再花时间去学习其它计算机语言,从而节省了开发时间。(2)友好的界面编辑方式,在程序设计中灵活地应用各种工具可以方便程序设计,减轻程序员负担。(3)各种功能强大的软件包大大增强了LabWindows/CVI的性能,这些软件包括接口函数库、信号处理函数库、Windows SDK等。
在LabWindows/CVI中可利用TCP函数库进行网络传输,在每次连接中都涉及到终端设备和测试仪器。其中终端设备可以通过网络向测试仪器发送测试指令或从测试仪器接收测试数据。测试仪器可以向终端设备发送连接请求,并从终端设备接收测试指令。终端设备注册后就等待测试仪器向它发出连接请求,而测试仪器只能向已经存在的终端设备发出连接请求。
实施例二
如图5所示,本发明实施例提供了一种自动化测试方法,该方法可以包括以下步骤:
步骤501:将测试仪器与外部待测设备的测试点连接,以及将测试仪器与终端设备连接;在所述终端设备中存储测试流程;
步骤502:所述终端设备根据所述测试流程想所述测试仪器发送至少一个测试指令;
步骤503:所述测试仪器根据所述至少一个测试指令对所述待测设备进行相应的测试;
步骤504:所述终端设备获取所述测试仪器根据所述至少一个测试指令进行测试得到的至少一个测试数据,并根据所述测试流程对所述至少一个测试数据进行存储。
根据本发明实施例,通过利用终端设备预先存储测试流程,并利用测试流程来对测试仪器进行测试指令的发送,实现测试仪器对待测设备的自动测试,通过利用终端设备根据测试流程自动对测试仪器测试得到的至少一个测试数据进行存储,从而可以提高测试效率,降低测试的错误率。
在本发明一个实施例中,为了实现终端设备与测试仪器之间的连接,可以利用将测试仪器和终端设备的IP地址配置在同一个局域网的方式来实现:
所述将测试仪器与终端设备连接,包括:针对所述终端设备配置第一网络地址,以及针对所述测试仪器配置与所述第一网络地址相对应的第二网络地址;其中,所述第一网络地址与所述第二网络地址属于同一个局域网内的地址;
所述获取所述测试仪器根据所述至少一个测试指令进行测试得到的至少一个测试数据,包括:在所述终端设备开启浏览器,在开启的浏览器中登录所述第二网络地址,以加载所述测试仪器对应的测试页面,并在所述测试页面中读取所述至少一个测试数据。
通过将终端设备和测试仪器配置在同一个局域网内,可以通过终端设备上的浏览器快速获取到测试仪器进行测试得到的至少一个测试数据,提高测试数据的获取速率。
在本发明一个实施例中,为了实现终端设备与测试仪器之间的连接,可以利用通用接口总线的方式将终端设备与测试仪器连接:
所述将测试仪器与终端设备连接,包括:利用通用接口总线GPIB将所述测试仪器与所述终端设备连接,针对所述终端设备配置第三网络地址,针对所述测试仪器配置第四网络地址,并将所述终端设备的第三网络地址配置到所述测试仪器中,以及将所述测试仪器的第四网络地址配置到所述终端设备中;
所述获取所述测试仪器根据所述至少一个测试指令进行测试得到的至少一个测试数据,包括:所述终端设备根据所述第四网络地址利用所述GPIB,向所述测试仪器发送所述至少一个测试指令,并接收所述测试仪器反馈的至少一个测试数据。
在本发明一个实施例中,由于现有技术中在将测试仪器与待测设备连接时,是人工将测试仪器的测试指针接触到待测设备的测试点上,而在较长的测试过程中,可能存在测试指针与测试点移位的情况,在发生该移位情况之后,测试出的测试数据就会产生误差,从而给测试结果造成影响。因此,所述将测试仪器与外部待测设备的测试点连接,包括:获取气动装置,将所述气动装置包括的至少一个测试探头固定连接在所述待测设备的测试点上,将所述气动装置包括的连接端与所述测试仪器相连。从而以实现与测试点的固定连接,利用该气动装置可以无需人工操作,即可实现测试仪器与待测设备的连接,不仅节省人工,还保证了测试的准确性。
在本发明一个实施例中,为了实现利用终端设备对测试仪器的自动控制,该测试流程可以是预先编写好的并拷贝到终端设备中的程序代码,也可以是直接在终端设备中编写的,为了快速完成测试流程的编写,在所述存储测试流程之前,进一步包括:在所述终端设备中配置labwindows/cvi的开发环境,并在所述labwindows/cvi的开发环境中配置所述测试流程。
实施例三
下面在将测试仪器与待测设备的测试点连接之后,以测试仪器为示波器、终端设备与测试仪器的连接以方式1为例,对本发明的自动化测试方法进行说明,该自动化测试方法请参考图6。
步骤601:对示波器进行配置。
本实施例中,对示波器的该配置流程可以包括:
(1)按下示波器前面板上的UTILITY(工具)。
(2)按下SYSTEM(系统)菜单按钮,选择“输入/输出”。
(3)按下“以太网网络设置”屏幕按钮,关闭“DHCP/BOOTP”不要动态分配IP地址,关闭“调试”。
(4)按下“改变仪器设置”可以修改测试仪器名称,测试仪器的IP地址等。配置完成后,按下执行接收保存配置。
其中,可以配置示波器的以太网地址为:08:00:11:17:92:a3;配置示波器名称为:L_3034b;配置示波器的IP地址为192.168.1.6;配置示波器的网关IP地址为192.168.1.1;配置子网模板为:255.255.255.0;配置Http接口为80。
步骤602:对终端设备进行配置。
将示波器与终端设备通过网线连接,此时开启示波器,并在终端设备中打开“网络和共享中心”,弹出一个“本地连接”,在选择本地连接后,配置终端设备的IP地址为192.168.1.2,子网掩码为255.255.255.0,默认网关为192.168.1.1。
步骤603:在终端设备上利用浏览器访问示波器。
在对示波器进行正确的以太网设置之后,就可以利用浏览器访问示波器了,该浏览器可以是IE浏览器以及其他浏览器,以IE浏览器为例,在该IE浏览器中输入示波器的IP地址“192.168.1.6”,确认后,浏览器会加载示波器的e*Scope主页,在该e*Scope主页上可以读取数据和进行一些简单的示波器控制。
步骤604:在终端设备上配置labwindows/cvi的开发环境,并在该开发环境中编写测试流程进行存储。
在本发明一个实施例中,该测试流程至少可以包括如下部分代码:
#include<stdio.h>
#include<memory.h>
//this example opens a specific GPIB device,does an*idn query
//and prints the result
Int main(int argc,char*argv[])
{
ViSession rm=VI_NULL,vi=VI_NULL;
ViSession status;
ViChar buffer[256];
ViUInt32retCnt;
//open a default session
Status=viOpenDefaultRM(&rm);
If(status<VI_SUCCESS)goto error;
//open the GPIB device at primary address 1,GPIB board 8
//status=viOpen(rm,“”GPIB8::1::INSTR”,VI_NULL,VI_NULL,&vi);
statusviOpen(rm,“”TCPIP::192.168.1.6::INSTR”,VI_NULL,VI_NULL,&vi);
if(status<VI_SUCCESS)goto error;
//因为我们示波器的IP是192.168.1.6所以viOpen()函数的第二个参数要置为TCPIP::192.168.1.6::INSTR
//Send an ID query.
Status=viWrite(vi,(ViBuf)“*idn?”,5,&retCnt);
if(status<VI_SUCCESS)goto error;
//Clear the buffer and read the response
memset(buffer,0,sizeof(buffer));
Status=viRead(vi,(ViBuf)buffer,sizeof(buffer),&retCnt);
if(status<VI_SUCCESS)goto error;
//Print the response
printf(“id:%5\n”,buffer);
}
步骤605:在终端设备上利用OpenChoice软件访问示波器,以利用测试流程控制示波器对待测设备进行测试。
步骤606:在浏览器的e*Scope主页上读取示波器的测试数据,并根据测试流程对读取的测试数据进行存储。
综上所述,本发明各个实施例至少可以实现如下有益效果:
1、在本发明实施例中,通过利用终端设备预先存储测试流程,并利用测试流程来对测试仪器进行测试指令的发送,实现测试仪器对待测设备的自动测试,通过利用终端设备根据测试流程自动对测试仪器测试得到的至少一个测试数据进行存储,从而可以提高测试效率,降低测试的错误率。
2、在本发明实施例中,通过将终端设备和测试仪器配置在同一个局域网内,可以通过终端设备上的浏览器快速获取到测试仪器进行测试得到的至少一个测试数据,提高测试数据的获取速率。
3、在本发明实施例中,通过将终端设备和测试仪器通过GPIB总线连接,可以实现终端设备和测试仪器的自动连接,终端设备和测试仪器之间可以将TCP/IP协议作为传输层的传输控制协议,从而可以利用该方式来实现控制指令和测试数据的传输。
4、在本发明实施例中,通过气动装置固定连接到待测设备的测试点上,以实现与测试点的固定连接,利用该气动装置可以无需人工操作,即可实现测试仪器与待测设备的连接,不仅节省人工,还保证了测试的准确性。
5、在本发明实施例中,基于labwindows/cvi开发环境进行测试流程的编程,可以远程控制测试仪器,该测试流程可以使测试仪器自动的调节测试参数,使之达到最优质并且与此同时进行抓取波形图片保存存档,并自动的把测试过程中记录下的数据导入到测试报告里,完成自动化测试。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。