CN108804311A - 一种执行测试文件的方法及装置 - Google Patents

一种执行测试文件的方法及装置 Download PDF

Info

Publication number
CN108804311A
CN108804311A CN201810425663.6A CN201810425663A CN108804311A CN 108804311 A CN108804311 A CN 108804311A CN 201810425663 A CN201810425663 A CN 201810425663A CN 108804311 A CN108804311 A CN 108804311A
Authority
CN
China
Prior art keywords
file
test file
test
implementing result
thread
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
Application number
CN201810425663.6A
Other languages
English (en)
Other versions
CN108804311B (zh
Inventor
周源
梁荣荣
贾晓捷
王佳佳
郭铁君
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Weimeng Chuangke Network Technology China Co Ltd
Original Assignee
Weimeng Chuangke Network Technology China Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Weimeng Chuangke Network Technology China Co Ltd filed Critical Weimeng Chuangke Network Technology China Co Ltd
Priority to CN201810425663.6A priority Critical patent/CN108804311B/zh
Publication of CN108804311A publication Critical patent/CN108804311A/zh
Application granted granted Critical
Publication of CN108804311B publication Critical patent/CN108804311B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请涉及软件测试领域,尤其涉及一种执行测试文件的方法及装置,用以缓解现有技术中以并发形式执行测试文件的输出信息可读性差的问题。该方法包括:获取测试文件;为所述测试文件分配主线程;在所述主线程中执行至少部分所述测试文件;基于所述测试文件在用例结果收集器的输出内容生成所述测试文件对应的执行结果文件,所述执行结果文件用于保存所述测试文件的执行结果。本申请提供的技术方案中,测试文件对应于执行结果文件,不同的测试文件对应的执行结果文件不同,当需要读取一个测试文件的执行结果时,只需要读取与测试文件相对应的执行结果文件即可,避免了在线程池中并行执行的测试文件输出混杂的问题。

Description

一种执行测试文件的方法及装置
技术领域
本申请涉及软件测试领域,尤其涉及一种执行测试文件的方法及装置。
背景技术
在软件测试领域中,现有多种用于执行测试文件的测试框架,测试文件也可以称为测试用例、测试任务、执行文件等,具体是指包含有执行代码的文件。在现有的java单元测试开发中,Junit是最通用的一种自动化测试框架,在实际应用中,往往采用并行的方式通过线程池执行测试文件。假设现有测试文件A和测试文件B等待执行,测试文件A被分配至线程池中的线程a执行测试,测试文件B被分配至线程池中的线程b执行测试。即在同一时刻,测试文件A和测试文件B都在执行测试。上述执行测试的过程即是通过并行的方式执行多个测试文件。
在现有技术中,线程池中有多个独立的线程,每个独立的线程能同时执行一个测试文件,当一个线程被分配有多个测试文件时,多个测试文件按照优先级依次执行。在线程池中,不同的线程各自独立执行任务,线程池往往按照不同线程中任务的实际执行情况输出执行结果,假设测试文件A的输出结果依次为A1、A2、A3,测试文件B的输出结果一次为B1、B2、B3。由于测试文件A和测试文件B的内容不同,执行时间不同,线程池输出的结果有可能是交叉的,例如:A1B1A2A3B2B3。由此可见,现有的并行执行测试文件输出的结果往往混杂有多个任务的输出结果,可读性差。当有一个测试文件执行测试时出现错误时,往往需要根据该测试文件的输出结果判断出错的原因并进行调试。但由于多个测试文件并行执行时,输出结果的可读性差,因此,针对出错的测试文件判断出错原因及进行调试均有较大困难。
发明内容
本申请实施例提供一种执行测试文件的方法及装置,用以解决现有技术中并行执行测试文件时,输出结果的可读性差的问题。
本申请实施例采用下述技术方案:
第一方面,本申请实施例提供了一种执行测试文件的方法,包括:
获取测试文件;
为所述测试文件分配主线程;
在所述主线程中执行至少部分所述测试文件;
基于所述测试文件在用例结果收集器的输出内容生成所述测试文件对应的执行结果文件,所述执行结果文件用于保存所述测试文件的执行结果。
第二方面,本申请实施例还提供了一种执行测试文件装置,包括:
获取模块,获取测试文件;
第一分配模块,为所述测试文件分配主线程;
第一执行模块,在所述主线程中执行至少部分所述测试文件;
生成模块,基于所述测试文件在用例结果收集器的输出内容生成所述测试文件对应的执行结果文件,所述执行结果文件用于保存所述测试文件的执行结果。
第三方面,本申请实施例还提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如第一方面所述的方法的步骤。
第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的方法的步骤。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
通过以上技术方案,本申请根据执行的测试文件生成相对应的执行结果文件,该执行结果文件用于保存测试文件的执行结果,测试文件对应于执行结果文件,不同的测试文件对应的执行结果文件不同,当需要读取一个测试文件的执行结果时,只需要读取与测试文件相对应的执行结果文件即可,避免了在线程池中并行执行的测试文件输出混杂的问题,提高输出结果的可读性。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本方案提供的执行测试文件的方法流程图之一;
图2为本方案提供的执行测试文件的方法流程图之二;
图3为本方案提供的执行测试文件的方法流程图之三;
图4为本方案提供的执行测试文件的方法流程图之四;
图5为本方案提供的执行测试文件的装置结构图之一;
图6为本方案提供的执行测试文件的装置结构图之二;
图7为本方案提供的执行测试文件的装置结构图之三;
图8为本方案提供的一种电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。需要说明的是,附图中的编号仅用于说明方法中的步骤,不用于限定执行步骤的顺序,执行步骤的顺序应以说明书中的描述为准。
实施例一
本申请实施例提供一种执行测试文件的方法,如图1所示,该方法包括以下步骤:
步骤11:获取测试文件。
该测试文件也可以称为测试用例,具体可以是一段代码,也可以是包含有代码的文件,通常情况下,该测试文件与测试框架相兼容,例如:当测试框架的核心为Junit核心时,上述测试文件为Junit类型的测试文件。
步骤12:为所述测试文件分配主线程。
测试文件往往需要在一个线程中实现执行,具体的,本方案可以通过执行管理器将线程池中的单个线程作为主线程分配给测试文件。线程池中通常包含有多个单个线程,较优的,可以选择空闲的单个线程或任务量较小的单个线程,以便尽快执行测试文件,合理利用线程池资源。
步骤13:在所述主线程中执行至少部分所述测试文件。
上述测试文件在执行过程中,通常能产生各种执行结果,具体可以包括有执行步骤、执行进程、测试结果等。在线程池中包含有多个单个线程,执行测试文件的单个线程将上述各种执行结果输出至结果收集器,以便由结果收集器进行收集和分析。
步骤14:基于所述测试文件在用例结果收集器的输出内容生成所述测试文件对应的执行结果文件,所述执行结果文件用于保存所述测试文件的执行结果。
上述结果收集器用于收集线程池中多个单个线程输出的执行结果,并根据收集到的执行结果生成执行结果文件,具体的,该执行结果文件可以是独立的文件,每一个执行的测试文件都对应于一个执行结果文件。
本方案可以应用在并发执行测试文件的线程池中,其中,并发是指自动化测试的过程中一个时间段有多个测试用例都处于已启动运行到运行完毕之间的转改,通常情况下上述多个测试用例都是在同一个处理机上运行,但任何一个时刻点上一个线程中只有一个测试用例在运行。线程池是一种多线程处理形式,在处理多个测试文件时,将测试文件添加至线程池中的一个线程中等待执行,若线程中没有正在处理的测试文件,则直接处理新添加的测试文件,若线程中有正在处理的测试文件或等候处理的测试文件,按照添加测试文件的顺序或者测试文件的优先级依次处理。在执行测试文件的过程中,每个线程都可以使用默认的堆栈大小,可以根据默认的优先级运行。
通过以上技术方案,本申请根据执行的测试文件生成相对应的执行结果文件,该执行结果文件用于保存测试文件的执行结果,测试文件对应于执行结果文件,不同的测试文件对应的执行结果文件不同,当需要读取一个测试文件的执行结果时,只需要读取与测试文件相对应的执行结果文件即可,避免了在线程池中并行执行的测试文件输出混杂的问题,提高输出结果的可读性。
实施例二
基于上述实施例,本申请还提供一种执行测试文件的方法,在上述步骤11中,具体包括:
载入所述测试文件,识别所述测试文件的属性;
其中,所述属性包括包名、类名、方法名中的一种或多种。
通常情况下,测试文件通过入口载入,载入的测试文件属性包括包名、类名、方法名中的一种或多种。启动器与入口相连接,用于解析载入的测试文件的属性。
当载入的测试文件仅包含方法名时,识别所述测试文件的属性仅包括该方法名,当载入的测试文件仅包含类名时,识别所述测试文件的属性包括类名及对应该类名的全部方法名,当载入的测试文件仅包含包名时,识别所述测试文件的属性包括包名及对应该包名的全部类名,以及对应该包名的全部类名的全部方法名。当所述测试文件的属性包括包名和类名时,首先判断包名与类名是否相对应,当判断结果为相对应时,识别所述测试文件的属性包括包名和类名,当判断结果为不对应时,可以在生成的执行结果文件中记录该测试文件的包名和类名不对应,识别所述测试文件的属性包括上述包名及与包名对应的类名和方法名、以及上述类名及与类名对应的方法名。
本方案可以识别测试文件的属性,以便随后根据测试文件的属性执行测试文件或为测试文件分配辅助线程,该方案能减少线程中的执行冲突,提高执行测试文件的效率。
基于上述实施例所述的方法,如图2所示,该方法还包括:
步骤15:根据所述测试文件的属性为所述测试文件分配辅助线程。
步骤16:在所述辅助线程中执行至少部分所述测试文件。
本方案在主线程中执行测试文件,根据测试文件的属性,还可以调用辅助线程辅助执行测试文件。具体的例如,当测试文件的属性包含有方法名时,在主线程中执行该测试文件,并根据方法名为该测试文件分配辅助线程,在辅助线程中执行与方法名对应的至少部分测试文件,该辅助线程可以与主线程在同一个线程池内,也可以根据实际情况调用其他线程池中的线程。主线程可以与辅助线程共同执行,也可以根据优先顺序依次执行。
如果线程池中存在空闲线程,则线程池可以将该线程作为辅助线程使用,从而保持线程池中各个线程繁忙,减少线程的闲置时间,增加线程池的吞吐能力。如果线程池中无空闲线程,且需要分配辅助线程时,可以根据实际情况调用新的线程池,将新的线程池中的空闲线程作为辅助线程使用。
本方案步骤15和步骤16可以在步骤11和步骤14之间执行,具体的,可以先为测试文件分配主线程和辅助线程,再在主线程和辅助线程执行上述测试文件,也可以先为测试文件分配主线程并在主线程执行上述测试文件,然后为测试文件分配辅助线程并在辅助线程执行上述测试文件,具体的测试步骤可以根据实际情况进行调整。上述方案能够根据测试文件的属性,通过主线程和辅助线程执行测试文件,而且,主线程和辅助线程可以并发执行,能提高执行测试文件的效率。
上述步骤13,如图3所示,在所述主线程中执行至少部分所述测试文件,具体包括:
步骤131:在所述主线程中对至少部分所述测试文件执行测试。
在主线程中执行的至少部分测试文件可以是测试文件的主干部分,测试文件的主干部分具体可以包括测试文件的基础架构,在执行测试文件的主干部分时,可以调用其它辅助线程辅助执行该测试文件。
步骤132:输出至少部分所述测试文件在测试过程中的状态信息至用例结果收集器。
当测试文件在主线程中执行时,往往会随着执行步骤的推进生成各种状态信息,该状态信息可以包括有执行的步骤顺序、执行进度、每个执行步骤的执行结果、执行是否成功、执行过程中存在的冲突等。上述状态信息能够表现出各个步骤执行中的细节,当执行测试文件不成功或执行结果未达到预期时,可以根据上述状态信息分析每个执行步骤的过程,从而确定待调试的内容,进而能够根据上述状态信息修改完善测试文件。
其中,所述状态信息包括所述测试文件在主线程中执行的状态信息和/或所述测试文件在辅助线程中执行的状态信息。
通常情况下,在主线程中执行的内容是测试文件的主干部分,而在辅助线程中执行的内容是测试文件的分支部分。测试文件在主线程中执行时需要引用辅助线程的执行结果,即在主线程中利用辅助线程中的测试结果,结合测试文件的主干部分执行得到主线程中的状态信息。
当输出至用例结果收集器的状态信息包括测试文件在主线程中执行的状态信息时,通过状态信息可以获得该测试文件的主干部分的执行过程以及相关数据。当状态信息中包含有执行冲突、执行错误等预期之外的信息时,根据状态信息的内容可以分析测试文件主干部分执行过程中是否有错误。
当输出至用例结果收集器的状态信息包括测试文件在辅助线程中执行的状态信息时,通过状态信息可以获得该测试文件分支部分的执行过程及相关数据。较优的,输出至用例结果收集器的状态信息可以同时包括测试文件在主线程以及辅助线程中执行的状态信息。当状态信息中包含有错误信息时,不仅可以分析测试文件主干部分在主线程中执行的步骤、结果等数据,还可以分析测试文件分支部分在辅助线程中执行的步骤、结果等数据。
本方案能实现对测试文件测试过程不同方面的记录,当执行出现错误时,可以根据状态信息对执行的步骤和内容进行分析,从而找出执行错误的原因,可以根据执行错误的原因对执行文件进行修改,进而完善测试文件。
基于上述实施例所述的方法,步骤14,基于所述测试文件在用例结果收集器的输出内容生成所述测试文件对应的执行结果文件,如图4所示,具体包括:
步骤141:生成对应于所述测试文件的执行结果文件。
测试文件在用例结果收集器输出的内容可以包括有测试文件在主线程和/或辅助线程执行的状态信息,在执行结果文件中还可以包括有执行时间、测试文件信息、测试文件的属性等。生成的结果文件可以是一个独立的文件,与测试文件相关联,也可以与测试文件打包在一起形成一个包含有测试文件和执行结果的文件。
步骤142:保存所述测试文件在主线程中的执行结果和/或所述测试文件在辅助线程中的执行结果。
上述生成的执行结果文件中可以包括有测试文件的状态信息,具体可以包括测试文件在主线程执行的状态信息和/或测试文件在辅助线程执行的状态信息。
本方案基于测试文件在用例结果收集器的输出内容生成测试文件对应的执行结果文件,该执行结果文件中记录有测试文件在执行过程中的细节,当执行测试文件出现错误或预期之外的结果时,可以根据与测试文件对应的执行结果文件查找分析原因,从而修改完善测试文件。
基于上述实施例所述的方法,上述步骤14之后,该方法还包括:
判断所述执行结果文件中的输出内容是否满足预设条件,若满足,则输出所述执行结果文件,若不满足,则重新执行所述测试文件。
上述预设条件可以为预设值,也可以为预设的执行结果,通常可以设定为预期之内的输出结果。例如,执行结果文件中的输出内容包括数值“10”,而预设条件是“输出数值>5”,由于数值10满足大于5的条件,因此判断结果为满足。当满足上述预设条件时,输出执行结果文件。相对的,当执行结果文件中的输出内容包括数值“3”,而预设条件是“输出数值>5”,由于数值3不满足大于5的条件,因此判断结果为不满足,此时视为输出结果不符合预期结果,重新执行该测试文件。
在重新执行测试文件时,具体可以由用例结果收集器将测试文件输出至入口,重新载入该测试文件,执行上述步骤11~步骤14。包括获取测试文件,具体可以包括识别所述测试文件的属性,然后根据该属性为测试文件分配主线程执行测试,可以根据所述测试文件的内容调用测试线程辅助测试,随后生成测试文件的执行结果。重新执行测试文件的执行结果可以与首次执行的执行结果合并存储在同一个执行结果文件中,也可以生成两个与测试文件相关联的文件分别存储。本方案能够重新执行出现错误或输出不符合预期的测试文件,能将出错的测试文件与其他执行成功的测试文件分离开,无需执行全部并行执行的测试文件,从而节省测试资源,提高测试效率。
通过以上技术方案,本申请根据执行的测试文件生成相对应的执行结果文件,该执行结果文件用于保存测试文件的执行结果,测试文件对应于执行结果文件,不同的测试文件对应的执行结果文件不同,当需要读取一个测试文件的执行结果时,只需要读取与测试文件相对应的执行结果文件即可,避免了在线程池中并行执行的测试文件输出混杂的问题,提高输出结果的可读性。针对于出现错误的、输出结果超出预期的测试文件,本申请提供的执行结果文件能提供该测试文件的执行过程及与每个步骤执行相关的数据,有利于分析判断出错的原因,从而有助于调试测试文件。
实施例三
本申请提供一种执行测试文件装置50,如图5所示,包括:
获取模块51,获取测试文件;
第一分配模块52,为所述测试文件分配主线程;
第一执行模块53,在所述主线程中执行至少部分所述测试文件;
生成模块54,基于所述测试文件在用例结果收集器的输出内容生成所述测试文件对应的执行结果文件,所述执行结果文件用于保存所述测试文件的执行结果。
本方案中测试文件的执行框架可以采用Java语言的Junit执行框架的执行核心,通过外层封装可以实现对执行时输出的相关结果信息和异常信息的捕获,实现对Junit和Spock的兼容,同时也可以使用groovy语言,利用脚本提高执行效率。执行测试框架可以检查外部系统与系统之间、以及内部各个子系统之间的数据交换,实现数据传递和控制管理,通过测试框架的核心实现测试文件、测试用例的管理、加载和执行。同时,测试框架还可以实现对测试结果的统计和记录,根据测试结果生成日志文件等。
基于上述实施例,当执行框架采用Junit执行框架核心时,还可以添加额外独立的框架用以支持Mocking。
通过以上技术方案,本申请根据执行的测试文件生成相对应的执行结果文件,该执行结果文件用于保存测试文件的执行结果,测试文件对应于执行结果文件,不同的测试文件对应的执行结果文件不同,当需要读取一个测试文件的执行结果时,只需要读取与测试文件相对应的执行结果文件即可,避免了在线程池中并行执行的测试文件输出混杂的问题,提高输出结果的可读性。
上述装置中,如图6所示,还包括:
第二分配模块61,根据所述测试文件的属性为所述测试文件分配辅助线程;
第二执行模块62,在所述辅助线程中执行至少部分所述测试文件。
基于上述装置,所述第一执行模块53,具体用于:
在所述主线程中对至少部分所述测试文件执行测试;
输出至少部分所述测试文件在测试过程中的状态信息至用例结果收集器。
基于上述装置,所述第一执行模块53,具体用于:
生成对应于所述测试文件的执行结果文件;
保存所述测试文件在主线程中的执行结果和/或所述测试文件在辅助线程中的执行结果。
上述装置中还包括:
判断模块,判断所述执行结果文件中的输出内容是否满足预设条件,若满足,则输出所述执行结果文件,若不满足,则返回获取模块51重新执行所述测试文件。
具体的,参见图7,本申请提供的装置可以如图7所示。
测试文件由入口载入,通过启动器识别测试文件的属性,由线程池根据测试文件的属性为测试文件分配主线程,还可以为测试文件分配对应于包名、类名或方法名的辅助线程,主线程与辅助线程均用于执行至少部分测试文件。在线程池中包含有多个单个线程,每个单个线程均可以作为测试文件的主线程或辅助线程,线程池与用例结果收集器相对应,用例结果收集器从线程池中的单个线程中收集执行结果,并根据执行结果生成执行结果文件。当执行结果不符合预期,出现执行失败、执行错误等情况时,由用例结果收集器将出现错误的执行文件重新输出至入口,重新执行测试文件。其中,线程池中可以包括一个或多个单个线程,当线程池中等候执行的测试文件过多时,还可以调用新的线程池辅助执行测试文件,在图中未示出。
通过以上技术方案,本申请根据执行的测试文件生成相对应的执行结果文件,该执行结果文件用于保存测试文件的执行结果,测试文件对应于执行结果文件,不同的测试文件对应的执行结果文件不同,当需要读取一个测试文件的执行结果时,只需要读取与测试文件相对应的执行结果文件即可,避免了在线程池中并行执行的测试文件输出混杂的问题,提高输出结果的可读性。针对于出现错误的、输出结果超出预期的测试文件,本申请提供的执行结果文件能提供该测试文件的执行过程及与每个步骤执行相关的数据,有利于分析判断出错的原因,从而有助于调试测试文件。
需要说明的是,由于装置实施例执行的内容与方法实施例类似,因此,本文对装置实施例部分描述的较为简略,相关之处请参见方法实施例部分。
图8示出了是本申请实施例提供的一种电子设备的结构示意图。请参考图8,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成执行测试文件的装置。处理器,执行存储器所存放的程序,并具体用于执行本申请实施例提供的执行测试文件的方法。
上述如本申请图8所示实施例揭示的执行测试文件的装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行图8所示实施例中执行测试文件的装置执行的方法,并具体用于执行本申请实施例提供的执行测试文件的方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
需要说明的是,本申请中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (12)

1.一种执行测试文件的方法,其特征在于,包括:
获取测试文件;
为所述测试文件分配主线程;
在所述主线程中执行至少部分所述测试文件;
基于所述测试文件在用例结果收集器的输出内容生成所述测试文件对应的执行结果文件,所述执行结果文件用于保存所述测试文件的执行结果。
2.如权利要求1所述的方法,其特征在于,所述获取测试文件,具体包括:
载入所述测试文件,识别所述测试文件的属性;
其中,所述属性包括包名、类名、方法名中的一种或多种。
3.如权利要求2所述的方法,其特征在于,还包括:
根据所述测试文件的属性为所述测试文件分配辅助线程;
在所述辅助线程中执行至少部分所述测试文件。
4.如权利要求3所述的方法,其特征在于,基于所述测试文件在用例结果收集器的输出内容生成所述测试文件对应的执行结果文件,具体包括:
生成对应于所述测试文件的执行结果文件;
保存所述测试文件在主线程中的执行结果和/或所述测试文件在辅助线程中的执行结果。
5.如权利要求3所述的方法,其特征在于,在所述主线程中执行至少部分所述测试文件,具体包括:
在所述主线程中对至少部分所述测试文件执行测试;
输出至少部分所述测试文件在测试过程中的状态信息至用例结果收集器;
其中,所述状态信息包括所述测试文件在主线程中执行的状态信息和/或所述测试文件在辅助线程中执行的状态信息。
6.如权利要求1所述的方法,其特征在于,在基于所述测试文件在用例结果收集器的输出内容生成所述测试文件对应的执行结果文件之后,还包括:
判断所述执行结果文件中的输出内容是否满足预设条件,若满足,则输出所述执行结果文件,若不满足,则重新执行所述测试文件。
7.一种执行测试文件装置,其特征在于,包括:
获取模块,获取测试文件;
第一分配模块,为所述测试文件分配主线程;
第一执行模块,在所述主线程中执行至少部分所述测试文件;
生成模块,基于所述测试文件在用例结果收集器的输出内容生成所述测试文件对应的执行结果文件,所述执行结果文件用于保存所述测试文件的执行结果。
8.如权利要求7所述的装置,其特征在于,所述获取模块,具体用于:
载入所述测试文件,识别所述测试文件的属性;
其中,所述属性包括包名、类名、方法名中的一种或多种。
9.如权利要求8所述的装置,其特征在于,还包括:
第二分配模块,根据所述测试文件的属性为所述测试文件分配辅助线程;
第二执行模块,在所述辅助线程中执行至少部分所述测试文件。
10.如权利要求9所述的装置,其特征在于,第一执行模块,具体用于:
生成对应于所述测试文件的执行结果文件;
保存所述测试文件在主线程中的执行结果和/或所述测试文件在辅助线程中的执行结果。
11.如权利要求9所述的装置,其特征在于,所述第一执行模块,具体用于:
在所述主线程中对至少部分所述测试文件执行测试;
输出至少部分所述测试文件在测试过程中的状态信息至用例结果收集器;
其中,所述状态信息包括所述测试文件在主线程中执行的状态信息和/或所述测试文件在辅助线程中执行的状态信息。
12.如权利要求7所述的装置,其特征在于,还包括:
判断模块,判断所述执行结果文件中的输出内容是否满足预设条件,若满足,则输出所述执行结果文件,若不满足,则返回获取模块重新执行所述测试文件。
CN201810425663.6A 2018-05-07 2018-05-07 一种执行测试文件的方法及装置 Active CN108804311B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810425663.6A CN108804311B (zh) 2018-05-07 2018-05-07 一种执行测试文件的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810425663.6A CN108804311B (zh) 2018-05-07 2018-05-07 一种执行测试文件的方法及装置

Publications (2)

Publication Number Publication Date
CN108804311A true CN108804311A (zh) 2018-11-13
CN108804311B CN108804311B (zh) 2022-06-03

Family

ID=64091093

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810425663.6A Active CN108804311B (zh) 2018-05-07 2018-05-07 一种执行测试文件的方法及装置

Country Status (1)

Country Link
CN (1) CN108804311B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110262967A (zh) * 2019-06-05 2019-09-20 微梦创科网络科技(中国)有限公司 一种应用于自动化测试的日志输出方法与装置

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080189704A1 (en) * 2003-06-19 2008-08-07 Abou-Emara Luai A Method, system, and product for programming in a simultaneous multi-threaded processor environment
US20100070230A1 (en) * 2008-09-16 2010-03-18 Verizon Data Services Llc Integrated testing systems and methods
CN102609352A (zh) * 2011-01-19 2012-07-25 阿里巴巴集团控股有限公司 一种并行测试方法及并行测试服务器
CN103809964A (zh) * 2012-11-05 2014-05-21 辉达公司 用线程组执行顺序代码的系统和方法和包含其的simt处理器
US20150331779A1 (en) * 2014-05-13 2015-11-19 Unisys Corporation Framework to accommodate test plan changes without affecting or interrupting test execution
CN105224450A (zh) * 2014-07-02 2016-01-06 阿里巴巴集团控股有限公司 并发测试方法及装置
CN105786696A (zh) * 2014-12-26 2016-07-20 阿里巴巴集团控股有限公司 一种测试方法及装置
CN107357715A (zh) * 2016-05-09 2017-11-17 中兴通讯股份有限公司 软件测试方法及系统
CN107729234A (zh) * 2017-09-29 2018-02-23 郑州云海信息技术有限公司 测试用例的调度执行方法、装置、设备及计算机存储介质
CN107908569A (zh) * 2017-12-29 2018-04-13 广州品唯软件有限公司 一种wap用户界面测试方法
CN107943708A (zh) * 2017-12-19 2018-04-20 郑州云海信息技术有限公司 一种基于并行执行的web自动化测试方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080189704A1 (en) * 2003-06-19 2008-08-07 Abou-Emara Luai A Method, system, and product for programming in a simultaneous multi-threaded processor environment
US20100070230A1 (en) * 2008-09-16 2010-03-18 Verizon Data Services Llc Integrated testing systems and methods
CN102609352A (zh) * 2011-01-19 2012-07-25 阿里巴巴集团控股有限公司 一种并行测试方法及并行测试服务器
CN103809964A (zh) * 2012-11-05 2014-05-21 辉达公司 用线程组执行顺序代码的系统和方法和包含其的simt处理器
US20150331779A1 (en) * 2014-05-13 2015-11-19 Unisys Corporation Framework to accommodate test plan changes without affecting or interrupting test execution
CN105224450A (zh) * 2014-07-02 2016-01-06 阿里巴巴集团控股有限公司 并发测试方法及装置
CN105786696A (zh) * 2014-12-26 2016-07-20 阿里巴巴集团控股有限公司 一种测试方法及装置
CN107357715A (zh) * 2016-05-09 2017-11-17 中兴通讯股份有限公司 软件测试方法及系统
CN107729234A (zh) * 2017-09-29 2018-02-23 郑州云海信息技术有限公司 测试用例的调度执行方法、装置、设备及计算机存储介质
CN107943708A (zh) * 2017-12-19 2018-04-20 郑州云海信息技术有限公司 一种基于并行执行的web自动化测试方法
CN107908569A (zh) * 2017-12-29 2018-04-13 广州品唯软件有限公司 一种wap用户界面测试方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
石美娟: "基于场景的Web服务组合并行测试生成的研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》, 15 January 2016 (2016-01-15), pages 139 - 82 *
金凯峰 等: "基于Linux平台的单元测试用例执行框架", 《软件》 *
金凯峰 等: "基于Linux平台的单元测试用例执行框架", 《软件》, vol. 34, no. 12, 31 December 2013 (2013-12-31), pages 14 - 17 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110262967A (zh) * 2019-06-05 2019-09-20 微梦创科网络科技(中国)有限公司 一种应用于自动化测试的日志输出方法与装置

Also Published As

Publication number Publication date
CN108804311B (zh) 2022-06-03

Similar Documents

Publication Publication Date Title
CN107122296B (zh) 用于测试接口的数据断言的方法及设备
CN108415832A (zh) 接口自动化测试方法、装置、设备及存储介质
CN111708708A (zh) 一种区间占用逻辑检查功能自动测试方法及装置
CN107526676B (zh) 一种跨系统测试方法及装置
CN107368359A (zh) 一种异步任务执行方法及其存储介质、装置
CN107273195A (zh) 一种大数据的批处理方法、装置及计算机系统
CN109933315A (zh) 一种图形化的业务处理系统和方法
CN111553652B (zh) 业务处理方法及装置
CN102291274A (zh) 一种实现网络测试仪表自动适配的系统及方法
CN109992511B (zh) 获取代码测试覆盖率的装置及方法
CN106293654A (zh) Java编程题目自动评判方法及系统
CN108804311A (zh) 一种执行测试文件的方法及装置
WO2016165461A1 (zh) 一种电信网网管系统软件自动化测试方法和装置
CN109918221A (zh) 一种硬盘报错解析方法、系统、终端及存储介质
CN108647102A (zh) 异构系统的服务请求处理方法、装置和电子设备
CN115617819B (zh) 数据存储方法、系统、计算机设备及存储介质
CN106202374A (zh) 一种数据处理方法及装置
WO2020177495A1 (zh) 一种数据库连接管理方法及装置、设备
CN113360389A (zh) 一种性能测试方法、装置、设备及存储介质
US8205117B2 (en) Migratory hardware diagnostic testing
CN110740062A (zh) 断点续传方法和装置
CN110109830A (zh) 一种软件调试的管理方法、装置、系统及存储介质
CN116170321B (zh) 一种链路追踪的数据收集方法、装置、设备和存储介质
CN113126968B (zh) 任务执行方法、装置、电子设备和存储介质
CN111177097B (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