CN110895509A - 一种测试处理方法、装置、电子设备及存储介质 - Google Patents
一种测试处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN110895509A CN110895509A CN201911121923.1A CN201911121923A CN110895509A CN 110895509 A CN110895509 A CN 110895509A CN 201911121923 A CN201911121923 A CN 201911121923A CN 110895509 A CN110895509 A CN 110895509A
- Authority
- CN
- China
- Prior art keywords
- test
- script
- information
- test script
- type
- 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.)
- Granted
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/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
-
- 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/3692—Test management for test results analysis
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种测试处理方法、装置、电子设备及存储介质。所述方法,包括:根据当前启动的测试任务,获取所述测试任务的被测程序和至少一个测试脚本;针对任意一个所述测试脚本,通过执行所述测试脚本以运行所述被测程序,并在所述测试脚本的执行过程记录所述测试脚本的脚本信息;所述脚本信息包括测试脚本编号、脚本类型、执行进度;响应于所述测试脚本的测试结果异常,获取所述测试脚本的异常信息和脚本信息;根据所述脚本信息和所述异常信息的异常类型,获取所述测试脚本的后续处理逻辑。解决了现有的测试处理过程人工分析成本较大,且比较耗费时间的技术问题。取得了提升测试执行效率,减少无谓耗时的有益效果。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种测试处理方法、装置、电子设备及存储介质。
背景技术
程序的测试执行过程中,会因为测试环境不稳定、代码问题或者其他原因导致测试脚本执行异常。在异常情况出现后,一般的自动化测试框架的逻辑是按照该测试脚本执行失败或者跳过进行处理。而这部分测试脚本的执行结果在测试报告中会以不通过体现出来。
目前对于不通过的测试结果,则需要测试执行人员进行人工分析,并且需要测试执行人员在手动优化环境或者解决原因后,针对这部分测试脚本重新进行执行。导致在测试执行异常的情况下,人工分析成本较大,且比较耗费时间的问题。
发明内容
本发明实施例提供一种测试处理方法、装置、电子设备及存储介质,以解决现有的测试处理过程人工分析成本较大,且比较耗费时间的问题。
为了解决上述技术问题,本发明是这样实现的:
第一方面,本发明实施例提供了一种测试处理方法,包括:
根据当前启动的测试任务,获取所述测试任务的被测程序和至少一个测试脚本;
针对任意一个所述测试脚本,通过执行所述测试脚本以运行所述被测程序,并在所述测试脚本的执行过程记录所述测试脚本的脚本信息;所述脚本信息包括测试脚本编号、脚本类型、执行进度;
响应于所述测试脚本的测试结果异常,获取所述测试脚本的异常信息和脚本信息;
根据所述脚本信息和所述异常信息的异常类型,获取所述测试脚本的后续处理逻辑。
可选地,所述根据所述脚本信息和所述异常信息的异常类型,获取所述测试脚本的后续处理逻辑的步骤,包括:
根据所述异常信息的类型,判断是否需要针对所述测试脚本进行重复测试;
如果需要针对所述测试脚本进行重复测试,根据所述测试脚本的脚本信息,设置所述测试脚本的测试信息。
可选地,所述根据所述测试脚本的脚本信息,设置所述测试脚本的测试信息的步骤,包括:
将所述测试脚本的测试脚本编号添加至下一轮的测试集中;
根据所述测试脚本的脚本类型和执行进度,设置所述测试脚本关联的数据清理方法和环境清理方法。
可选地,在所述根据所述脚本信息和所述异常信息的异常类型,获取所述测试脚本的后续处理逻辑的步骤之后,还包括:
S1,针对所述测试任务的下一轮的测试集,通过所述测试集中包含的每个测试脚本编号对应的测试脚本对所述被测程序进行测试,并在每次测试前通过所述测试脚本关联的数据清理方法对所述被测程序进行数据清理,通过所述测试脚本关联的环境清理方法对所述被测程序的运行环境进行环境清理;
S2,根据本轮测试过程中,所述测试集包含的每个所述测试脚本的测试结果,构建下一轮的测试集,并针对当前构建的下一轮的测试集执行步骤S1,直至所述测试任务的执行轮数达到预设数值,或者当前构建的测试集不包含任何测试脚本编号;
S3,根据所述测试任务中的测试脚本在每轮测试过程中的测试结果,生成所述测试任务的测试报告。
可选地,所述根据所述异常信息的类型,判断是否需要针对所述测试脚本进行重复测试的步骤,包括:
响应于所述异常信息为超时错误类型、声明错误类型、未定义的未知错误类型、所使用语言的异常类型中的任意一种,确认需要针对所述测试脚本进行重复测试;
响应于所述异常信息为找不到元素的异常类型,确认不需要针对所述测试脚本进行重复测试。
可选地,在所述响应于所述异常信息为找不到元素的异常类型,确认不需要针对所述测试脚本进行重复测试的步骤之后,还包括:
将所述测试脚本针对所述被测程序的测试结果标注为阻断。
可选地,响应于所述测试脚本的测试结果异常,所述获取所述测试脚本的异常信息和脚本信息的步骤,包括:
响应于所述测试脚本的测试结果异常,获取所述测试脚本的异常信息和测试脚本编号;
根据所述测试脚本编号,获取所述测试脚本的脚本信息。
第二方面,本发明实施例另外提供了一种测试处理装置,包括:
测试任务启动模块,用于根据当前启动的测试任务,获取所述测试任务的被测程序和至少一个测试脚本;
测试执行模块,用于针对任意一个所述测试脚本,通过执行所述测试脚本以运行所述被测程序,并在所述测试脚本的执行过程记录所述测试脚本的脚本信息;所述脚本信息包括测试脚本编号、脚本类型、执行进度;
异常信息获取模块,用于响应于所述测试脚本的测试结果异常,获取所述测试脚本的异常信息和脚本信息;
后续处理逻辑获取模块,用于根据所述脚本信息和所述异常信息的异常类型,获取所述测试脚本的后续处理逻辑。
第三方面,本发明实施例另外提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如前述的测试处理方法的步骤。
第四方面,本发明实施例另外提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前述的测试处理方法的步骤。
在本发明实施例中,通过根据当前启动的测试任务,获取所述测试任务的被测程序和至少一个测试脚本;针对任意一个所述测试脚本,通过执行所述测试脚本以运行所述被测程序,并在所述测试脚本的执行过程记录所述测试脚本的脚本信息;所述脚本信息包括测试脚本编号、脚本类型、执行进度;响应于所述测试脚本的测试结果异常,获取所述测试脚本的异常信息和脚本信息;根据所述脚本信息和所述异常信息的异常类型,获取所述测试脚本的后续处理逻辑。解决了现有的测试处理过程人工分析成本较大,且比较耗费时间的技术问题。取得了提升测试执行效率,减少无谓耗时的有益效果。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中的一种测试处理方法的步骤流程图;
图2是本发明实施例中的另一种测试处理方法的步骤流程图;
图3是本发明实施例中的一种在测试平台进行测试处理的流程示意图;
图4是本发明实施例中的一种测试处理装置的结构示意图;
图5是本发明实施例中的另一种测试处理装置的结构示意图;
图6是本发明实施例中的一种电子设备的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照图1,示出了本发明实施例中一种测试处理方法的步骤流程图。
步骤110,根据当前启动的测试任务,获取所述测试任务的被测程序和至少一个测试脚本。
在实际应用中,在进行程序测试时,可以基于一个或多个测试脚本对被测程序进行测试,以测试被测程序在不同情况下的执行结果是否满足要求。而且,在测试过程中,为了避免由于测试环境不稳定或者其他原因导致的测试结果异常,还可以通过分析异常原因,决定是否针对当前的测试脚本进行重复测试,以提高测试结果的准确性。
那么,针对当前启动的测试任务,则可以获取相应测试任务的被测程序和至少一个测试脚本。
一般而言,在启动测试任务之前,会预先设置该测试任务的被测程序和至少一个测试脚本,那么进行测试时,则可以直接根据当前启动的测试任务,获取相应测试任务的被测程序和至少一个测试脚本。
步骤120,针对任意一个所述测试脚本,通过执行所述测试脚本以运行所述被测程序,并在所述测试脚本的执行过程记录所述测试脚本的脚本信息;所述脚本信息包括测试脚本编号、脚本类型、执行进度。
为了解决上述的测试过程中的人工分析成本较大,且比较耗费时间等问题。在本发明实施例中,在通过测试脚本对被测程序进行测试的过程中,可以记录当前的测试脚本的测试脚本编号、脚本类型、执行进度等脚本信息。从而方便在后续测试脚本的测试结果异常时,则可以根据该测试脚本当前的脚本信息,以为该测试脚本匹配合适的后续处理措施。
因此,在本发明实施例中,在启动测试任务之后,针对测试任务中的任意一个所述测试脚本,可以通过执行所述测试脚本以运行相应的被测程序,并在相应的测试脚本的执行过程记录所述测试脚本的脚本信息;所述脚本信息可以包括但不限于测试脚本编号、脚本类型、执行进度。
例如,假设当前启动的测试任务中被测程序为程序A,测试脚本包括测试脚本1、测试脚本2和测试脚本3。那么在执行该测试任务时,则可以分别通过执行测试脚本1、测试脚本2和测试脚本3以运行程序A,并且在每个测试脚本的执行过程中,记录相应测试脚本的脚本信息。
其中的执行进度可以包括相应测试脚本在本次测试过程中的执行进度,例如任一测试脚本的执行进度可以为100%,80%,或者执行进度可以为执行至某一代码行,等等。各个测试脚本的测试脚本编号则可以根据需求进行预先设置,对此本发明实施例不加以限定。而且,一般而言同一测试任务中不同测试脚本的测试脚本编号应该互不相同,以方便进行区分。脚本类型也可以在设置各个测试脚本时相应的进行设置,对此本发明实施例也不加以限定。
步骤130,响应于所述测试脚本的测试结果异常,获取所述测试脚本的异常信息和脚本信息。
如果测试脚本的测试结果异常,为了确定该测试脚本的后续处理逻辑,则可以获取该测试脚本的异常信息和脚本信息。
例如,在本发明实施例中,可以将测试脚本的脚本信息存储至预设的数据库中,那么此时则可以从相应的数据库中获取测试脚本的脚本信息。其中的数据库可以为Redis数据库等等任意可用的数据库。
而且,在获取当前的测试脚本的脚本信息时,还可以根据测试结果异常的测试脚本的测试脚本编号,从已记录的与当前启动的测试任务对应的脚本信息中获取测试脚本编号相同的脚本信息即为当前测试结果异常的测试脚本的脚本信息。
其中,测试脚本的异常信息中可以包括但不限于导致测试结果异常的原因、异常类型等等与当前异常相关的信息。具体的异常信息包含的内容可以根据需求进行自定义设置,对此本发明实施例不加以限定。
步骤140,根据所述脚本信息和所述异常信息的异常类型,获取所述测试脚本的后续处理逻辑。
在实际应用中,一个自动化测试脚本的执行步骤,可以分为测试环境准备、测试数据准备、测试步骤执行、测试结果判断、测试数据清理、测试环境清理等几个不同的步骤。其中每个步骤又可以分为多步。在自动化脚本执行过程中,对应于每个不同的步骤,每个步骤里面的每一步,其数据清理方法和环境清理方法都有可能相同,有可能不同。这个需要结合实际业务场景进行处理。因此,在本发明实施例中,为了提高自动化测试的处理效率,可以根据当前具体的自动化场景和业务逻辑,以及测试脚本的不同测试进度,对应预先编写不同的数据清理方法和环境清理方法。在测试脚本的执行过程中,则可以对测试脚本的执行结果进行监听,在测试脚本出现测试结果异常后,则可以获取该测试脚本的异常信息和脚本信息,从而可以通过对执行结果的异常信息和该测试脚本的脚本信息进行综合分析,决定该测试脚本的后续处理逻辑。
具体的不同的异常类型对应的处理方式有所不同,而且不同执行进度、不同脚本类型等有可能影响测试脚本的后续处理逻辑,因此,在本发明实施例中,可以根据所述脚本信息和所述异常信息的异常类型,进行综合分析,以获取相应测试脚本的后续处理逻辑。
其中,后续处理逻辑可以包括了是否需要重复测试,重复测试时是否需要进行数据清洗、环境清洗,以及具体的数据清洗算法的选择、环境清洗算法的选择,等等。而且,不同的后续处理逻辑与脚本信息和异常信息的异常类型之间的映射关系可以根据需求或经验等进行预先设置,对此本发明实施例不加以限定。
在本发明实施例中,通过根据当前启动的测试任务,获取所述测试任务的被测程序和至少一个测试脚本;针对任意一个所述测试脚本,通过执行所述测试脚本以运行所述被测程序,并在所述测试脚本的执行过程记录所述测试脚本的脚本信息;所述脚本信息包括测试脚本编号、脚本类型、执行进度;响应于所述测试脚本的测试结果异常,获取所述测试脚本的异常信息和脚本信息;根据所述脚本信息和所述异常信息的异常类型,获取所述测试脚本的后续处理逻辑。取得了提升测试执行效率,减少无谓耗时的有益效果。
参照图2,在本发明实施例中,所述步骤140进一步可以包括:
步骤141,根据所述异常信息的类型,判断是否需要针对所述测试脚本进行重复测试。
步骤142,如果需要针对所述测试脚本进行重复测试,根据所述测试脚本的脚本信息,设置所述测试脚本的测试信息。
如前述,在实际应用中,自动化测试执行过程中,可能会因为测试环境不稳定、代码问题或者其他原因导致测试脚本执行异常。在异常情况出现后,一般的自动化测试框架的逻辑是按照该测试脚本执行失败或者跳过进行处理。而这部分测试脚本的执行结果在测试报告中会以不通过体现出来。
目前对于不通过的测试结果,则需要自动化测试执行人员进行人工分析,分析的结果一般是测试环境不稳定、代码bug或者其他原因。如果是代码问题则会提交相关bug来记录;如果是测试环境不稳定或者其他原因,则需要自动化测试执行人员在优化环境或者解决原因后,针对这部分测试脚本重新进行执行。但是测试环境不稳定或者其他原因导致的人工分析,则会存在人工成本较大,且比较耗费时间的问题。
因此,在本发明实施例中,为了提高自动测试的处理效率,检索人工分析成本,可以预先设置不同异常类型对应的处理方式,从而在检测到测试脚本的执行结果为异常的情况下,则可以根据相应测试脚本的异常信息的类型,判断是否需要针对该测试脚本进行重复测试;如果需要针对相应的测试脚本进行重复测试,根据相应测试脚本的脚本信息,设置相应测试脚本的测试信息。
其中的测试信息可以包括任何与重复测试相关的信息,例如重复测试的测试脚本的获取方式,测试脚本的数据清理方法和环境清理方法,等等。在本发明实施例中,可以根据需求预先设置测试信息包含的内容,以及具体的设置方式,对此本发明实施例不加以限定。
而且,具体需要进行重复测试的异常类型也可以根据需求或经验等进行预先设置,对此本发明实施例不加以限定。
例如,在实际应用中,环境不稳定等可能会导致timeout(超时)类型的异常错误,而不是被测程序存在问题,因此在本发明实施例中,为了提高测试结果的准确性,可以针对异常类型为超时的测试脚本进行重复测试。
可选地,在本发明实施例中,所述步骤142进一步可以包括:
步骤1421,将所述测试脚本的测试脚本编号添加至下一轮的测试集中;
步骤1422,根据所述测试脚本的脚本类型和执行进度,设置所述测试脚本关联的数据清理方法和环境清理方法。
在实际应用中,在每次通过执行测试脚本运行被测程序,以对被测程序进行测试时,可以分为测试环境准备、测试数据准备、测试步骤执行、测试结果判断、测试数据清理、测试环境清理等几个不同的步骤。而且在其中的测试环境准备、测试数据准备、测试步骤执行等步骤中可能对被测程序进行数据设置和/或运行环境设置,那么再下次测试时,为了避免产生已设置的数据和/或运行环境影响下次测试结果,因此还需要针对被测程序进行数据清理,针对被测程序的运行环境进行环境清理。当然,在本发明实施例中,如果有需求也可以只进行测试数据清理或者是测试环境清理,或者是不进行任何清理,具体的可以根据测试脚本的执行进度、脚本类型,以及测试任务的测试需求等进行预先设置,对此本发明实施例不加以限定。
例如,假设某一测试脚本的执行过程可以分为10个步骤,其中第一步和第二步是环境设置,第三步和第四步是数据准备,第五步和第六步是测试操作,第七步和第八步是数据清理,第九步和第十步是环境清理。
如果是第一步环境设置后测试脚本执行出错,也即该测试脚本的执行进度为执行到第一步,那么此时则可以跳转至执行第十步,以进行环境清理,而无需进行数据清理;而如果是第四步数据准备出错时测试脚本执行出错,,那么此时则可以跳转至执行第七步和第八步数据清理,再执行第九步和第十步环境清理。
而且,如前述在数据准备步骤中又可以包括多个小步骤,且每个小步骤中的对应的需要采用的数据清理方法和环境清理方法可能有所不同,而且不同脚本类型所需要采用的数据清理方法和环境清理方法也可能有所不同。因此在本发明实施例中,可以根据测试脚本的脚本类型以及执行进度,设置所述测试脚本关联的数据清理方法和环境清理方法,以便在下一轮通过该测试脚本对被测程序进行重复测试之前,可以通过当前与其关联的数据清理方法和环境清理方法,分别对被测程序进行数据清理,对对被测程序的运行环境进行环境清理。
而且,如前述由于不同脚本类型、不同测试进度对应的数据清理方法和环境清理方法可能有所不同,因此在本发明实施例中,如果确定需要针对当前的测试脚本进行重复测试,则可以根据所述测试脚本的脚本类型和本次的执行进度,设置所述测试脚本关联的数据清理方法和环境清理方法,也即在下一次通过所述测试脚本对被测程序进行测试之前,需要对相应的被测程序进行数据清理的具体数据清理方法,以及对相应的被测程序的运行环境进行环境清理的具体环境清理方法。
另外,还可以将所述测试脚本的测试脚本编号添加至下一轮的测试集中,以便在本轮测试结束后进行下一轮测试时获取需要进行重复测试的测试脚本。
可选地,在本发明实施例中,在所述步骤140之后,还可以包括:
S1,针对所述测试任务的下一轮的测试集,通过所述测试集中包含的每个测试脚本编号对应的测试脚本对所述被测程序进行测试,并在每次测试前通过所述测试脚本关联的数据清理方法对所述被测程序进行数据清理,通过所述测试脚本关联的环境清理方法对所述被测程序的运行环境进行环境清理;
S2,根据本轮测试过程中,所述测试集包含的每个所述测试脚本的测试结果,构建下一轮的测试集,并针对当前构建的下一轮的测试集执行步骤S1,直至所述测试任务的执行轮数达到预设数值,或者当前构建的测试集不包含任何测试脚本编号;
S3,根据所述测试任务中的测试脚本在每轮测试过程中的测试结果,生成所述测试任务的测试报告。
在实际应用中,针对当前启动的测试任务可以进行多轮测试,但是同时为了避免对同一测试任务进行过多轮数的测试,还可以针对当前的测试任务设置预设数值作为其可以执行轮数的上限。
那么在测试任务的执行过程中,在首轮测试时,可以通过当前的测试任务中的全部测试脚本对被测程序进行测试,在首轮测试结束之后,则可以针对所述测试任务的下一轮的测试集,通过所述测试集中包含的每个测试脚本编号对应的测试脚本对所述被测程序进行测试,并在每次测试前通过所述测试脚本关联的数据清理方法对所述被测程序进行数据清理,通过所述测试脚本关联的环境清理方法对所述被测程序的运行环境进行环境清理。
例如,假设在首轮测试结束后,得到的下一轮的测试集中包括了测试脚本编号1、测试脚本编号2,且测试脚本编号为1的测试脚本关联了数据清理方法a1和环境清理方法b1,测试脚本编号为2的测试脚本关联了数据清理方法a2、数据清理方法a3和环境清理方法b2,那么在下一轮测试过程中,在通过测试脚本编号为1的测试脚本对被测程序进行测试之前,可以预先通过数据清理方法a1对被测程序进行数据清理,通过环境清理方法b1对被测程序的运行环境进行环境清理;在通过测试脚本编号为2的测试脚本对被测程序进行测试之前,则可以预先通过数据清理方法a2和a3对被测程序进行数据清理,通过环境清理方法b2对被测程序的运行环境进行环境清理。
而且在当前轮次执行结束之后,则可以根据本轮测试过程中各个测试脚本的测试结果,重新构建得到与本轮测试之后的下一轮的测试集,其中包含了下一轮需要进行重复测试的测试脚本的测试脚本编号,进而可以针对当前构建的下一轮的测试集执行步骤S1,直至所述测试任务的执行轮数达到预设数值,或者当前构建的测试集不包含任何测试脚本编号,则可以结束相应的测试任务。
而且在相应的测试任务执行结束之后,则可以根据所述测试任务中的每个测试脚本在每轮测试过程中的测试结果,生成所述测试任务的测试报告。其中,在测试任务的测试报告中可以包括相应的测试任务中的每个测试脚本在每次针对被测程序的测试结果,以作为对比,并且还可以包括每个测试脚本的整体测试结果,等等。其中,测试报告中具体包含的内容可以根据需求进行自定义设置,对此本发明实施例不加以限定。
参照图3,为本发明实施例中一种在测试平台中执行测试任务的流程示意图。
其中,可以在测试平台中启动测试任务,然后测试任务包含的测试脚本开始执行,被测程序开始运行;测试脚本执行过程中会将脚本信息保存到redis数据库中,脚本信息包括:测试脚本编号、脚本类型、执行进度三个字段;测试脚本执行完成后,对于执行结果异常的脚本,测试平台会获取其异常信息和测试脚本编号;测试平台根据上一步中获取的测试脚本编号从redis数据库中获取脚本信息;测试平台根据脚本信息和异常信息综合进行判断,决定该测试脚本的后续处理逻辑。具体可以包括以下内容:
1、若异常信息为timeout类型,则将该测试脚本编号添加到下一轮的测试集内。然后根据脚本类型和执行进度,决定与该测试脚本关联的数据清理和环境清理方法;
2、若异常信息为assertionError类型,则将该测试脚本编号添加到下一轮的测试集内。然后根据脚本类型和执行进度,决定与该测试脚本关联的数据清理和环境清理方法;
3、若异常信息为找不到元素的exception类型,则无需进行下一轮测试,并且可以将测试结果标注为”Blocked”;
4、若异常信息为未定义的unknown error类型,则将该测试脚本编号添加到下一轮的测试集内。然后根据脚本类型和执行进度,决定与该测试脚本关联的数据清理和环境清理方法;
5、若异常信息为所使用语言的exception类型,则将该测试脚本编号添加到下一轮的测试集内。然后根据脚本类型和执行进度,决定与该测试脚本关联的数据清理和环境清理方法;
测试平台根据上一轮的处理结果,开始执行下一轮测试。依次类推,根据测试平台针对该测试任务定义的执行轮数循环。在所有轮数执行完成后,测试平台根据最终测试结果输出该测试任务的测试报告。
可选地,在本发明实施例中,所述步骤141进一步可以包括:
步骤1411,响应于所述异常信息为超时错误类型、声明错误类型、未定义的未知错误类型、所使用语言的异常类型中的任意一种,确认需要针对所述测试脚本进行重复测试;
步骤1412,响应于所述异常信息为找不到元素的异常类型,确认不需要针对所述测试脚本进行重复测试。
在实际应用中,自动化测试过程中可能会出现网络连接超时,socket(端口)连接超时,访问超时等各种超时错误;或者是出现预期测试结果和实际测试结果不符合的声明错误;或者是所使用语言的异常;或者是未知错误等等,而且对于上述错误类型,并不一定是被测程序的问题,因此可以在数据清理和环境清理之后进行重复测试,以通过多次测试提高测试结果的准确性。
因此,在本发明实施例中,响应于所述异常信息为超时错误类型、声明错误(assertionError)类型、未定义的未知错误(unknown error)类型、所使用语言的异常(exception)类型中的任意一种,则可以确认需要针对所述测试脚本进行重复测试。
而如果异常信息为找不到元素的异常类型,则无需对相应的测试脚本进行第二轮测试,也即可以确认不需要针对所述测试脚本进行重复测试。
当然,在本发明实施例中,上述异常类型为自动化测试中最常见的情况,如果出现其他异常类型,也可以根据需求相应设置对应的测试脚本的后续处理逻辑。
可选地,在本发明实施例中,在所述步骤1412之后,还可以包括:将所述测试脚本针对所述被测程序的测试结果标注为阻断。
另外,在本发明实施例中,对于无需进行二轮测试的测试脚本的执行结果,为了将其与其他的执行结果进行区分,还可以将无需进行重复测试的测试脚本针对相应被测程序的测试结果标注为阻断(Blocked)。那么此时对于前述的异常信息为找不到元素的异常类型,则可以确认不需要针对所述测试脚本进行重复测试,并且将相应的测试脚本针对所述被测程序的测试结果标注为阻断。
其中,测试结果的状态可以分为通过,部分通过,不适用,阻断等。Blocked也是测试结果的一种状态,Blocked表示测试脚本因为某种原因无法执行。
参照图2,在本发明实施例中,所述步骤130进一步可以包括:
步骤131,响应于所述测试脚本的测试结果异常,获取所述测试脚本的异常信息和测试脚本编号。
步骤132,根据所述测试脚本编号,获取所述测试脚本的脚本信息。
另外,在本发明实施例中,在测试脚本的测试结果异常的情况下,则可以获取测试脚本的异常信息,而且为了获取该脚本信息的脚本信息,还可以先获取测试脚本的测试脚本编号,进而可以根据所述测试脚本编号,从记录脚本信息的存储空间中,匹配得到所述测试脚本的脚本信息。
具体的,由于可以设置每个测试脚本的测试脚本编号各不相同,那么则可以根据各个脚本信息中包含的测试脚本编号,从中获取测试脚本编号与当前测试结果异常的测试脚本的测试脚本编号相同的脚本信息,即为相应测试结果异常的测试脚本的脚本信息。
在本发明实施例中,可以根据所述异常信息的类型,判断是否需要针对所述测试脚本进行重复测试;如果需要针对所述测试脚本进行重复测试,根据所述测试脚本的脚本信息,设置所述测试脚本的测试信息。并且,在确定需要针对所述测试脚本进行重复测试的情况下,可以将所述测试脚本的测试脚本编号添加至下一轮的测试集中;根据所述测试脚本的脚本类型和执行进度,设置所述测试脚本关联的数据清理方法和环境清理方法。以及,还可以根据根据预设的循环轮次,对测试任务进行多次循环执行,并输出测试报告。从而可以提高每次测试结果的有效性,以及最终得到的测试报告的准确性。
而且,在本发明实施例中,还可以响应于所述异常信息为超时错误类型、声明错误类型、未定义的未知错误类型、所使用语言的异常类型中的任意一种,确认需要针对所述测试脚本进行重复测试;响应于所述异常信息为找不到元素的异常类型,确认不需要针对所述测试脚本进行重复测试。并且,还可以将所述测试脚本针对所述被测程序的测试结果标注为阻断。从而可以避免无意义的循环测试,提高测试效率以及有效性。
另外,在本发明实施例中,还可以响应于所述测试脚本的测试结果异常,获取所述测试脚本的异常信息和测试脚本编号;根据所述测试脚本编号,获取所述测试脚本的脚本信息。提高脚本信息的获取效率以及准确性,进而提高测试效率以及测试结果的准确性。
参照图4,示出了本发明实施例中一种测试处理装置的结构示意图。
本发明实施例的测试处理装置包括:测试任务启动模块210、测试执行模块220、异常信息获取模块230和后续处理逻辑获取模块240。
下面分别详细介绍各模块的功能以及各模块之间的交互关系。
测试任务启动模块210,用于根据当前启动的测试任务,获取所述测试任务的被测程序和至少一个测试脚本;
测试执行模块220,用于针对任意一个所述测试脚本,通过执行所述测试脚本以运行所述被测程序,并在所述测试脚本的执行过程记录所述测试脚本的脚本信息;所述脚本信息包括测试脚本编号、脚本类型、执行进度;
异常信息获取模块230,用于响应于所述测试脚本的测试结果异常,获取所述测试脚本的异常信息和脚本信息;
后续处理逻辑获取模块240,用于根据所述脚本信息和所述异常信息的异常类型,获取所述测试脚本的后续处理逻辑。
在本发明实施例中,通过根据当前启动的测试任务,获取所述测试任务的被测程序和至少一个测试脚本;针对任意一个所述测试脚本,通过执行所述测试脚本以运行所述被测程序,并在所述测试脚本的执行过程记录所述测试脚本的脚本信息;所述脚本信息包括测试脚本编号、脚本类型、执行进度;响应于所述测试脚本的测试结果异常,获取所述测试脚本的异常信息和脚本信息;根据所述脚本信息和所述异常信息的异常类型,获取所述测试脚本的后续处理逻辑。取得了提升测试执行效率,减少无谓耗时的有益效果。
参照图5,在本发明实施例中,所述后续处理逻辑获取模块240,进一步可以包括:
重复测试判断子模块241,用于根据所述异常信息的类型,判断是否需要针对所述测试脚本进行重复测试;
测试信息设置子模块242,用于如果需要针对所述测试脚本进行重复测试,根据所述测试脚本的脚本信息,设置所述测试脚本的测试信息。
可选地,在本发明实施例中,所述测试信息设置子模块242,进一步可以包括:
下轮测试集更新单元,用于将所述测试脚本的测试脚本编号添加至下一轮的测试集中;
清理方法设置单元,用于根据所述测试脚本的脚本类型和执行进度,设置所述测试脚本关联的数据清理方法和环境清理方法。
可选地,在本发明实施例中,所述装置还可以包括:
重复测试模块,用于针对所述测试任务的下一轮的测试集,通过所述测试集中包含的每个测试脚本编号对应的测试脚本对所述被测程序进行测试,并在每次测试前通过所述测试脚本关联的数据清理方法对所述被测程序进行数据清理,通过所述测试脚本关联的环境清理方法对所述被测程序的运行环境进行环境清理;
测试集更新模块,用于根据本轮测试过程中,所述测试集包含的每个所述测试脚本的测试结果,构建下一轮的测试集,并针对当前构建的下一轮的测试集进入重复测试模块,直至所述测试任务的执行轮数达到预设数值,或者当前构建的测试集不包含任何测试脚本编号;
测试报告生成模块,用于根据所述测试任务中的测试脚本在每轮测试过程中的测试结果,生成所述测试任务的测试报告。
可选地,在本发明实施例中,所述重复测试判断子模块241,进一步可以包括:
第一异常类型检测单元,用于响应于所述异常信息为超时错误类型、声明错误类型、未定义的未知错误类型、所使用语言的异常类型中的任意一种,确认需要针对所述测试脚本进行重复测试;
第二异常类型检测单元,用于响应于所述异常信息为找不到元素的异常类型,确认不需要针对所述测试脚本进行重复测试。
可选地,在本发明实施例中,所述重复测试判断子模块241,进一步还可以包括:
阻断标注单元,用于将所述测试脚本针对所述被测程序的测试结果标注为阻断。
参照图5,在本发明实施例中,所述异常信息获取模块230,进一步可以包括:
异常信息获取子模块231,用于响应于所述测试脚本的测试结果异常,获取所述测试脚本的异常信息和测试脚本编号;
脚本信息获取子模块232,用于根据所述测试脚本编号,获取所述测试脚本的脚本信息。
在本发明实施例中,可以根据所述异常信息的类型,判断是否需要针对所述测试脚本进行重复测试;如果需要针对所述测试脚本进行重复测试,根据所述测试脚本的脚本信息,设置所述测试脚本的测试信息。并且,在确定需要针对所述测试脚本进行重复测试的情况下,可以将所述测试脚本的测试脚本编号添加至下一轮的测试集中;根据所述测试脚本的脚本类型和执行进度,设置所述测试脚本关联的数据清理方法和环境清理方法。以及,还可以根据根据预设的循环轮次,对测试任务进行多次循环执行,并输出测试报告。从而可以提高每次测试结果的有效性,以及最终得到的测试报告的准确性。
而且,在本发明实施例中,还可以响应于所述异常信息为超时错误类型、声明错误类型、未定义的未知错误类型、所使用语言的异常类型中的任意一种,确认需要针对所述测试脚本进行重复测试;响应于所述异常信息为找不到元素的异常类型,确认不需要针对所述测试脚本进行重复测试。并且,还可以将所述测试脚本针对所述被测程序的测试结果标注为阻断。从而可以避免无意义的循环测试,提高测试效率以及有效性。
另外,在本发明实施例中,还可以响应于所述测试脚本的测试结果异常,获取所述测试脚本的异常信息和测试脚本编号;根据所述测试脚本编号,获取所述测试脚本的脚本信息。提高脚本信息的获取效率以及准确性,进而提高测试效率以及测试结果的准确性。
本发明实施例提供的电子设备能够实现图1至图2的方法实施例中实现的各个过程,为避免重复,这里不再赘述。
实施例五
图6为实现本发明各个实施例的一种电子设备的硬件结构示意图。
该电子设备500包括但不限于:射频单元501、网络模块502、音频输出单元503、输入单元504、传感器505、显示单元506、用户输入单元507、接口单元508、存储器509、处理器510、以及电源511等部件。本领域技术人员可以理解,图6中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,电子设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
应理解的是,本发明实施例中,射频单元501可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器510处理;另外,将上行的数据发送给基站。通常,射频单元501包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元501还可以通过无线通信系统与网络和其他设备通信。
电子设备通过网络模块502为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
音频输出单元503可以将射频单元501或网络模块502接收的或者在存储器509中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元503还可以提供与电子设备500执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元503包括扬声器、蜂鸣器以及受话器等。
输入单元504用于接收音频或视频信号。输入单元504可以包括图形处理器(Graphics Processing Unit,GPU)5041和麦克风5042,图形处理器5041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元506上。经图形处理器5041处理后的图像帧可以存储在存储器509(或其它存储介质)中或者经由射频单元501或网络模块502进行发送。麦克风5042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元501发送到移动通信基站的格式输出。
电子设备500还包括至少一种传感器505,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板5061的亮度,接近传感器可在电子设备500移动到耳边时,关闭显示面板5061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别电子设备姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器505还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
显示单元506用于显示由用户输入的信息或提供给用户的信息。显示单元506可包括显示面板5061,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板5061。
用户输入单元507可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元507包括触控面板5071以及其他输入设备5072。触控面板5071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板5071上或在触控面板5071附近的操作)。触控面板5071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器510,接收处理器510发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板5071。除了触控面板5071,用户输入单元507还可以包括其他输入设备5072。具体地,其他输入设备5072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
进一步的,触控面板5071可覆盖在显示面板5061上,当触控面板5071检测到在其上或附近的触摸操作后,传送给处理器510以确定触摸事件的类型,随后处理器510根据触摸事件的类型在显示面板5061上提供相应的视觉输出。虽然在图6中,触控面板5071与显示面板5061是作为两个独立的部件来实现电子设备的输入和输出功能,但是在某些实施例中,可以将触控面板5071与显示面板5061集成而实现电子设备的输入和输出功能,具体此处不做限定。
接口单元508为外部装置与电子设备500连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元508可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到电子设备500内的一个或多个元件或者可以用于在电子设备500和外部装置之间传输数据。
存储器509可用于存储软件程序以及各种数据。存储器509可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器509可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器510是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器509内的软件程序和/或模块,以及调用存储在存储器509内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。处理器510可包括一个或多个处理单元;优选的,处理器510可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器510中。
电子设备500还可以包括给各个部件供电的电源511(比如电池),优选的,电源511可以通过电源管理系统与处理器510逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
另外,电子设备500包括一些未示出的功能模块,在此不再赘述。
优选的,本发明实施例还提供了一种电子设备,包括:处理器510,存储器509,存储在存储器509上并可在处理器510上运行的计算机程序,该计算机程序被处理器510执行时实现上述测试处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述测试处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
本领域普通技术人员可以意识到,结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种测试处理方法,其特征在于,包括:
根据当前启动的测试任务,获取所述测试任务的被测程序和至少一个测试脚本;
针对任意一个所述测试脚本,通过执行所述测试脚本以运行所述被测程序,并在所述测试脚本的执行过程记录所述测试脚本的脚本信息;所述脚本信息包括测试脚本编号、脚本类型、执行进度;
响应于所述测试脚本的测试结果异常,获取所述测试脚本的异常信息和脚本信息;
根据所述脚本信息和所述异常信息的异常类型,获取所述测试脚本的后续处理逻辑。
2.根据权利要求1所述的方法,其特征在于,所述根据所述脚本信息和所述异常信息的异常类型,获取所述测试脚本的后续处理逻辑的步骤,包括:
根据所述异常信息的类型,判断是否需要针对所述测试脚本进行重复测试;
如果需要针对所述测试脚本进行重复测试,根据所述测试脚本的脚本信息,设置所述测试脚本的测试信息。
3.根据权利要求2所述的方法,其特征在于,所述根据所述测试脚本的脚本信息,设置所述测试脚本的测试信息的步骤,包括:
将所述测试脚本的测试脚本编号添加至下一轮的测试集中;
根据所述测试脚本的脚本类型和执行进度,设置所述测试脚本关联的数据清理方法和环境清理方法。
4.根据权利要求3所述的方法,其特征在于,在所述根据所述脚本信息和所述异常信息的异常类型,获取所述测试脚本的后续处理逻辑的步骤之后,还包括:
S1,针对所述测试任务的下一轮的测试集,通过所述测试集中包含的每个测试脚本编号对应的测试脚本对所述被测程序进行测试,并在每次测试前通过所述测试脚本关联的数据清理方法对所述被测程序进行数据清理,通过所述测试脚本关联的环境清理方法对所述被测程序的运行环境进行环境清理;
S2,根据本轮测试过程中,所述测试集包含的每个所述测试脚本的测试结果,构建下一轮的测试集,并针对当前构建的下一轮的测试集执行步骤S1,直至所述测试任务的执行轮数达到预设数值,或者当前构建的测试集不包含任何测试脚本编号;
S3,根据所述测试任务中的测试脚本在每轮测试过程中的测试结果,生成所述测试任务的测试报告。
5.根据权利要求2所述的方法,其特征在于,所述根据所述异常信息的类型,判断是否需要针对所述测试脚本进行重复测试的步骤,包括:
响应于所述异常信息为超时错误类型、声明错误类型、未定义的未知错误类型、所使用语言的异常类型中的任意一种,确认需要针对所述测试脚本进行重复测试;
响应于所述异常信息为找不到元素的异常类型,确认不需要针对所述测试脚本进行重复测试。
6.根据权利要求5所述的方法,其特征在于,在所述响应于所述异常信息为找不到元素的异常类型,确认不需要针对所述测试脚本进行重复测试的步骤之后,还包括:
将所述测试脚本针对所述被测程序的测试结果标注为阻断。
7.根据权利要求1-6中任一项所述的方法,其特征在于,响应于所述测试脚本的测试结果异常,所述获取所述测试脚本的异常信息和脚本信息的步骤,包括:
响应于所述测试脚本的测试结果异常,获取所述测试脚本的异常信息和测试脚本编号;
根据所述测试脚本编号,获取所述测试脚本的脚本信息。
8.一种测试处理装置,其特征在于,包括:
测试任务启动模块,用于根据当前启动的测试任务,获取所述测试任务的被测程序和至少一个测试脚本;
测试执行模块,用于针对任意一个所述测试脚本,通过执行所述测试脚本以运行所述被测程序,并在所述测试脚本的执行过程记录所述测试脚本的脚本信息;所述脚本信息包括测试脚本编号、脚本类型、执行进度;
异常信息获取模块,用于响应于所述测试脚本的测试结果异常,获取所述测试脚本的异常信息和脚本信息;
后续处理逻辑获取模块,用于根据所述脚本信息和所述异常信息的异常类型,获取所述测试脚本的后续处理逻辑。
9.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的测试处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的测试处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911121923.1A CN110895509B (zh) | 2019-11-15 | 2019-11-15 | 一种测试处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911121923.1A CN110895509B (zh) | 2019-11-15 | 2019-11-15 | 一种测试处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110895509A true CN110895509A (zh) | 2020-03-20 |
CN110895509B CN110895509B (zh) | 2023-04-18 |
Family
ID=69788254
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911121923.1A Active CN110895509B (zh) | 2019-11-15 | 2019-11-15 | 一种测试处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110895509B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112306886A (zh) * | 2020-11-11 | 2021-02-02 | 天津汇商共达科技有限责任公司 | 一种脚本调试的方法及装置 |
CN112380136A (zh) * | 2020-12-03 | 2021-02-19 | 北京联创信安科技股份有限公司 | 数据清理方法、装置、测试设备及存储介质 |
CN112395158A (zh) * | 2020-11-17 | 2021-02-23 | 北京乐我无限科技有限责任公司 | 一种信息处理方法、装置及计算机可读存储介质 |
CN113448827A (zh) * | 2020-03-26 | 2021-09-28 | 北京沃东天骏信息技术有限公司 | 一种测试数据的处理方法和装置 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040267485A1 (en) * | 2003-06-30 | 2004-12-30 | Penov Francislav P | Test execution framework for automated software testing |
CN104239208A (zh) * | 2014-09-19 | 2014-12-24 | 福建星海通信科技有限公司 | 一种自动化执行期间异常恢复方法 |
CN105320600A (zh) * | 2015-11-26 | 2016-02-10 | 上海斐讯数据通信技术有限公司 | 一种基于自动化测试平台的测试用例执行监测方法及系统 |
CN106776350A (zh) * | 2017-02-10 | 2017-05-31 | 腾讯科技(深圳)有限公司 | 一种程序的精准测试方法和装置 |
CN107391378A (zh) * | 2017-07-27 | 2017-11-24 | 郑州云海信息技术有限公司 | 一种测试脚本的生成方法及装置 |
CN109388556A (zh) * | 2017-08-11 | 2019-02-26 | 航天信息股份有限公司 | 一种测试过程的分析方法及装置 |
CN109408366A (zh) * | 2018-09-03 | 2019-03-01 | 平安科技(深圳)有限公司 | 数据源配置测试方法、系统、计算机设备和存储介质 |
CN109614278A (zh) * | 2018-10-16 | 2019-04-12 | 深圳壹账通智能科技有限公司 | 自动化测试过程中问题定位的方法、装置和终端 |
CN109698771A (zh) * | 2018-12-07 | 2019-04-30 | 网易(杭州)网络有限公司 | 游戏服务器压力测试方法及装置 |
CN109857672A (zh) * | 2019-02-22 | 2019-06-07 | 杭州迪普科技股份有限公司 | 一种信息收集方法、装置、设备及存储介质 |
CN110221952A (zh) * | 2019-04-18 | 2019-09-10 | 北京互金新融科技有限公司 | 业务数据的处理方法及装置、业务数据处理系统 |
-
2019
- 2019-11-15 CN CN201911121923.1A patent/CN110895509B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040267485A1 (en) * | 2003-06-30 | 2004-12-30 | Penov Francislav P | Test execution framework for automated software testing |
CN104239208A (zh) * | 2014-09-19 | 2014-12-24 | 福建星海通信科技有限公司 | 一种自动化执行期间异常恢复方法 |
CN105320600A (zh) * | 2015-11-26 | 2016-02-10 | 上海斐讯数据通信技术有限公司 | 一种基于自动化测试平台的测试用例执行监测方法及系统 |
CN106776350A (zh) * | 2017-02-10 | 2017-05-31 | 腾讯科技(深圳)有限公司 | 一种程序的精准测试方法和装置 |
CN107391378A (zh) * | 2017-07-27 | 2017-11-24 | 郑州云海信息技术有限公司 | 一种测试脚本的生成方法及装置 |
CN109388556A (zh) * | 2017-08-11 | 2019-02-26 | 航天信息股份有限公司 | 一种测试过程的分析方法及装置 |
CN109408366A (zh) * | 2018-09-03 | 2019-03-01 | 平安科技(深圳)有限公司 | 数据源配置测试方法、系统、计算机设备和存储介质 |
CN109614278A (zh) * | 2018-10-16 | 2019-04-12 | 深圳壹账通智能科技有限公司 | 自动化测试过程中问题定位的方法、装置和终端 |
CN109698771A (zh) * | 2018-12-07 | 2019-04-30 | 网易(杭州)网络有限公司 | 游戏服务器压力测试方法及装置 |
CN109857672A (zh) * | 2019-02-22 | 2019-06-07 | 杭州迪普科技股份有限公司 | 一种信息收集方法、装置、设备及存储介质 |
CN110221952A (zh) * | 2019-04-18 | 2019-09-10 | 北京互金新融科技有限公司 | 业务数据的处理方法及装置、业务数据处理系统 |
Non-Patent Citations (1)
Title |
---|
韩振斌;苗克坚;: "一种分布式软件自动化测试工具的设计与实现" * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113448827A (zh) * | 2020-03-26 | 2021-09-28 | 北京沃东天骏信息技术有限公司 | 一种测试数据的处理方法和装置 |
CN112306886A (zh) * | 2020-11-11 | 2021-02-02 | 天津汇商共达科技有限责任公司 | 一种脚本调试的方法及装置 |
CN112395158A (zh) * | 2020-11-17 | 2021-02-23 | 北京乐我无限科技有限责任公司 | 一种信息处理方法、装置及计算机可读存储介质 |
CN112380136A (zh) * | 2020-12-03 | 2021-02-19 | 北京联创信安科技股份有限公司 | 数据清理方法、装置、测试设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110895509B (zh) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110895509B (zh) | 一种测试处理方法、装置、电子设备及存储介质 | |
CN108268366B (zh) | 测试用例执行方法及装置 | |
CN106708676B (zh) | 接口测试方法及装置 | |
CN104516812A (zh) | 一种软件测试方法和装置 | |
CN109656827B (zh) | 一种控件树生成方法和终端设备 | |
CN110704328B (zh) | 接口测试方法、装置、电子设备及可读存储介质 | |
CN106649126B (zh) | 一种对应用程序进行测试的方法和装置 | |
CN105630685A (zh) | 程序接口测试方法及装置 | |
CN107329901B (zh) | 数据包抓取方法、终端、服务器和存储介质 | |
CN106502906A (zh) | 一种测试应用程序的方法和装置 | |
CN109753425B (zh) | 弹窗处理方法及装置 | |
CN109739758B (zh) | 测试用例转换方法和装置 | |
CN107783906A (zh) | 测试方法、装置及存储介质 | |
CN106776301B (zh) | 子元素测试方法及装置 | |
CN104809055B (zh) | 一种基于云平台的应用程序测试方法和装置 | |
CN112131093A (zh) | 一种基于混沌测试的测试用例自动生成方法和装置 | |
CN109921960B (zh) | 一种idc机房网络异常测试方法及装置 | |
CN110069407B (zh) | 一种应用程序的功能测试方法和装置 | |
CN115904950A (zh) | 一种测试用例生成方法、装置、设备及存储介质 | |
CN109815349B (zh) | 一种信息获取方法及终端设备 | |
CN112596980A (zh) | ios性能收集方法及装置、移动终端、计算机可读存储介质 | |
CN112084104A (zh) | 一种异常测试方法和装置 | |
CN115480974A (zh) | 设备接口的测试方法、设备、电子设备及存储介质 | |
CN111090570A (zh) | 一种终端屏幕响应时间测量方法、装置及终端设备 | |
CN115509579A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |