一种信息收集方法、装置、设备及存储介质与流程

文档序号:17859462发布日期:2019-06-11 22:46阅读:256来源:国知局
一种信息收集方法、装置、设备及存储介质与流程

本申请涉及自动化测试技术领域,特别涉及一种信息收集方法、装置、设备及存储介质。



背景技术:

随着我国软件产业的蓬勃发展,软件测试越来越受到人们的重视。通常软件测试是执行测试人员设计的测试脚本。为了节省人力和时间成本,对于测试任务明确的测试脚本可以通过自动化测试实现。

相关技术中,自动化测试方式可以包括基于命令行的自动化测试,以及基于web的自动化测试。其中,基于命令行的自动化测试是在测试脚本全部执行完成后,在脚本执行日志中查看具体是哪个测试脚本中的测试步骤执行错误,然后再执行出错的测试脚本,从而定位错误原因;而基于web的自动化测试是获取测试脚本执行出现错误时的测试页面截图,根据脚本执行日志中记录的执行错误的测试步骤,结合该截图分析测试脚本出现错误的原因。

上述技术方案中,在获取测试脚本出现错误的原因时,基于命令行的自动化测试需要重新执行出错的测试脚本、耗费人力且测试效率低;而通过web自动化测试获取的错误信息过于单一,甚至有时根据测试页面的截图不能准确分析出现错误的原因。



技术实现要素:

本申请提供一种信息收集方法、装置、设备及存储介质,以解决现有技术耗费人力、测试效率低,甚至不能够准确分析测试脚本出现错误的原因。

具体地,本申请是通过如下技术方案实现的:

第一方面,提供一种信息收集方法,所述方法应用于测试设备中,包括:

获取被测对象待执行的测试脚本;

当被测对象执行任一测试脚本出现错误时,从预先设置的所述被测对象的配置文件中查找与所述测试脚本对应的获取错误信息的命令;

将所述测试脚本的标识信息与基于所述命令获取到的错误信息的对应关系保存到所述被测对象的存储文件中,其中所述存储文件包含在所述测试设备的日志文件中。

第二方面,提供一种信息收集装置,所述装置应用于测试设备中,包括:

获取单元,用于获取被测对象待执行的测试脚本;

查找单元,用于当被测对象执行任一测试脚本出现错误时,从预先设置的所述被测对象的配置文件中查找与所述测试脚本对应的获取错误信息的命令;

保存单元,用于将所述测试脚本的标识信息与基于所述命令获取到的错误信息的对应关系保存到所述被测对象的存储文件中,其中所述存储文件包含在所述测试设备的日志文件中。

第三方面,提供一种信息收集设备,所述设备包括:内部总线、以及通过内部总线连接的存储器、处理器和外部接口,其中,

所述处理器,用于读取所述存储器上的机器可读指令,并执行所述指令实现如下操作:

获取被测对象待执行的测试脚本;

当被测对象执行任一测试脚本出现错误时,从预先设置的所述被测对象的配置文件中查找与所述测试脚本对应的获取错误信息的命令;

将所述测试脚本的标识信息与基于所述命令获取到的错误信息的对应关系保存到所述被测对象的存储文件中,其中所述存储文件包含在所述测试设备的日志文件中。

第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有若干计算机指令,所述计算机指令被执行时进行如下处理:

获取被测对象待执行的测试脚本;

当被测对象执行任一测试脚本出现错误时,从预先设置的所述被测对象的配置文件中查找与所述测试脚本对应的获取错误信息的命令;

将所述测试脚本的标识信息与基于所述命令获取到的错误信息的对应关系保存到所述被测对象的存储文件中,其中所述存储文件包含在所述测试设备的日志文件中。

由以上技术方案可以看出,在测试脚本执行出错时,通过查找预先设置的被测对象的配置文件,得到被测对象与该测试脚本对应的获取错误信息的命令,通过执行获取错误信息的命令得到被测对象在执行该测试脚本时出现错误的信息,使得测试人员获得更加全面的错误信息,以利于测试人员准确分析测试脚本出现错误的原因。与现有技术方案相比,减少了重复执行出错的测试脚本的次数、节省了人力、获取错误信息更加全面;并且,将测试脚本的标识信息与获取到的错误信息的对应关系保存到被测对象的存储文件中,便于测试人员快速定位出现错误的原因,从而提高自动测试的效率。

附图说明

图1是本申请信息收集方法的一个应用场景图;

图2是本申请信息收集方法的一个实施例流程图;

图3是本申请信息收集方法的另一个实施例流程图;

图4是本申请信息收集装置的一个实施例框图;

图5是本申请信息收集设备的一种硬件结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

为了使本申请的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本申请进行详细说明。

参见图1所示,为本申请信息收集方法的一个应用场景示意图。该应用场景中示出了一台测试设备101,以及多个被测对象102。其中,所示测试设备101对被测对象102进行脚本测试,测试设备101获取被测对象需要执行的测试脚本,对被测对象依次执行所获取的测试脚本。通过测试设备101对多个被测对象进行自动化测试,从而获取自动化测试脚本在执行的过程中出现错误的原因。

结合图1中的场景,在现有技术中,测试设备通过命令行自动化测试对被测对象执行测试脚本时,如果测试设备对被测对象1执行测试脚本1出现错误,测试设备将会把测试脚本1出现错误的信息记录在日志文件中,在该日志文件中仅记录了哪个测试脚本的哪个操作步骤出现了错误,对于测试出现错误的具体原因需要测试设备101对被测对象1再执行一次该测试脚本1才能定位测试脚本出现错误的原因,该方法需要耗费人力且测试效率低。对于一些非必然的错误,重新执行一次出错的测试脚本也不一定能重现出错的场景。

对被测对象通过web自动化测试进行脚本测试时,如果测试设备对被测对象1执行测试脚本1出现错误,测试设备将会把测试脚本1出现错误的信息记录在日志文件中,并且在出现错误信息时,对当前测试页面进行截图,然后结合日志文件记录的错误信息以及测试页面的截图分析定位测试过程中出现错误的原因。该方法获取的错误信息过于单一,甚至有时根据测试页面的截图不能准确分析出现错误的原因,例如:对于测试页面截图出现挂死的现象时,其产生的原因可能是由于网络中断,也有可能是由于测试设备的原因造成的。

基于此,本申请中在测试脚本执行出错时,通过查找预先设置的被测对象的配置文件,得到被测对象与该测试脚本对应的获取错误信息的命令,通过执行获取错误信息的命令得到被测对象在执行该测试脚本时出现错误的信息,使得测试人员获得更加全面的错误信息,以利于测试人员准确分析测试脚本执行出现错误的原因。与现有技术方案相比,减少了重复执行出错的测试脚本的次数、节省了人力、获取错误信息更加全面;并且,将测试脚本的标识信息与获取到的错误信息的对应关系保存到被测对象的存储文件中,便于测试人员快速定位出现错误的原因,从而提高自动测试的效率。

参见图2,为本申请信息收集方法的一个实施例流程图,该实施例可以应用在测试设备侧,包括如下步骤:

步骤201,获取被测对象待执行的测试脚本。

在一种可选的实现方式中,获取被测对象需要进行测试的至少一个待执行测试脚本,可以对于获取的测试脚本按顺序依次执行测试。所述测试脚本中可以包括至少一个测试操作步骤,并且每个测试操作步骤对应相应的预期结果,其中所述预期结果可以是测试人员在待测试脚本中,预先存储的最佳预期结果。对于获取到的任一测试脚本,对被测对象执行操作步骤202至步骤203。

步骤202,当被测对象执行任一测试脚本出现错误时,从预先设置的被测对象的配置文件中查找与测试脚本对应的获取错误信息的命令。

在一种可选的实现方式中,当被测对象执行任一测试脚本出现错误时,且测试设备的监听器在捕获到该出错的执行异常信号之后,通过查找为被测对象预先设置的配置文件可以得到获取错误信息的命令,通过执行获取错误信息的命令获取被测对象执行测试脚本出现错误的具体原因(也就是错误信息)。其中,所述预先设置的配置文件中包括每个测试脚本的脚本标识与获取错误信息的命令的对应关系,也就是测试设备可以通过执行获取错误信息的命令来获取测试脚本执行出错时所需要获取的具体错误信息。

在一种可选的实现方式中,本申请中所需要获取的错误信息可以分为两部分,包括全局信息和局部信息。其中,所述的全局信息可以是所有被测对象通用的错误信息,所述的局部信息可以是根据不同测试内容和错误类型收集的针对某个被测对象的特定错误信息。

本申请中针对不同的测试方法预先设置不同的配置文件,通过获取被测对象的全局信息和局部信息,以获取被测对象执行测试脚本出现错误时的错误信息,为测试人员准确定位测试脚本出现错误原因提供方便。

步骤203,将测试脚本的标识信息与基于所述命令获取到的错误信息的对应关系保存到被测对象的存储文件中。

在一种可选的实现方式中,当被测对象执行任一测试脚本出现错误时,可以查找预先设置的被测对象的配置文件,通过执行该出错脚本所对应的获取错误信息的命令来获取测试脚本出错的具体错误信息,同时可以将获取到的出错信息和该测试脚本的标识信息存储到被测对象的存储文件中。

由以上实施例可见,在测试脚本执行出错时,通过查找预先设置的被测对象的配置文件,得到被测对象与该测试脚本对应的获取错误信息的命令,通过执行获取错误信息的命令得到被测对象在执行该测试脚本时出现错误的信息,使得测试人员获得更加全面的错误信息,以利于测试人员准确分析测试脚本执行出现错误的原因。与现有技术方案相比,减少了重复执行出错的测试脚本的次数、节省了人力、获取错误信息更加全面;并且,将测试脚本的标识信息与获取到的错误信息的对应关系保存到被测对象的存储文件中,便于测试人员快速定位出现错误的原因,从而提高自动测试的效率。

参见图3,为本申请信息收集方法的另一个实施例流程图,该实施例对信息收集方法进行了详细描述,该实施例可以包括如下步骤:

步骤301,获取被测对象待执行的测试脚本。

在一种可选的实现方式中,在获取被测对象待执行的测试脚本之前,可以为每个被测对象预先设置配置文件,所述预先设置的配置文件中包括每个测试脚本的脚本标识与获取错误信息的命令的对应关系,测试设备通过执行获取错误信息的命令可以获取到测试脚本执行出现错误时所需获取的错误信息。

在一种可选的实现方式中,本申请所需要获取的错误信息可以分为两部分,包括全局信息和局部信息。其中,所述全局信息可以是被测对象通用的错误信息,如:被测对象的型号、被测对象的版本、被测对象的组网信息(例如,端口的ip配置信息等)以及web自动化测试过程中获取的页面截图等信息;所述局部信息可以是根据不同测试内容和错误类型收集的特定信息,如:当前测试脚本测试的内容为静态路由,路由学习不到相关信息、测试脚本流量不通、通讯协议不能建立等特定的细节方面造成测试脚本出错的信息。

对于不同的被测对象,在执行不同的测试脚本时,可以从预先设置的被测对象的配置文件中查找相对应的获取错误信息的命令,测试设备通过执行获取错误信息的命令来获取测试脚本出现错误的信息。例如表1所示,假设对于被测对象1进行基于命令行自动化测试,对被测对象1执行测试脚本1和测试脚本2时,通过表1中所示的关系可以获取测试脚本1、2执行出现错误时所对应的获取错误信息的命令a和获取错误信息的命令b,通过执行该命令获取被测对象1在执行测试脚本1和测试脚本2出现错误的错误信息。

表1

在本申请实施例中,基于不同的自动化测试方法,在配置文件中可以设置不同的获取错误信息的命令,以便于测试脚本执行出现错误时获取更加全面的错误信息,为测试人员准确定位测试脚本出现错误原因提供方便。

在一种可选的实现方式中,获取被测对象至少一个待执行的测试脚本,可以对于获取的测试脚本按顺序依次执行测试。测试脚本中至少包括一个测试操作步骤,并且每个测试操作步骤对应相应的预期结果,其中所述预期结果可以是预先存储在待测试脚本中的最佳预期结果。

步骤302,在执行每个测试脚本前,将测试脚本的执行信息保存到日志文件中。

在一种可选的实现方式中,在获取被测对象待执行的测试脚本之后,对于被测对象执行每个测试脚本前,可以将获取的测试脚本的执行信息保存到日志文件中,所述执行信息可以包括被测对象所执行的操作步骤、输入信息以及输出信息。

步骤303,在被测对象执行测试脚本时,判断是否监听到执行异常信号,如果是,则执行操作步骤304,如果否,则需执行操作步骤305。

在一种可选的实现方式中,当被测对象执行测试脚本中的测试步骤时,可以判断测试设备是否监听到执行异常信号,执行异常信号的发出与否可以通过测试脚本中的某个执行步骤的预期执行结果与实际执行结果是否一致进行判断。如果预期执行结果与实际执行结果一致,被测对象将不会发出执行异常信号,测试设备也就不能够监听到执行异常信号,测试设备可以将被测对象存储文件中的测试脚本的执行信息删除掉;如果预期执行结果与实际执行结果不一致,被测对象将会发出执行异常信号,测试设备可以监听到执行异常信号,在监听到执行异常信号后,通过查询预先为被测对象设置的配置文件,可以获取被测对象执行测试脚本所需获取错误信息的命令,通过执行该命令获取被测对象执行该测试脚本出现错误的错误信息。

步骤304,从预先设置的被测对象的配置文件中查找与测试脚本的脚本标识信息对应的获取错误信息的命令,然后执行操作步骤306。

在一种可选的实现方式中,如果测试设备监听到被测对象执行测试脚本时产生的执行异常信号,可以从预先设置的被测对象的配置文件中查找该测试脚本的脚本标识信息对应的获取错误信息的命令,通过该命令获取被测对象在执行该测试脚本的过程中出现错误的错误信息。例如表1所示,假设对于被测对象2进行基于命令行自动化测试,对于被测对象2执行测试脚本3时,如果测试设备监听到被测对象2执行测试脚本3发出的执行异常信号,则测试设备可以对预先设置的被测对象2的配置文件进行查找,通过查找可以得到被测对象2与测试脚本3对应的获取错误信息的命令c,通过测试设备执行获取错误信息的命令c,得到被测对象2执行测试脚本3出现错误的原因是由于被测对象2的版本造成的,本申请中的例子仅为示意性说明,对于本申请的技术方案不做限定。

步骤305,从日志文件中删除执行信息,然后执行操作步骤309。

在一种可选的实现方式中,若被测对象执行测试脚本没有出错,也就是测试设备没有监听到被测对象执行测试脚本产生的执行异常信号,可以将被测对象日志文件中记录的该测试对象的执行信息删除,其中所述执行信息可以包括执行的操作步骤、输入信息、输出信息,然后执行操作步骤309,判断是否存在未被测试但需要进行测试的测试脚本。

步骤306,根据获取错误信息的命令获取测试脚本产生错误的错误信息。

步骤307,将测试脚本的标识信息与获取到的错误信息的对应关系保存到被测对象的存储文件中,其中,被测对象的存储文件包含在测试设备的日志文件中。

在一种可选的实现方式中,如果测试设备监听到被测对象执行测试脚本产生的执行异常信号,那么可以从预先设置的被测对象的配置文件中获取该测试脚本的脚本标识信息对应的获取错误信息的命令,通过该命令获取被测对象在执行该测试脚本的过程中出现错误的错误信息,并将测试脚本的标识信息与获取到的错误信息的对应关系保存到被测对象的存储文件中,所述测试脚本的标识信息可以包括测试脚本的名称,也就是测试设备可以按照被测对象分别保存被测对象执行测试脚本时的执行信息以及测试脚本出现错误时的错误信息,以便于测试人员对测试脚本出现错误的原因进行快速准确定位。

步骤308,输出日志文件中的测试脚本的标识信息、测试脚本的执行信息以及获取到的错误信息。

在一种可选的实现方式中,在对被测对象执行测试脚本测试结束后,将日志文件中存储的测试脚本的标识信息、测试脚本的执行信息以及获取到的错误信息输出,其输出形式可以是保存到测试设备上或者发送给测试人员,其发送给测试人员的形式可以是将日志文件发送到测试人员预先设置的邮箱,也可以是测试人员能接收到的其他方式,本申请中对于将日志文件的输出形式不做限定。

步骤309,判断是否存在待执行的测试脚本,若是,则返回执行操作步骤301,若否,则执行操作步骤310。

在一种可选的实现方式中,在对被测对象执行完所获取的一个测试脚本后,可以判断是否还存在未测试的需要进行测试的测试脚本。如果存在,可以返回执行操作步骤301,对被测对象执行下一个待测试的测试脚本;如果不存在,则可以执行操作步骤310,结束当前的测试流程。

步骤310,结束当前流程。

由以上实施例可见,在测试脚本执行出错时,通过查找预先设置的被测对象的配置文件,得到被测对象与该测试脚本对应的获取错误信息的命令,通过执行获取错误信息的命令得到被测对象在执行该测试脚本时出现错误的信息,使得测试人员获得更加全面的错误信息,以利于测试人员准确分析测试脚本执行出现错误的原因。本申请相比于现有技术减少了重复执行出错的测试脚本的次数、节省了人力、获取错误信息更加全面;并且,将测试脚本的标识信息与获取到的错误信息的对应关系保存到被测对象的存储文件中,便于测试人员快速定位出现错误的原因,从而提高自动测试的效率。

与前述信息收集方法的实施例相对应,本申请还提供了信息收集装置、信息收集设备和计算机可读存储介质的实施例。

请参照图4,为本申请信息收集装置的一个实施例框图,所述装置包括:获取单元401,查找单元402,保存单元403。其中,

获取单元401,用于获取被测对象待执行的测试脚本;

查找单元402,用于当被测对象执行任一测试脚本出现错误时,从预先设置的所述被测对象的配置文件中查找与所述测试脚本对应的获取错误信息的命令;

保存单元403,用于将所述测试脚本的标识信息与基于所述命令获取到的错误信息的对应关系保存到所述被测对象的存储文件中,其中所述存储文件包含在所述测试设备的日志文件中。

其中,所述预先设置的配置文件中包括:每个测试脚本的脚本标识与获取错误信息的命令的对应关系;

所述测试脚本的类型包括:基于命令行自动化测试和基于web自动化测试;

所述获取错误信息的命令包括:获取全局信息以及局部信息;其中,所述全局信息为所有被测对象通用的错误信息,所述局部信息为根据测试内容收集的某个被测对象特定的错误信息。

在一种可选的实现方式中,所述查找单元402具体可以包括:

异常判断单元,用于判断是否监听到执行异常信号,所述执行异常信号为所述测试脚本中的某个执行步骤的预期执行结果与实际执行结果不一致时发出的;

命令获取单元,用于如果监听到所述异常信号,则从所述配置文件中查找与所述测试脚本的脚本标识信息对应的获取错误信息的命令。

在一种可选的实现方式中,所述装置还可以包括:

预存储单元,用于在执行每个测试脚本前,将所述测试脚本的执行信息保存到日志文件中,其中,所述执行信息包括:所述测试脚本的操作步骤、输入信息、输出信息;

删除单元,用于当所述测试脚本执行正确时,从所述日志文件中删除所述执行信息。

在一种可选的实现方式中,所述装置还可以包括:

输出单元,用于输出所述日志文件中的测试脚本的标识信息、测试脚本的执行信息以及获取到的错误信息。

请参照图5,为本申请信息收集设备的一个硬件结构图,所述设备包括:内部总线501,以及通过内部总线连接的存储器502,处理器503和外部接口504。

所述处理器503,用于读取所述存储器上的所述机器可读指令,并执行所述指令以实现如下操作:

获取被测对象待执行的测试脚本;

当被测对象执行任一测试脚本出现错误时,从预先设置的所述被测对象的配置文件中查找与所述测试脚本对应的获取错误信息的命令;

将所述测试脚本的标识信息与基于所述命令获取到的错误信息的对应关系保存到所述被测对象的存储文件中,其中所述存储文件包含在所述测试设备的日志文件中。

此外,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有若干计算机指令,所述计算机指令被执行时进行如下处理:

获取被测对象待执行的测试脚本;

当被测对象执行任一测试脚本出现错误时,从预先设置的所述被测对象的配置文件中查找与所述测试脚本对应的获取错误信息的命令;

将所述测试脚本的标识信息与基于所述命令获取到的错误信息的对应关系保存到所述被测对象的存储文件中,其中所述存储文件包含在所述测试设备的日志文件中。

上述装置、设备、计算机可读存储介质中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例、设备实施例、计算机可读存储介质实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由本申请的权利要求指出。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

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