自动化测试系统及测试方法与流程

文档序号:12596927阅读:371来源:国知局
自动化测试系统及测试方法与流程

本发明涉及嵌入式设备测试领域,尤其涉及自动化测试系统及测试方法。



背景技术:

随着嵌入式设备的快速发展,尤其是嵌入式通信网络设备的快速发展,具有传输效率高、系统容量大、传输成本低的嵌入式通信网络设备也越来越受到重视,例如光网络传输设备,但由于光网络传输设备支持的功能多、单板种类多,从而导致发布的测试程序版本也很多,因此,测试人员每次安排测试都要进行大量重复操作,致使时间和人力成本增加,测试效率降低。因此,需要开发一种适应于如光网络传输设备测试特征的自动化测试方法。



技术实现要素:

本发明的主要目的在于提供一种自动化测试系统及测试方法,旨在解决现有自动化测试方法无法满足如光网络传输设备测试特征,从而致使测试的时间和人力成本增加、测试效率降低的技术问题。

为实现上述目的,本发明提供的自动化测试系统,所述自动化测试系统包括:版本更新模块、静态检查模块、编译模块、烧录模块、测试执行模块以及测试反馈模块;

所述版本更新模块,用于检测测试软件的版本并进行更新;

所述静态检查模块,用于对更新后的测试软件中的程序进行静态检查;

所述编译模块,用于对完成静态检查后的测试软件中的程序进行编译;

所述烧录模块,用于将编译后的测试软件中的程序写入被测设备;

所述测试执行模块,用于根据预设的测试策略,在所述被测设备上执行自动化测试;

所述测试反馈模块,用于反馈自动化测试结果及测试日志信息。

优选地,所述自动化测试系统还包括:

跳转模块,用于判断当前模块是否执行结束以及在当前模块执行结束后跳转到下一模块。

优选地,所述自动化测试系统还包括:

自适应判决模块,用于当测试过程中出现故障时,判决是否继续执行测试。

优选地,所述自适应判决模块具体用于:

当测试用例出现故障时,根据预设的故障等级,判决是否继续执行测试。

优选地,所述自适应判决模块具体用于:

当测试用例出现故障且为预设的第一类故障等级时,终止当前测试用例的测试并通知测试人员;

当测试用例出现故障且为预设的第二类故障等级时,继续执行下一测试用例。

进一步地,为实现上述目的,本发明还提供一种测试方法,所述测试方法包括:

当测试软件的版本存在更新时,自动化测试系统获取更新后的测试软件并对所述测试软件中的程序进行静态检查;

编译完成静态检查后的测试软件中的程序并将编译后的测试软件中的程序写入被测设备;

根据预设测试策略,在所述被测设备上执行自动化测试并反馈自动化测试结果及测试日志信息。

优选地,所述当测试软件的版本存在更新时,自动化测试系统获取更新后的测试软件并对所述测试软件中的程序进行静态检查之前包括:

所述自动化测试系统检测测试软件的版本是否存在更新。

优选地,所述根据预设测试策略,在所述被测设备上执行自动化测试中包括:

当测试过程中出现故障时,所述自动化测试系统判决是否继续执行测试。

优选地,所述当测试过程中出现故障时,所述自动化测试系统判决是否继续执行测试包括:

当测试用例出现故障时,所述自动化测试系统根据预设的故障等级,判决是否继续执行测试。

优选地,所述当测试用例出现故障时,所述自动化测试系统根据预设的故障等级,判决是否继续执行测试包括:

当测试用例出现故障且为预设的第一类故障等级时,所述自动化测试系统终止当前测试用例的测试并通知测试人员;

当测试用例出现故障且为预设的第二类故障等级时,所述自动化测试系统继续执行下一测试用例。

本发明通过将自动化测试的各个功能进行模块化,从而使得各个模块功能独立,进而使整个测试方法具有很强的移植性与扩展性,能够全自动化执行,进而减少人为因素造成的测试不科学,提高研发效率。另外,本发明还考虑了测试过程出现故障的情况,通过测试中断自适应方式,由测试程序判决是否继续测试,从而为测试中断情况提供了很好的容错机制,提高了测试的效率并降低了产品的研发成本。

附图说明

图1为本发明自动化测试系统第一实施例的功能模块示意图;

图2为本发明自动化测试系统所对应的装置一实施例的结构框图;

图3为本发明自动化测试系统一实施例的分层框架示意图;

图4为本发明自动化测试系统第二实施例的功能模块示意图;

图5为本发明自动化测试系统第三实施例的功能模块示意图;

图6为图5中自适应判决模块的自适应流程示意图;

图7为本发明测试方法第一实施例的流程示意图;

图8为本发明测试方法第二实施例的流程示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

本发明提供一种自动化测试系统。

参照图1,图1为本发明自动化测试系统第一实施例的功能模块示意图。

在本实施例中,该自动化测试系统包括:版本更新模块10、静态检查模 块20、编译模块30、烧录模块40、测试执行模块50以及测试反馈模块60;

版本更新模块10用于检测测试软件的版本并进行更新;

一般,根据测试需要,测试人员需要不断对测试软件进行修改从而实现测试目的。当测试人员修改完毕并上传测试软件时,版本更新模块10将自动检测该测试软件的版本是否存在更新,若是,则自动下载该测试软件的最新版本并进行更新。测试软件具体包括用于进行测试的测试数据、测试用例以及执行测试的测试函数集等。

静态检查模块20用于对更新后的测试软件中的程序进行静态检查;

编译模块30用于对完成静态检查后的测试软件中的程序进行编译;

烧录模块40用于将编译后的测试软件中的程序写入被测设备;

本实施例中,被测设备为嵌入式设备。因此需要将测试软件中的相关程序写入被测设备中以便于进行测试。首先,通过静态检查模块20对更新后的测试软件中的程序进行静态检查,比如检查程序的语法结构、数组越界、除数为零、缓冲区溢出等;然后再通过编译模块30对通过静态检查模块20检查的程序进行编译;最后再通过烧录模块40将编译后的测试软件中的程序写入被测设备中。另外,可选的,当静态检查或编译或烧录过程中出现错误时,静态检查模块20或编译模块30或烧录模块40还用于将出现的错误信息反馈给测试人员。

测试执行模块50用于根据预设的测试策略,在所述被测设备上执行自动化测试;

测试反馈模块60用于反馈自动化测试结果及测试日志信息。

当将测试的相关程序写入被测设备后,测试执行模块50将根据预设的测试策略,自动执行自动化测试,完成测试执行过程。预设的测试策略包括测试的类型及对应的测试用例,比如回归测试、压力测试等,同时,不同的测试类型所采用的测试用例可以相同,也可以不同。当自动化测试结束后,测试反馈模块60将自动化测试结果及测试日志信息反馈给测试人员,比如通过邮件形式将测试结果及测试日志发送到测试人员的邮箱中,以便测试人员及时跟进了解测试情况,并对测试设备或测试程序进行后续修改完善。

如图2所示的自动化测试系统所对应的装置一实施例的结构框图。该装 置包括自动化服务器、版本服务器以及显示看板。

自动化服务器负责完成自动化用例管理、参数配置、测试执行及测试结果反馈等功能,并与被测设备交互,完成自动化测试过程;版本服务器负责软件版本的检查与更新、编译及程序烧录等功能,并将相关软件程序传递给被测设备;显示看板用于显示软件版本检查、编译、烧录及测试结果显示等功能。另外,需要说明的是,本实施例中,被测设备为嵌入式设备,并优选为光网络传输设备。

如图3所示的本发明自动化测试系统一实施例的分层框架示意图。本实施例中引入模块化的设计思路,将自动化测试系统看作一个具有三层架构的框架,分别为支撑层、业务层及应用层。其中,支撑层用于支撑底层设备通信协议收发消息平台功能,并在完成对底层设备通信协议封装后即可以保证自动化测试系统与被测试设备的通信信息交互;业务层主要是根据嵌入式设备产品的业务进行消息接口封装,完成API接口(比如安全、性能、维护及告警),直接屏蔽各个设备的功能差异,并被上层应用层调用;应用层则完成业务参数配置及用例管理功能,同时,保证执行结果及日志输出。

本实施例中采用的模块化设计具有很强的移植性及扩展性,因而能满足不同嵌入式设备产品和不同测试软件版本的测试需求。自动化测试系统的整个执行过程模拟网管操作,从而保证测试环境步骤一致性,避免人为操作不规范或差异性,并自动反馈测试结果。通过将自动化测试的各个功能进行模块化,从而使得各个模块功能独立,进而使整个测试方法具有很强的移植性与扩展性,能够全自动化执行,进而减少人为因素造成的测试不科学,提高研发效率。

参照图4,图4为本发明自动化测试系统第二实施例的功能模块示意图。本实施例中,所述自动化测试系统还包括:

跳转模块70,用于判断当前模块是否执行结束以及在当前模块执行结束后跳转到下一模块。

由于各模块功能相互独立,同时为保证整个自动化测试过程全自动执行,本实施例中,通过跳转模块70判断当前模块是否执行结束以及在当前模块执行结束后自动跳转到下一模块,从而将自动化测试系统的整个功能模块串联 后依次执行。具体可在各个模块设置结束标记以及下一模块的调用地址。

本实施例为实现自动化测试系统的测试执行过程全自动化的较佳实施例。此外还可以通过设置自动化执行的配置文件,根据配置文件中的调用顺序自动化执行;或者各模块在执行结束后通过发送消息通知的方式通知下一模块自动执行。通过全自动化执行,能够减人为因素所造成的测试不科学,同时各模块功能相互独立以及全自动化执行能够适应处理嵌入式设备支持功能多、单板种类多,从而导致发布的版本也非常多,测试任务繁重的技术问题,从而节省了测试的时间及人力成本,提高了测试效率及研发进程,同时也降低了研发成本。

参照图5,图5为本发明自动化测试系统第三实施例的功能模块示意图。本实施例中,所述自动化测试系统还包括:

自适应判决模块80,用于当测试过程中出现故障时,判决是否继续执行测试。

本实施例中,考虑到嵌入式设备,尤其是光网络传输设备的测试与环境的强关联性,从而决定了光网络传输设备进行测试的故障分析定位离不开现场实际环境,因此,当测试过程中发生外部环境变化或测试意外中断的故障时,通过自适应判决模块80判决是否继续执行测试。具体可以通过预设可能出现的所有故障所对应的处理方式,从而交由自动化测试系统自行判决是否继续执行测试。

本实施例为更好定位被测设备发生故障的现场环境,同时也保证整个测试过程自动化执行,通过自适应判决模块80对测试过程中出现的故障进行判决,若终止测试则保留测试现场;否则继续执行测试。

可选的,所述自适应判决模块80具体用于:当测试用例出现故障时,根据预设的故障等级,判决是否继续执行测试。

执行测试用例是整个自动化测试的核心部分,且整个自动化测试过程中所需要执行的测试用例很多,一般自动化测试都是按照设定好的测试顺序执行各测试用例,而当某一测试用例出现故障时,需要测试人员进行手动修改或调整测试用例的执行顺序;或者多个测试用例都出现故障时,将需要花费 大量时间进行手动修改或调整,从而影响了整个自动化测试的测试效率。

本实施例中,当测试用例出现故障时,自适应判决模块80根据预设的故障等级,判决是否继续执行测试,从而更好定位被测设备发生故障的现场环境,同时也保证整个测试过程的自动化执行。

进一步,可选的,参照图6,所述自适应判决模块80具体用于:

当测试用例出现故障且为预设的第一类故障等级时,终止当前测试用例的测试并通知测试人员;

当测试用例出现故障且为预设的第二类故障等级时,继续执行下一测试用例。

本实施例中,根据终止执行与继续执行,因此可将测试用例出现的故障等级对应分为两类,例如将问题相对比较严重、需要测试人员及时处理的测试用例故障预设为第一类故障等级;而其他的测试用例故障则预设为第二类故障等级。当测试用例出现故障且为预设的第一类故障等级时,终止当前测试用例的测试以保留现场故障环境,同时通过如短消息或邮件方式告知测试人员进行分析;而当测试用例出现故障且为预设的第二类故障等级时,继续执行下一测试用例。

本发明提供一种测试方法。

参照图7,图7为本发明测试方法第一实施例的流程示意图。本实施例中,测试方法包括:

步骤S10,当测试软件的版本存在更新时,自动化测试系统获取更新后的测试软件并对所述测试软件中的程序进行静态检查;

一般根据测试需要,测试人员需要不断对测试软件进行修改从而实现测试目的。当测试人员修改完毕并上传测试软件时,也即测试软件的版本存在更新时,自动化测试系统将自动下载该测试软件的最新版本并进行更新,同时对测试软件中的程序进行静态检查,,比如检查程序的语法结构、数组越界、除数为零、缓冲区溢出等。测试软件具体包括用于进行测试的测试数据、测试用例以及执行测试的测试函数集等。

步骤S20,编译完成静态检查后的测试软件中的程序并将编译后的测试软 件中的程序写入被测设备;

本实施例中,被测设备为嵌入式设备。因此需要将测试软件中的相关程序写入被测设备中以便于进行测试。自动化测试系统对通过静态检查的程序进行编译,并将编译后的测试软件中的程序写入被测设备中。另外,可选的,当静态检查或编译或烧录过程中出现错误时,自动化测试系统将出现的错误信息反馈给测试人员。

步骤S30,根据预设测试策略,在所述被测设备上执行自动化测试并反馈自动化测试结果及测试日志信息。

当将测试的相关程序写入被测设备后,自动化测试系统将根据预设的测试策略,自动执行自动化测试,完成测试执行过程。预设的测试策略包括测试的类型及对应的测试用例,比如回归测试、压力测试等,同时,不同的测试类型所采用的测试用例可以相同,也可以不同。当自动化测试结束后,自动化测试系统将自动化测试结果及测试日志信息反馈给测试人员,比如通过邮件形式将测试结果及测试日志发送到测试人员的邮箱中,以便测试人员及时跟进了解测试情况,并对测试设备或测试程序进行后续修改完善。

本实施例中采用的模块化设计具有很强的移植性及扩展性,因而能满足不同嵌入式设备产品和不同测试软件版本的测试需求。自动化测试系统的整个执行过程模拟网管操作,从而保证测试环境步骤一致性,避免人为操作不规范或差异性,并自动反馈测试结果。通过将自动化测试的各个功能进行模块化,从而使得各个模块功能独立,进而使整个测试方法具有很强的移植性与扩展性,减少人为因素造成的测试不科学,提高研发效率。

参照图8,图8为本发明测试方法第二实施例的流程示意图。本实施例中,上述步骤S10之前包括:

步骤S00,所述自动化测试系统检测测试软件的版本是否存在更新。

一般根据测试需要,测试人员需要不断对测试软件进行修改从而实现测试目的。本实施例中,当测试人员修改完毕并上传测试软件时,自动化测试系统将自动检测该测试软件的版本是否存在更新,若是,则自动下载该测试软件的最新版本并进行更新。

可选的,在本实施例中,步骤S30中根据预设测试策略,在所述被测设备上执行自动化测试包括:当测试过程中出现故障时,所述自动化测试系统判决是否继续执行测试。

本实施例中,考虑到嵌入式设备,尤其是光网络传输设备的测试与环境的强关联性,从而决定了光网络传输设备进行测试的故障分析定位离不开现场实际环境,因此,当测试过程中发生外部环境变化或测试意外中断的故障时,通过自动化测试系统判决是否继续执行测试。具体可以通过预设可能出现的所有故障所对应的处理方式,从而交由自动化测试系统自行判决是否继续执行测试。

本实施例为更好定位被测设备发生故障的现场环境,同时也保证整个测试过程自动化执行,通过自动化测试系统对测试过程中出现的故障进行判决,若终止测试则保留测试现场;否则继续执行测试。

进一步,可选的,基于上述实施例,当测试过程中出现故障时,判决是否继续执行测试包括:当测试用例出现故障时,所述自动化测试系统根据预设的故障等级,判决是否继续执行测试。

执行测试用例是整个自动化测试的核心部分,且整个自动化测试过程中所需要执行的测试用例很多,一般自动化测试都是按照设定好的测试顺序执行各测试用例,而当某一测试用例出现故障时,需要测试人员进行手动修改或调整测试用例的执行顺序;或者多个测试用例都出现故障时,将需要花费大量时间进行手动修改或调整,从而影响了整个自动化测试的测试效率。

本实施例中,当测试用例出现故障时,自动化测试系统根据预设的故障等级,判决是否继续执行测试,从而更好定位被测设备发生故障的现场环境,同时也保证整个测试过程的自动化执行。

进一步,可选的,基于上述实施例,当测试用例出现故障时,根据预设的故障等级,判决是否继续执行测试包括:

当测试用例出现故障且为预设的第一类故障等级时,所述自动化测试系统终止当前测试用例的测试并通知测试人员;

当测试用例出现故障且为预设的第二类故障等级时,所述自动化测试系 统继续执行下一测试用例。

本实施例中,根据终止执行与继续执行,因此可将测试用例出现的故障等级对应分为两类,例如将问题相对比较严重、需要测试人员及时处理的测试用例故障预设为第一类故障等级;而其他的测试用例故障则预设为第二类故障等级。当测试用例出现故障且为预设的第一类故障等级时,自动化测试系统终止当前测试用例的测试以保留现场故障环境,同时通过如短消息或邮件方式告知测试人员进行分析;而当测试用例出现故障且为预设的第二类故障等级时,自动化测试系统继续执行下一测试用例。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1