CN113190466A - 自动化测试方法、装置、设备及介质 - Google Patents
自动化测试方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN113190466A CN113190466A CN202110635638.2A CN202110635638A CN113190466A CN 113190466 A CN113190466 A CN 113190466A CN 202110635638 A CN202110635638 A CN 202110635638A CN 113190466 A CN113190466 A CN 113190466A
- Authority
- CN
- China
- Prior art keywords
- test case
- compiling
- running
- target
- test
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Abstract
本发明实施例公开了一种自动化测试方法、装置、设备及介质。该方法包括:通过编译进程按照测试用例目录依次获取一个测试用例作为目标测试用例,对所述目标测试用例的源文件进行编译;通过运行进程在接收到所述编译进程发送的所述目标测试用例编译成功的消息时,控制所述目标测试用例的编译文件的运行;其中,所述编译进程和所述运行进程是相互独立的。上述技术方案实现了测试用例编译过程和测试用例运行过程的并行,能够尽快得到测试用例的测试结果,提高了自动化测试的运行效率。
Description
技术领域
本发明实施例涉及自动化测试技术领域,尤其涉及一种自动化测试方法、装置、设备及介质。
背景技术
随着工业的发展,工业服务器操作系统上集成了越来越多的功能,随之而来的测试用例数量也越来越多,加上软件迭代速度的加快,对自动化测试的运行效率的要求也越来越高。因此,在测试用例数量越来越多的情况下,如何尽快地得到测试用例的测试结果是亟待解决的问题。
发明内容
本发明实施例提供一种自动化测试方法、装置、设备及介质,以尽快得到测试用例的测试结果,提高自动化测试的运行效率。
第一方面,本发明实施例提供了一种自动化测试方法,包括:
通过编译进程按照测试用例目录依次获取一个测试用例作为目标测试用例,对所述目标测试用例的源文件进行编译;
通过运行进程在接收到所述编译进程发送的所述目标测试用例编译成功的消息时,控制所述目标测试用例的编译文件的运行;
其中,所述编译进程和所述运行进程是相互独立的。
第二方面,本发明实施例还提供了一种自动化测试装置,包括:
编译模块,用于通过编译进程按照测试用例目录依次获取一个测试用例作为目标测试用例,对所述目标测试用例的源文件进行编译;
运行模块,用于通过运行进程在接收到所述编译进程发送的所述目标测试用例编译成功的消息时,控制所述目标测试用例的编译文件的运行;
其中,所述编译进程和所述运行进程是相互独立的。
第三方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明任意实施例所述的自动化测试方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所述的自动化测试方法。
本发明实施例中,在针对大量测试用例进行自动化测试时,将测试用例的编译过程和运行过程分开,采用相互独立的编译进程和运行进程来实现。每当通过编译进程完成对一个测试用例的编译之后,随即就可以通过运行进程控制该测试用例的运行,以此实现测试用例编译过程和测试用例运行过程的并行,能够尽快得到测试用例的测试结果,无需等待所有需要运行的测试用例均完成编译过程,进而提高了自动化测试的运行效率。
附图说明
图1是本发明实施例一中的一种自动化测试方法的流程图;
图2是本发明实施例二中的一种自动化测试方法的流程图;
图3是本发明实施例二中的一种自动化测试流程的示意图;
图4是本发明实施例三中的一种自动化测试装置的结构示意图;
图5是本发明实施例四中的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1为本发明实施例一提供的一种自动化测试方法的流程图,本实施例可适用于对工业服务器操作系统的功能进行自动化测试的情况,该方法可以由本发明实施例提供的自动化测试装置来执行,该装置可采用软件和/或硬件的方式实现,并一般可集成在计算机设备中。
如图1所示,本实施例提供的自动化测试方法具体包括:
S110、通过编译进程按照测试用例目录依次获取一个测试用例作为目标测试用例,对所述目标测试用例的源文件进行编译。
编译进程,指的是用于对测试用例的源文件进行编译的进程。
测试用例目录,指的是当次自动化测试流程涉及的所有测试用例的目录。在本实施例中,测试用例目录中包括的测试用例的数量通常是比较多的。
编译进程按照测试用例目录选取一个测试用例作为目标测试用例,并对所述目标测试用例的源文件进行编译,生成所述目标测试用例的编译文件(通常为二进制文件),然后按照测试用例目录继续选取一个测试用例重新作为目标测试用例,继续执行对所述目标测试用例的编译操作。
作为一种可选的实施方式,通过编译进程对所述目标测试用例的源文件进行编译,可以具体为:通过所述编译进程根据所述目标测试用例的编译程序的退出码判断所述目标测试用例的编译过程是否出错;若是,则继续执行按照所述测试用例目录依次获取一个测试用例作为目标测试用例,对所述目标测试用例的源文件进行编译的操作。
编译进程对目标测试用例的源文件进行编译的过程中可能出现失败的情况,编译进程可以根据目标测试用例的编译程序的退出码判断目标测试用例的编译过程是否出错。例如,若目标测试用例的编译程序的退出码为“0”,则确定目标测试用例编译成功,若目标试用例的编译程序的退出码非“0”,则确定目标测试用例的编译过程出错。
当确定目标测试用例的编译过程出错时,目标测试用例的编译程序会自动中止,编译进程按照测试用例目录依次获取下一个测试用例重新作为目标测试用例进行编译。当确定目标测试用例的编译过程出错时,编译进程还可以通过解析目标测试用例的编译日志获取目标测试用例的编译失败信息。可选的,编译进程在对目标测试用例的源文件进行编译的过程中,如果确定目标测试用例的编译过程出错,也可以中止当次自动化测试流程,不再按照测试用例目录依次获取下一个测试用例重新作为目标测试用例进行编译,本实施例对此不作具体限定。
编译进程如果判断出目标测试用例的源文件已被编译成功,则向运行进程发送所述目标测试用例编译成功的消息,并按照测试用例目录依次获取下一个测试用例重新作为目标测试用例进行编译。
编译进程如果判断出目标测试用例的源文件编译出错,则可以不向运行进程发送任何消息(也即不向运行进程发送所述目标测试用例编译成功的消息),也可以向运行进程发送所述目标测试用例编译失败的消息,以指示运行进程无需控制所述目标测试用例的编译文件的运行。
S120、通过运行进程在接收到所述编译进程发送的所述目标测试用例编译成功的消息时,控制所述目标测试用例的编译文件的运行。
运行进程,指的是用于控制测试用例的编译文件运行的进程,具体可以执行将测试用例的编译文件下载至目标机中运行并收集运行日志的操作。
在本实施例中,编译进程和运行进程是相互独立的两个进程,可以实现测试用例编译过程和测试用例运行过程的同时执行。在编译进程开始运行的时候,运行进程也开始运行,一直等待编译进程的消息。
运行进程在接收到所述编译进程发送的所述目标测试用例编译成功的消息时,即可控制所述目标测试用例的编译文件运行,与此同时编译进程已经开始执行对下一个测试用例的源文件的编译操作。
本实施例中,编译进程一启动就持续进行编译,编译出一个测试用例,就把编译成功的消息发送给运行进程,使运行进程随即控制相应测试用例的运行过程。与“先编译出所有测试用例,然后再运行所有测试用例”的方式相比,本实施例中同时执行测试用例编译过程和运行过程的方式,能够很快地得到部分运行结果,也即从一开始就能不断地获取到测试用例的运行结果。
运行进程收到一个目标测试用例编译成功的消息,随即就会控制目标测试用例编译文件的运行,也即将目标测试用例的编译文件下载至相应的目标机(或者称之为目标运行平台),通过匹配的命令控制目标测试用例的编译文件的运行,并收集运行日志,例如可以是通过串口收集运行日志。同时,运行进程还可以在目标测试用例的编译文件运行过程结束时,将目标测试用例运行结束的消息发送给编译进程。其中,目标测试用例的编译文件运行过程结束包括运行成功、运行失败(如运行不通过等)、运行异常(如抛出异常等)这几种情形。
可选的,编译进程和运行进程之间可以通过TCP(Transmission ControlProtocol,传输控制协议)连接通信。具体的,编译进程和运行进程通过socket连接进行通信。
当编译进程编译完成一个测试用例的源文件时,会将这个测试用例编译成功的消息发送给运行进程,以使运行进程可以控制这个测试用例编译文件的运行。针对编译失败的测试用例,编译进程直接跳过,继续针对下一个测试用例的源文件进行编译。
作为一种可选的实施方式,本实施例提供的自动化测试方法还包括:通过运行进程按需将目标机的状态和/或目测试用例的运行状态上报至编译进程。
其中,目标机的状态可以包括目标机开始重启的状态以及目标机重启成功的状态;目测试用例的运行状态可以包括目测试用例的运行开始状态、运行结束状态,运行结束状态还可以包括运行成功、运行失败、运行异常等结果。
当运行进程开始控制目标测试用例编译文件的运行时,可以将目标测试用例运行开始的消息发送给编译进程。当目标测试用例编译文件运行结束时,也可以将目标测试用例运行结束的消息发送给编译进程。可选的,目标测试用例运行结束的消息中可以指示目标测试用例的运行结果,运行结果可以包括运行成功、运行失败、运行异常等情况。
当测试用例运行结束重启目标机时,运行进程需要将指示目标机开始重启的消息发送至编译进程,当目标机重启成功时,运行进程也需要将指示目标机重启成功的消息发送至编译进程,以便于编译进程在目标机中获取其所需的机器信息。
作为一种可选的实施方式,本实施例提供的自动化测试方法还包括:通过目标检测线程,检测所述目标测试用例的编译文件的运行时间,并在所述运行时间超时的情况下控制或提醒重启目标机。
在测试用例运行超时的情况下,一般表示测试用例执行后无法自动重启目标机,此时需要对目标机重启进行干预,例如可以是手动重启目标机。为了保证运行进程的正常运行,不会卡在某个运行异常的测试用例上,在本实施方式中运行进程启动一个线程作为目标检测线程来检测每个测试用例编译文件的运行时间。
如果目标检测线程检测到目标测试用例的编译文件的运行时间超时,则可以通过控制重启目标机或者提醒重启目标机的方式对目标机重启进行干预。
其中,目标检测线程可以通过可编程电源重启目标机的方式来实现控制重启目标机,可以通过控制弹窗的方式或者语音告警的方式来实现提醒重启目标机。
在上述技术方案的基础上,本实施例提供的自动化测试方法还包括:通过运行进程将所述目标测试用例的运行日志发送至所述编译进程;通过所述编译进程根据所述运行日志以及所述目标测试用例的编译日志生成所述目标测试用例的测试结果。
在测试用例运行结束时,运行进程也可以将这个测试用例运行结束的消息发送给编译进程,以使编译进程准备解析这个测试用例的编译日志和运行日志,生成这个测试用例的测试结果,或者也可以在所有测试用例运行结束时,运行进程将所有测试用例运行结束的消息发送给编译进程,以使编译进程准备解析所有测试用例的编译日志和运行日志,生成所有测试用例的测试结果,也即与测试用例目录对应的测试结果。
在上述技术方案的基础上,本实施例提供的自动化测试方法还包括:在所述测试用例目录中的所有测试用例结束编译及运行之后,通过所述编译进程输出与所述测试用例目标对应的测试结果。
在所述测试用例目录中的所有测试用例结束编译及运行之后,编译进程解析所有测试用例的编译日志和运行日志,得到所有测试用例的测试结果(也即与测试用例目录对应的测试结果)之后,可以将与所述测试用例目标对应的测试结果输出,例如可以输出到测试结果文件中,也可以输出给自动测试框架前端,以通过自动测试框架前端进行展示。
可选的,在运行进程将测试用例的运行日志发送给编译进程之后,编译进程可以使用缓存保存运行日志。编译进程缓存的编译日志以及运行日志,也可以按需进行输出,例如可以输出到测试日志文件中,也可以输出给自动测试框架前端,以通过自动测试框架前端进行展示。
本发明实施例中,在针对大量测试用例进行自动化测试时,将测试用例的编译过程和运行过程分开,采用相互独立的编译进程和运行进程来实现。每当通过编译进程完成对一个测试用例的编译之后,随即就可以通过运行进程控制该测试用例的运行,以此实现测试用例编译过程和测试用例运行过程的并行,能够尽快得到测试用例的测试结果,无需等待所有需要运行的测试用例均完成编译过程,进而提高了自动化测试的运行效率。
实施例二
图2为本发明实施例二提供的一种自动化测试方法的流程图,本实施例在前述实施例的基础上进行具体化,还包括:通过自动化测试框架前端获取自动化测试配置信息和所述测试用例目录,并将所述自动化测试配置信息和所述测试用例目录发送至所述编译进程;
相应的,通过所述编译进程对所述目标测试用例的源文件进行编译,可以具体为:通过所述编译进程根据所述自动化测试配置信息对所述目标测试用例的源文件进行编译。
如图2所示,本实施例提供的自动化测试方法具体包括:
S210、通过自动化测试框架前端获取自动化测试配置信息和所述测试用例目录,并将所述自动化测试配置信息和所述测试用例目录发送至所述编译进程。
自动化测试配置信息,指的是在当次自动化测试流程中与测试用例编译和/或运行相关的配置信息。可选的,所述自动化测试配置信息包括:开发环境配置信息和/或目标机平台配置信息。其中,开发环境配置信息可以通过开发环境标识进行配置,目标机平台配置信息可以通过运行平台名称进行配置。
在本实施例中,自动化测试框架包括自动化测试框架前端、编译进程和运行进程。自动化测试框架前端在接收到自动化测试配置信息和测试用例目录,将所述自动化测试配置信息和所述测试用例目录发送至所述编译进程。
S220、通过编译进程按照测试用例目录依次获取一个测试用例作为目标测试用例,根据所述自动化测试配置信息对所述目标测试用例的源文件进行编译。
编译进程在对目标测试用例的源文件进行编译时,可以根据开发环境配置信息和目标机平台配置信息,实现与开发环境配置信息对应的开发环境一致的编译流程,以及选用与目标机平台配置信息对应的运行平台匹配的工具链。
测试用例的开发环境不同,目标机不同(也即运行平台不同),编译进程对其源文件进行编译的流程也就不同。不同的开发环境由于针对不同的平台和需求,具有不同的项目模板和编译流程,编译进程在针对目标测试用例的源文件进行编译时,可以通过实现开发环境中的编译流程,编译出与开发环境中相同的二进制文件作为目标测试用例的编译文件。在一个开发环境中,经常也会针对多个平台编译出不同的二进制文件,编译进程可以使用不同的工具链和不同的项目模板,针对不同的目标测试用例的源文件进行编译,以编译出针对不同平台的二进制文件作为相应的目标测试用例的编译文件。
根据不同开发环境的测试流程,一个目标测试用例可能会编译几种类型的项目。首先,可以根据项目类型、工具链类型、开发环境,获取项目模板路径,包括默认源文件、配置文件、项目文件等,复制这些文件到目标测试用例下(因为测试用例中只会保存测试用的代码,不会保存与开发环境相关的文件);然后,从项目文件中读取编译项目所需要的头文件路径、库目录、库文件、宏等。
可选的,如果存在测试用例共用相同的头文件,可以将头文件保存在测试用例之外的目录,例如可以把头文件复制到项目的源文件目录下。
例如,编译进程针对项目创建它的makefile文件,针对每个源文件目录也创建它的makefile文件,在设置编译所需要的环境变量(一般是给PATH添加项,如make所在目录、工具链的可执行文件所在目录等)之后,调用make命令执行编译过程。
其中,还可以根据测试要求修改源文件或配置文件,比如自动化测试一般会在测试用例中添加重启目标机的代码;对于应用项目,还可能会要求设置IP(InternetProtocol,网际互连协议)地址等。
S230、通过运行进程在接收到所述编译进程发送的所述目标测试用例编译成功的消息时,控制所述目标测试用例的编译文件的运行。
其中,运行进程在接收到所述编译进程发送的所述目标测试用例编译成功的消息时,根据目标机平台配置信息控制所述目标测试用例的编译文件的运行,即将测试用例的编译文件下载至目标机中运行并收集运行日志。
测试用例的目标机不同(也即运行平台不同),运行进程控制测试用例的编译文件运行的方式也就不同。不同运行平台下载测试用例编译文件的方式不一样,比如通过TFTP(Trivial File Transfer Protocol,简单文件传输协议)、SFTP(Secure File TransferProtocol,安全文件传送协议)、自定义的协议下载测试用例,运行进程可以使用不同的测试用例编译文件下载方式,控制不同目标测试用例的编译文件的下载,以使不同目标测试用例的编译文件都可以成功下载至相应的运行平台中去运行。不同运行平台运行测试用例编译文件的方式也不同,也即运行测试用例编译文件的命令是不同的,运行进程可以使用不同的命令,控制不同运行平台运行相应的目标测试用例的编译文件。
S240、在所述测试用例目录中的所有测试用例结束编译及运行之后,通过所述编译进程输出与所述测试用例目标对应的测试结果。
其中,可以通过所述编译进程将与所述测试用例目标对应的测试结果输出至测试结果文件中,也可以通过所述编译进程将与所述测试用例目标对应的测试结果输出至自动化测试框架前端中。
在一种具体的应用场景中,参照图3,根据本实施例提供的自动化测试框架的自动化测试流程可以包括:
S310、自动化测试环境启动。
S320、通过自动化测试框架前端获取开发环境配置信息和目标机平台配置信息。
在自动化测试框架前端中,可以输入开发环境配置信息和目标机平台配置信息。在选择测试用例目录之后,还可以点击退回上一步,重新输入开发环境配置信息和目标机平台配置信息。
S330、通过自动化测试框架前端获取测试用例目录。
在自动化测试框架前端输入开发环境配置信息和目标机平台配置信息之后,点击下一步可以通过自动化测试框架前端选择测试用例目录。
S340、针对测试用例目录进行自动化测试。
在自动化测试框架前端选择测试用例目录之后,点击下一步即可开始自动化测试。具体的,通过编译进程按照测试用例目录依次获取一个测试用例作为目标测试用例,根据所述自动化测试配置信息对所述目标测试用例的源文件进行编译。通过运行进程在接收到所述编译进程发送的所述目标测试用例编译成功的消息时,控制所述目标测试用例的编译文件的运行。
在自动化测试的过程中,如果通过自动化测试框架前端接收到测试中止指令时,编译进程停止测试用例的编译过程,即杀死make进程,并发送测试中止的消息给运行进程停止运行过程。通常,运行进程不会停止当次测试用例的运行,而是在当次测试用例运行完成后不再控制下个测试用例的运行。
目标检测线程检测到目标测试用例的编译文件的运行时间超时,可以通过控制重启目标机或者提醒重启目标机的方式对目标机重启进行干预。
在本实施例中,编译进程与自动化测试框架前端进行通信,目标检测线程检测到目标测试用例的编译文件的运行时间超时,运行进程向编译进程发送提醒重启目标机的消息,编译进程再将提醒重启目标机的消息发送至自动化测试框架前端,自动化测试框架前端通过弹窗或语音警告的方式实现重启目标机提醒。
由于编译进程与自动化测试框架前端进行通信,因此运行进程可以将运行日志传输给编译进程。可选的,运行进程即时把测试用例的运行日志发送给编译进程,编译进程使用缓存保存运行日志,其中,缓存的日志可以输出到测试日志文件中,也可输出给自动化测试框架前端进行展示。可选的,编译进程对缓存的日志进行解析,将解析结果输出给自动化测试框架前端进行展示,例如可以通过表格的形式进程展示。
S350、针对测试用例目录完成自动化测试时,弹出测试完成对话框。
在针对测试用例目录完成自动化测试时,弹出测试完成对话框之后,还可以在自动化测试框架前端重新选择下一轮测试用例目录,继续针对下一轮测试用例进行自动化测试。其中,如果针对下一轮测试用例目录的自动化测试配置信息需要调整,可以重新输入开发环境配置信息和目标机平台配置信息。
S360、通过自动化测试框架前端接收到测试结果下载指令时,输出测试结果。
在自动化测试框架前端中点击测试结果下载,即可输出测试结果,例如可以输出到测试结果文件中,也可以输出给自动测试框架前端,以通过自动测试框架前端进行展示。
本实施例未尽详细解释之处请参见前述实施例,在此不再赘述。
上述技术方案中,自动化测试支持通过不同开发环境编译的测试用例,支持在不同的运行平台运行测试用例,可以通过开发环境配置和目标机平台配置来实现,极大地提高了自动化测试框架的适用性。而且,在进行测试用例自动化测试过程中,将测试用例的编译过程和运行过程分开,不同测试用例的编译过程和运行过程可以通过进行,能够尽快得到测试用例的测试结果,无需等待所有需要运行的测试用例均完成编译过程,提高了自动化测试的运行效率。
实施例三
图4为本发明实施例三提供的一种自动化测试装置的结构示意图,该装置可采用软件和/或硬件的方式实现,一般可集成在计算机设备中。如图4所示,该自动化测试装置具体包括:编译模块410和运行模块420。其中,
编译模块410,用于通过编译进程按照测试用例目录依次获取一个测试用例作为目标测试用例,对所述目标测试用例的源文件进行编译;
运行模块420,用于通过运行进程在接收到所述编译进程发送的所述目标测试用例编译成功的消息时,控制所述目标测试用例的编译文件的运行;其中,所述编译进程和所述运行进程是相互独立的。
本发明实施例中,在针对大量测试用例进行自动化测试时,将测试用例的编译过程和运行过程分开,采用相互独立的编译进程和运行进程来实现。每当通过编译进程完成对一个测试用例的编译之后,随即就可以通过运行进程控制该测试用例的运行,以此实现测试用例编译过程和测试用例运行过程的并行,能够尽快得到测试用例的测试结果,无需等待所有需要运行的测试用例均完成编译过程,进而提高了自动化测试的运行效率。
进一步的,上述装置还包括:前端配置模块,用于通过自动化测试框架前端获取自动化测试配置信息和所述测试用例目录,并将所述自动化测试配置信息和所述测试用例目录发送至所述编译进程;
相应的,编译模块410,具体用于通过所述编译进程根据所述自动化测试配置信息对所述目标测试用例的源文件进行编译。
可选的,所述自动化测试配置信息包括:开发环境配置信息和/或目标机平台配置信息。
进一步的,编译模块410,具体用于通过所述编译进程根据所述目标测试用例的编译程序的退出码判断所述目标测试用例的编译过程是否出错;若是,则继续执行按照所述测试用例目录依次获取一个测试用例作为目标测试用例,对所述目标测试用例的源文件进行编译的操作。
进一步的,上述装置还包括:运行监控模块,用于通过目标检测线程,检测所述目标测试用例的编译文件的运行时间,并在所述运行时间超时的情况下控制或提醒重启目标机。
进一步的,上述装置还包括:测试结果分析模块,用于通过运行进程将所述目标测试用例的运行日志发送至所述编译进程;通过所述编译进程根据所述运行日志以及所述目标测试用例的编译日志生成所述目标测试用例的测试结果。
进一步的,上述装置还包括:运行状态反馈模块,用于通过所述运行进程按需将目标机的状态和/或目测试用例的运行状态上报至所述编译进程。
进一步的,上述装置还包括:测试结果输出模块,用于在所述测试用例目录中的所有测试用例结束编译及运行之后,通过所述编译进程输出与所述测试用例目标对应的测试结果。
上述自动化测试装置可执行本发明任意实施例所提供的自动化测试方法,具备执行方法相应的功能模块和有益效果。
实施例四
图5是本发明实施例四提供的一种计算机设备的结构示意图,如图5所示,该计算机设备包括处理器510、存储器520、输入装置530和输出装置540;计算机设备中处理器510的数量可以是一个或多个,图5中以一个处理器510为例;计算机设备中的处理器510、存储器520、输入装置530和输出装置540可以通过总线或其他方式连接,图5中以通过总线连接为例。
存储器520作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的一种自动化测试方法对应的程序指令/模块(如图4所示的自动化测试装置中包括的编译模块410和运行模块420)。处理器510通过运行存储在存储器520中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的自动化测试方法。
存储器520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器520可进一步包括相对于处理器510远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置530可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。输出装置540可包括显示屏等显示设备。
实施例五
本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种自动化测试方法,包括:
通过编译进程按照测试用例目录依次获取一个测试用例作为目标测试用例,对所述目标测试用例的源文件进行编译;
通过运行进程在接收到所述编译进程发送的所述目标测试用例编译成功的消息时,控制所述目标测试用例的编译文件的运行;
其中,所述编译进程和所述运行进程是相互独立的。
可选的,该计算机可执行指令在由计算机处理器执行时还可以用于执行本发明任意实施例所提供的一种自动化测试方法的技术方案。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得计算机设备执行本发明各个实施例所述的方法。
值得注意的是,上述自动化测试装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种自动化测试方法,其特征在于,包括:
通过编译进程按照测试用例目录依次获取一个测试用例作为目标测试用例,对所述目标测试用例的源文件进行编译;
通过运行进程在接收到所述编译进程发送的所述目标测试用例编译成功的消息时,控制所述目标测试用例的编译文件的运行;
其中,所述编译进程和所述运行进程是相互独立的。
2.根据权利要求1所述的方法,其特征在于,还包括:通过自动化测试框架前端获取自动化测试配置信息和所述测试用例目录,并将所述自动化测试配置信息和所述测试用例目录发送至所述编译进程;
通过所述编译进程对所述目标测试用例的源文件进行编译,包括:
通过所述编译进程根据所述自动化测试配置信息对所述目标测试用例的源文件进行编译。
3.根据权利要求2所述的方法,其特征在于,所述自动化测试配置信息包括:开发环境配置信息和/或目标机平台配置信息。
4.根据权利要求1所述的方法,其特征在于,通过编译进程对所述目标测试用例的源文件进行编译,包括:
通过所述编译进程根据所述目标测试用例的编译程序的退出码判断所述目标测试用例的编译过程是否出错;
若是,则继续执行按照所述测试用例目录依次获取一个测试用例作为目标测试用例,对所述目标测试用例的源文件进行编译的操作。
5.根据权利要求1所述的方法,其特征在于,还包括:
通过目标检测线程,检测所述目标测试用例的编译文件的运行时间,并在所述运行时间超时的情况下控制或提醒重启目标机。
6.根据权利要求1所述的方法,其特征在于,还包括:
通过运行进程将所述目标测试用例的运行日志发送至所述编译进程;
通过所述编译进程根据所述运行日志以及所述目标测试用例的编译日志生成所述目标测试用例的测试结果。
7.根据权利要求1所述的方法,其特征在于,还包括:
通过所述运行进程按需将目标机的状态和/或目测试用例的运行状态上报至所述编译进程。
8.一种自动化测试装置,其特征在于,包括:
编译模块,用于通过编译进程按照测试用例目录依次获取一个测试用例作为目标测试用例,对所述目标测试用例的源文件进行编译;
运行模块,用于通过运行进程在接收到所述编译进程发送的所述目标测试用例编译成功的消息时,控制所述目标测试用例的编译文件的运行;
其中,所述编译进程和所述运行进程是相互独立的。
9.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110635638.2A CN113190466A (zh) | 2021-06-08 | 2021-06-08 | 自动化测试方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110635638.2A CN113190466A (zh) | 2021-06-08 | 2021-06-08 | 自动化测试方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113190466A true CN113190466A (zh) | 2021-07-30 |
Family
ID=76976176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110635638.2A Pending CN113190466A (zh) | 2021-06-08 | 2021-06-08 | 自动化测试方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113190466A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116088863A (zh) * | 2023-04-04 | 2023-05-09 | 阿里云计算有限公司 | 故障定位方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020029357A1 (en) * | 1998-11-16 | 2002-03-07 | Insignia Solution, Plc | Method and system of memory management using stack walking |
US20160246579A1 (en) * | 2015-02-25 | 2016-08-25 | Fujitsu Limited | Compiler method, parallel processing method, and compiler apparatus |
CN106873574A (zh) * | 2017-02-28 | 2017-06-20 | 中国电子信息产业集团有限公司第六研究所 | 用于可编程控制器的自动化测试方法及装置 |
CN107678941A (zh) * | 2017-08-31 | 2018-02-09 | 深圳市小牛在线互联网信息咨询有限公司 | 应用程序测试的方法及装置、存储介质和计算机设备 |
CN108205494A (zh) * | 2016-12-20 | 2018-06-26 | 北京神州泰岳软件股份有限公司 | 一种自动化测试方法和装置 |
US20190042399A1 (en) * | 2017-08-03 | 2019-02-07 | Fujitsu Limited | Test run control method and apparatus |
-
2021
- 2021-06-08 CN CN202110635638.2A patent/CN113190466A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020029357A1 (en) * | 1998-11-16 | 2002-03-07 | Insignia Solution, Plc | Method and system of memory management using stack walking |
US20160246579A1 (en) * | 2015-02-25 | 2016-08-25 | Fujitsu Limited | Compiler method, parallel processing method, and compiler apparatus |
CN108205494A (zh) * | 2016-12-20 | 2018-06-26 | 北京神州泰岳软件股份有限公司 | 一种自动化测试方法和装置 |
CN106873574A (zh) * | 2017-02-28 | 2017-06-20 | 中国电子信息产业集团有限公司第六研究所 | 用于可编程控制器的自动化测试方法及装置 |
US20190042399A1 (en) * | 2017-08-03 | 2019-02-07 | Fujitsu Limited | Test run control method and apparatus |
CN107678941A (zh) * | 2017-08-31 | 2018-02-09 | 深圳市小牛在线互联网信息咨询有限公司 | 应用程序测试的方法及装置、存储介质和计算机设备 |
Non-Patent Citations (1)
Title |
---|
李浩: "Android设备硬件自动化测试的研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116088863A (zh) * | 2023-04-04 | 2023-05-09 | 阿里云计算有限公司 | 故障定位方法及系统 |
CN116088863B (zh) * | 2023-04-04 | 2023-09-26 | 阿里云计算有限公司 | 故障定位方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111382048B (zh) | 真机测试平台上移动设备的管理方法和装置 | |
CN107729255B (zh) | 软件测试方法、装置及系统 | |
US7178135B2 (en) | Scope-based breakpoint selection and operation | |
US8423970B2 (en) | Method, computer program product, and hardware product for handling breakpoints in an asynchronous debug model | |
CN111045944A (zh) | 回归测试方法、装置、系统及计算机可读存储介质 | |
CN108121543B (zh) | 一种软件代码编译处理方法及装置 | |
CN111144839B (zh) | 一种项目构建方法、持续集成系统及终端设备 | |
CN110069404B (zh) | 代码调试方法、装置、设备及介质 | |
CN110908674A (zh) | 应用程序的自动化部署方法及装置 | |
CN113190466A (zh) | 自动化测试方法、装置、设备及介质 | |
CN111078265B (zh) | 一种基于jenkins的web项目更新补丁生成方法 | |
US20210011835A1 (en) | System and method for debugging source code of an application | |
CN105446886A (zh) | 一种计算机程序调试方法和装置 | |
US6993749B2 (en) | Conditional debug monitors | |
CN113760290A (zh) | 一种程序控制方法、装置、计算机设备及存储介质 | |
CN108614704B (zh) | 代码编译方法及装置 | |
CN107168756B (zh) | 射频驱动编译调试的方法、客户端、服务端和存储装置 | |
US6983454B2 (en) | Extended “run to” function | |
US9710360B2 (en) | Optimizing error parsing in an integrated development environment | |
CN115168175A (zh) | 程序错误解决方法、装置、电子设备和存储介质 | |
CN114003257A (zh) | 一种升级方法及装置 | |
CN114297088A (zh) | 前端vue框架组件的测试方法、装置、设备及介质 | |
CN110096281B (zh) | 代码解析方法、解析服务器、存储介质及装置 | |
CN112306492A (zh) | 一种基于管理者和工作者架构的支持多平台的自动化编译方法 | |
CN112328267A (zh) | 一种多台服务器安装方法、装置、终端及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210730 |