CN116302914A - 一种软件测试方法、装置、电子设备及存储介质 - Google Patents

一种软件测试方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN116302914A
CN116302914A CN202211093332.XA CN202211093332A CN116302914A CN 116302914 A CN116302914 A CN 116302914A CN 202211093332 A CN202211093332 A CN 202211093332A CN 116302914 A CN116302914 A CN 116302914A
Authority
CN
China
Prior art keywords
test case
test
case
queue
execution result
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
Application number
CN202211093332.XA
Other languages
English (en)
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.)
Coretek Systems Inc
Original Assignee
Coretek Systems Inc
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 Coretek Systems Inc filed Critical Coretek Systems Inc
Priority to CN202211093332.XA priority Critical patent/CN116302914A/zh
Publication of CN116302914A publication Critical patent/CN116302914A/zh
Pending legal-status Critical Current

Links

Images

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/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • 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
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

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

一种软件测试方法、装置、电子设备及存储介质
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种软件测试方法、装置、电子设备及存储介质。
背景技术
在传统的软件测试方法中,需要通过人工方式向目标机依次发送单个测试用例,并手动记载每个测试用例对应的测试结果,整个测试周期较长,无法满足大批量测试用例的测试需求。
其次,在现有的测试过程中,当主机的配置信息(例如版本、操作系统、升级信息以及电气接口等)发生变化,或者目标机的硬件驱动标准和规格发生变化时,为了保证主机能够识别到目标机传输的数据,现有方法中需要开发人员对主机和目标机对应的配置信息进行联调,消耗了大量的人力和时间资源。
发明内容
本发明实施例提供了一种软件测试方法、装置、电子设备及存储介质,可以缩短软件的测试周期,提高软件的测试效率。
第一方面,本发明实施例提供了一种软件测试方法,所述方法包括:
获取预设的测试用例队列,所述测试用例队列中包括多个与目标机匹配的测试用例;
将所述测试用例队列中的各测试用例依次发送至目标机,并获取目标机针对各测试用例得到的用例执行结果;
将各所述测试用例对应的用例执行结果,按照预设的标准数据结构,转换成标准执行结果,并根据各所述标准执行结果,确定与所述目标机对应的目标测试结果。
第二方面,本发明实施例还提供了一种软件测试装置,所述装置包括:
测试用例获取模块,用于获取预设的测试用例队列,所述测试用例队列中包括多个与目标机匹配的测试用例;
测试用例发送模块,用于将所述测试用例队列中的各测试用例依次发送至目标机,并获取目标机针对各测试用例得到的用例执行结果;
测试结果确定模块,用于将各所述测试用例对应的用例执行结果,按照预设的标准数据结构,转换成标准执行结果,并根据各所述标准执行结果,确定与所述目标机对应的目标测试结果。
第三方面,本发明实施例还提供了一种电子设备,该电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器执行本发明任意实施例提供的软件测试方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例提供的软件测试方法。
本发明实施例的技术方案通过获取预设的测试用例队列,将所述测试用例队列中的各测试用例依次发送至目标机,并获取目标机针对各测试用例得到的用例执行结果,将各所述测试用例对应的用例执行结果,按照预设的标准数据结构,转换成标准执行结果,并根据各所述标准执行结果,确定与所述目标机对应的目标测试结果的技术手段,可以缩短软件的测试周期,提高软件的测试效率。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例提供的一种软件测试方法的流程图;
图2是根据本发明实施例提供的另一种软件测试方法的流程图;
图3a是根据本发明实施例提供的另一种软件测试方法的流程图;
图3b是根据本发明实施例提供的一种人机交互界面的示意图;
图3c是根据本发明实施例提供的另一种人机交互界面的示意图;
图3d是根据本发明实施例提供的另一种人机交互界面的示意图;
图3e是根据本发明实施例提供的另一种人机交互界面的示意图;
图4是根据本发明实施例提供的一种软件测试装置的结构示意图;
图5是实现本发明实施例的软件测试方法的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
图1为本发明实施例一提供的一种软件测试方法的流程图,本实施例可适用于对软件进行测试的情况,该方法可以由软件测试装置来执行,该软件测试装置可以采用硬件和/或软件的形式实现,该软件测试装置可配置于电子设备(例如终端或者服务器)中。如图1所示,该方法包括:
步骤110、获取预设的测试用例队列,所述测试用例队列中包括多个与目标机匹配的测试用例。
在本实施例中,所述测试用例可以根据预设的逻辑脚本编辑得到,用于对目标软件进行测试。其中,所述逻辑脚本中预先定义了测试用例编辑模块、用例执行模块、测试用例回放模块、数据生成模块以及脚本执行框架,可选的,测试人员可以根据所述逻辑脚本,对目标软件对应的多个测试用例进行编辑,得到测试用例队列。
在一个具体的实施例中,在对目标软件进行测试之前,测试人员只需根据目标软件的测试需求,在逻辑脚本中填写对应的测试内容,即可得到测试用例,由此可以降低测试人员的技术门槛以及软件的测试难度,提高项目的开发测试效率。
步骤120、将所述测试用例队列中的各测试用例依次发送至目标机,并获取目标机针对各测试用例得到的用例执行结果。
在此步骤中,可以调用预设的接口,将测试用例队列中的各测试用例依次发送至目标机。具体的,所述目标机可以为集成待测软件的计算机设备。目标机获取到各测试用例后,可以对各测试用例依次执行,得到每个测试用例对应的用例执行结果,然后将各用例执行结果反馈至所述电子设备。
这样设置的好处在于,通过获取测试用例队列,并将各测试用例依次发送至目标机,可以实现多个测试用例自动执行,无需通过人工方式手动记载每个测试用例对应的测试结果,由此可以缩短软件的测试周期,提高测试效率。
步骤130、将各所述测试用例对应的用例执行结果,按照预设的标准数据结构,转换成标准执行结果,并根据各所述标准执行结果,确定与所述目标机对应的目标测试结果。
在本实施例中,所述电子设备接收到目标机反馈的用例执行结果后,可以按照预设的标准数据结构,对用例执行结果进行处理(例如增加、删除或替换标识符等),得到便于所述电子设备识别的标准执行结果。
这样设置的好处在于,当电子设备与目标机之间的配置信息不匹配时,无需开发人员对电子设备和目标机对应的配置信息进行联调,由此可以减少人力资源和时间资源的消耗。
在此步骤中,获取到各标准执行结果后,可选的,可以将各标准执行结果,与预期执行结果进行对比,根据对比结果,确定与所述目标机对应的目标测试结果。其中,所述预期执行结果可以为针对每个测试用例,目标机预设的执行结果。
本发明实施例提供的技术方案,通过获取预设的测试用例队列,将所述测试用例队列中的各测试用例依次发送至目标机,并获取目标机针对各测试用例得到的用例执行结果,将各所述测试用例对应的用例执行结果,按照预设的标准数据结构,转换成标准执行结果,并根据各所述标准执行结果,确定与所述目标机对应的目标测试结果的技术手段,可以缩短软件的测试周期,提高软件的测试效率。
在上述实施例的基础上,所述逻辑脚本中预先定义了测试用例整个执行过程中所涉及的执行节点,例如开始节点、结束节点、以及业务逻辑节点等,任意两个节点之间还预先定义了管道算法以及选路算法,由此可以快速确定测试用例的执行走向,从而提高测试效率。
其中,各执行节点用于根据预设的算法逻辑,对测试用例执行过程中的执行结果进行检测。具体的,假设执行结果为A,预期执行结果为B,则可以判断A&B的结果是否为true;或者可以通过check约束条件,对执行结果进行检测,本实施例对此并不进行限制。
图2为本实施例提供的另一种软件测试方法的流程图,在本实施例中,本实施例的技术方案可以与上述实施例的方案中的一种或者多种方法进行组合,如图2所示,本实施例提供的方法还可以包括:
步骤201、获取预设的测试用例队列,所述测试用例队列中包括多个与目标机匹配的测试用例。
步骤202、在所述测试用例队列中依次获取一个测试用例作为当前测试用例。
在本实施例中,获取到测试用例队列后,可以创建数据发送线程,通过数据发送线程对测试用例队列进行轮询,将该队列中的每个测试用例依次发送至目标机。具体的,可以通过数据发送线程,在该队列中依次获取一个测试用例作为当前测试用例。
步骤203、将所述当前测试用例下发至执行器,通过所述执行器将所述当前测试用例发送至目标机。
在此步骤中,可以通过数据发送线程将当前测试用例下发至电子设备中的执行器,由执行器将当前测试用例发送至目标机,以使目标机执行当前测试用例。
步骤204、通过所述执行器检测到目标机完成对当前测试用例的执行后,判断目标机是否完成对全部测试用例的执行,若是,执行步骤205,若否,返回执行步骤202,直至目标机完成对全部测试用例的执行。
在本实施例中,在目标机执行当前测试用例的过程中,可以创建与当前测试用例匹配的观察线程,通过观察线程检测到目标机完成对当前测试用例的执行,并将用例执行结果反馈至执行器后,可以确认当前测试用例执行结束,并删除所述观察线程,继续获取下一测试用例进行处理。
步骤205、通过所述执行器获取目标机针对各测试用例得到的用例执行结果。
在本实施例的一个实施方式中,如果所述测试用例中包括接收消息的操作,通过所述执行器获取目标机针对测试用例得到的用例执行结果,包括:通过所述执行器获取目标机接收到的目标信息;调用预设的钩子函数,通过所述钩子函数对目标消息进行处理,得到消息处理结果,并将所述消息处理结果作为目标机针对测试用例得到的用例执行结果。
在本实施例中,如果测试用例中包括接收消息的操作,目标机执行该测试用例时,可以根据所述操作中指定的消息来源,接收对应的目标消息,并将目标消息反馈至执行器。所述执行器获取到目标消息后,可以通过钩子函数对目标消息进行处理(例如过滤、回调等),得到消息处理结果,并将所述消息处理结果作为与该测试用例对应的用例执行结果。
步骤206、获取与所述测试用例队列匹配的控制文件,所述控制文件中记载了与所述测试用例队列对应的标准数据结构。
在本实施例中,每个待测软件对应一个特定的控制文件,所述控制文件中记载了与待测软件相关的测试用例所对应的标准数据结构。获取到测试用例队列后,可以根据所述测试用例队列对应的待测软件,获取匹配的控制文件。
步骤207、根据各所述测试用例对应的用例执行结果,建立结果解析队列。
在此步骤中,可选的,可以将执行器获取的各用例执行结果,依次添加预设的队列中,得到结果解析队列。
步骤208、根据所述结果解析队列,以及与所述测试用例队列对应的标准数据结构,生成各用例执行结果对应的标准执行结果。
在本实施例的一个实施方式中,获取到结果解析队列后,可以创建数据解析线程,通过数据解析线程对结果解析队列进行轮询,在所述结果解析队列中依次获取一个用例执行结果作为当前用例执行结果,然后将所述当前用例执行结果,按照所述标准数据结构,转换成二进制的标准执行结果,并将所述标准执行结果存储至数据库中,最后判断是否完成对全部用例执行结果的转换,若是,则执行步骤209,若否,则返回执行在结果解析队列中依次获取一个用例执行结果作为当前用例执行结果的操作,直至完成对全部用例执行结果的转换。
在本实施例的另一个实施方式中,根据所述结果解析队列,以及与所述测试用例队列对应的标准数据结构,生成各用例执行结果对应的标准执行结果,包括:通过人机交互界面,将所述结果解析队列以文件夹的形式展示给用户;每个文件夹中包括至少一个文件,每个文件中包括至少一个用例执行结果;响应于用户对目标文件夹或目标文件的触发请求,建立与所述触发请求匹配的文件解析队列,以及数据解析线程;所述文件解析队列中包括与所述触发请求对应的全部用例执行结果;通过所述数据解析线程,对文件解析队列中包括的各用例执行结果进行校验,并在校验通过后,将各用例执行结果按照所述标准数据结构,转换成标准执行结果。
在一个具体的实施例中,对用例执行结果进行处理时,可以将结果解析队列通过人机交互界面展示给用户,以使用户通过人机交互界面对用例执行结果进行处理。其中,用户可以通过人机交互界面选择待处理的文件或文件夹,在检测到用户选择包括用例执行结果的文件或文件夹后,可以根据所述文件或文件夹中的全部用例执行结果建立文件解析队列,并建立导入数据文件队列以及数据解析线程。文件解析队列用于存放待处理的用例执行结果的路径,导入数据文件队列用于存放待处理的标准执行结果的路径。
在本实施例中,可以通过数据解析线程轮询文件解析队列中,用例执行结果的路径来获取用例执行结果,然后根据所述用例执行结果在控制文件中对应的叶子节点,对所述用例执行结果进行校验,在校验通过后将所述用例执行结果转换成二进制的标准执行结果,并将该二进制的标准执行结果存放入导入数据文件队列,以根据所述导入数据文件队列将二进制的标准执行结果存储至数据库中。其中,所述叶子节点中包括了与用例执行结果对应的数据规范。
这样设置的好处在于,通过将结果解析队列展示给用户,可以实现将与用户需求相关的用例执行结果进行解析,由此提升软件测试方法的灵活性。
步骤209、根据各所述标准执行结果,确定与所述目标机对应的目标测试结果。
本发明实施例提供的技术方案,通过获取预设的测试用例队列,在测试用例队列中依次获取一个测试用例作为当前测试用例,将当前测试用例下发至执行器,通过执行器将当前测试用例发送至目标机,所述执行器检测到目标机完成对当前测试用例的执行后,判断目标机是否完成对全部测试用例的执行,若是,则所述执行器获取目标机针对各测试用例得到的用例执行结果,获取与测试用例队列匹配的控制文件,根据各用例执行结果建立结果解析队列,并根据结果解析队列以及与测试用例队列对应的标准数据结构,生成各用例执行结果对应的标准执行结果,根据各标准执行结果确定目标机对应的目标测试结果的技术手段,可以缩短软件的测试周期,提高软件的测试效率。
图3a为本实施例提供的另一种软件测试方法的流程图,在本实施例中,本实施例的技术方案可以与上述实施例的方案中的一种或者多种方法进行组合,如图3a所示,本实施例提供的方法还可以包括:
步骤310、通过人机交互界面接收用户编辑的多个测试用例,根据所述多个测试用例建立测试用例队列。
在本实施例中,对待测软件进行测试之前,可以向用户(也即测试人员)提供用于输入测试用例的人机交互界面,用户可以通过人机交互界面编辑目标机将要执行的测试用例。在检测到用户对测试用例编辑完成后,根据用户编辑的多个测试用例建立测试用例队列。
在一个具体的实施方式中,用户可以通过人机交互界面在线编写测试用例,或者还可以选择预先生成好的测试用例,本实施例对此并不进行限制。
步骤320、将所述测试用例队列中的各测试用例依次发送至目标机,并获取目标机针对各测试用例得到的用例执行结果。
在本实施例中,可选的,在获取目标机针对各测试用例得到的用例执行结果之后,还包括:将各测试用例对应的用例执行结果,通过所述人机交互界面展示给用户,以使用户对各所述用例执行结果进行查看、编辑与导出。
步骤330、将各所述测试用例对应的用例执行结果,按照预设的标准数据结构,转换成标准执行结果。
在本实施例的一个实施方式中,将各所述测试用例对应的用例执行结果,按照预设的标准数据结构,转换成标准执行结果,包括:通过所述人机交互界面接收用户输入的,与目标机对应的目标用例执行结果;将各所述测试用例对应的用例执行结果,以及用户输入的目标用例执行结果,按照预设的标准数据结构,转换成标准执行结果。
在本实施例中,目标机对各测试用例执行后,可以将对应的用例执行结果自动发送至执行器。为了避免执行器接收的用例执行结果发生遗漏,用户也可以通过其他第三方设备接收目标机的用例执行结果(也即目标用例执行结果),并将该目标用例执行结果通过人机交互界面手动输入至电子设备。通过执行器和人机交互界面分别接收到用例执行结果后,可以将全部的用例执行结果转换成二进制的标准执行结果,并将所述标准执行结果存储至数据库中。
在本实施例的一个实施方式中,将用户输入的目标用例执行结果,按照预设的标准数据结构,转换成标准执行结果,包括:将所述控制文件中的标准数据结构,通过人机交互界面展示给用户;响应于用户根据目标用例执行结果,对标准数据结构中各字段输入的目标数据值,将各目标数据值按照预设文件格式进行保存,得到数据文件;对所述数据文件进行解析,并将解析结果按照预设的标准数据结构,转换成标准执行结果。
在一个具体的实施例中,如果电子设备仅通过人机交互界面接收到目标用例执行结果,也即执行器没有接收到目标机反馈的用例执行结果时,可以对控制文件进行解析,得到树状的数据结构(也即标准数据结构),并通过表格展示该标准数据结构,然后由用户通过人机交互界面,根据目标用例执行结果对标准数据结构中的每个字段输入对应的数据值,并将用户输入的数据值保存为xml文件,最后对该xml文件中的数据进行解析,并将解析结果转换为二进制数据,得到标准执行结果。
这样设置的好处在于,通过将标准数据结果展示给用户,可由用户输入对应的目标数据值,可以保证后标准执行结果的准确性,提高软件测试结果的可靠性。
在另一个具体的实施例中,如果电子设备同时接收到用户输入的目标用例执行结果,以及目标机反馈的用例执行结果,则可以采用上述方式将目标用例执行结果转化为对应的标准执行结果,然后通过数据解析模块,根据控制文件中的标准数据结构,将目标机反馈的用例执行结果解析为二进制的标准执行结果。
步骤340、获取与各测试用例匹配的预设执行结果,并在各预设执行结果中获取多个预设字段。
在本实施例中,所述预设执行结果可以为预设的,目标机在正常情况下对测试用例执行后得到的结果。
步骤350、在各所述标准执行结果中获取多个标准字段,将各测试用例对应的标准字段与预设字段进行比对。
在此步骤中,可以从所述数据库中获取二进制的标准执行结果,然后按照控制文件中指定的数据格式,将各所述标准执行结果进行反序列化处理,得到多个结构数据,最后在各结构数据中获取多个标准字段。
在一个具体的实施例中,可以将各测试用例对应的标准字段下的数据值,与预设字段下的数据值进行比对,得到字段比对结果。
步骤360、根据各所述测试用例匹配的字段比对结果,确定与所述目标机对应的目标测试结果。
在此步骤中,可选的,可以根据各测试用例匹配的字段比对结果,确定各测试用例对应的执行成功率,然后将全部测试用例对应的执行成功率进行平均,得到目标机对应的测试成功率,并将该测试成功率作为目标测试结果。
除此之外,所述目标测试结果中还可以包括测试过程中涉及的测试用例的路径信息、测试用例对应的文件信息以及标准执行结果对应的数据库信息。
步骤370、将所述目标机对应的目标测试结果,通过所述人机交互界面展示给用户。
在本实施例中,可以将所述目标机对应的目标测试结果,通过预设接口上传至人机交互界面,以通过人机交互界面将目标测试结果展示给用户,以使用户对所述目标测试结果进行查看、编辑与导出。此外,所述人机交互界面还用于用户对用例执行结果进行筛选、查看、编辑预设执行结果、对测试用例的执行记录进行导出、对目标测试结果进行导出、对控制文件进行升级等。
本发明实施例提供的技术方案,通过人机交互界面接收用户编辑的多个测试用例,根据多个测试用例建立测试用例队列,将测试用例队列中的各测试用例依次发送至目标机,并获取目标机针对各测试用例得到的用例执行结果,将各测试用例对应的用例执行结果,按照预设的标准数据结构,转换成标准执行结果,获取与各测试用例匹配的预设执行结果,并在各预设执行结果中获取多个预设字段,在所述标准执行结果中获取多个标准字段,将各测试用例对应的标准字段与预设字段进行比对,根据各测试用例匹配的字段比对结果,确定所述目标机对应的目标测试结果,根据各测试用例匹配的字段比对结果,确定与目标机对应的目标测试结果的技术手段,可以缩短软件的测试周期,提高软件的测试效率。
在上述实施例的基础上,通过人机交互界面接收用户编辑的多个测试用例,包括:响应于用户对测试用例队列的新建请求,将队列创建界面展示给用户;响应于用户在队列创建界面中输入的队列名称,建立与所述队列名称匹配的测试文件夹;响应于用户对测试用例的新建请求,将测试用例编辑界面展示给用户;响应于用户在测试用例编辑界面中编辑的多个测试用例,将所述多个测试用例存放至测试文件夹中。
具体的,图3b可以为本实施例中的一种人机交互界面的示意图,如图3b所示,当用户想要通过人机交互界面编辑测试用例时,可以从所述界面中选择“新建-测试集”,检测到用户点击“测试集”,也即用户触发测试用例队列的新建请求后,可以将队列创建界面(图3c)展示给用户,以使用户在队列创建界面中输入队列名称(也即图3c中的“测试集名”),在检测到用户对队列名称输入完成后,可以根据该队列名称建立测试文件夹。
用户通过队列创建界面输入队列名称后,如果点击鼠标右键,则可以向用户展示如图3d所示的界面。其中,用户可以在图3d所示的界面中点击“新建”和“测试用例”,以触发测试用例新建请求。在检测到用户触发测试用例新建请求后,可以将测试用例编辑界面(图3e)展示给用户,以使用户在测试用例编辑界面中编辑多个测试用例。检测到用户对测试用例编辑完成之后,可以将所述测试用例存放至测试文件夹中。
在一个具体的实施例中,如图3e所示,所述测试用例编辑界面由两部分组成,左边部分为编辑器界面,右边部分为消息视图界面。编辑器界面由两部分组成,左边部分为消息图元,包括普通消息、周期消息、背景周期消息、时间间隔、注释等,用户可以使用这些图元在左边的编辑器界面中创建出对应的消息图形。消息视图界面为用户展示了整个测试过程中各节点中对应的消息,用户可以通过消息视图界面,选择对应的消息到编辑器界面中,编辑器界面会根据预设规则为用户创建对应的消息对象,如果用户拖拽的消息不符合预设规则,则拒绝创建消息对象。
图4为本发明实施例提供的一种软件测试装置的结构示意图,所述软件测试装置包括:测试用例获取模块410、测试用例发送模块420和测试结果确定模块430。其中,测试用例获取模块410,用于获取预设的测试用例队列,所述测试用例队列中包括多个与目标机匹配的测试用例;测试用例发送模块420,用于将所述测试用例队列中的各测试用例依次发送至目标机,并获取目标机针对各测试用例得到的用例执行结果;测试结果确定模块430,用于将各所述测试用例对应的用例执行结果,按照预设的标准数据结构,转换成标准执行结果,并根据各所述标准执行结果,确定与所述目标机对应的目标测试结果。
本发明实施例提供的技术方案,通过获取预设的测试用例队列,将所述测试用例队列中的各测试用例依次发送至目标机,并获取目标机针对各测试用例得到的用例执行结果,将各所述测试用例对应的用例执行结果,按照预设的标准数据结构,转换成标准执行结果,并根据各所述标准执行结果,确定与所述目标机对应的目标测试结果的技术手段,可以缩短软件的测试周期,提高软件的测试效率。
在上述实施例的基础上,所述测试用例获取模块410包括:
测试用例接收单元,用于通过人机交互界面接收用户编辑的多个测试用例,根据所述多个测试用例建立测试用例队列。
所述测试用例发送模块420包括:
当前用例获取单元,用于在所述测试用例队列中依次获取一个测试用例作为当前测试用例;
当前用例下发单元,用于将所述当前测试用例下发至执行器,通过所述执行器将所述当前测试用例发送至目标机;
全部用例执行单元,用于通过所述执行器检测到目标机完成对当前测试用例的执行后,返回执行在所述测试用例队列中依次获取一个测试用例作为当前测试用例的操作,直至目标机完成对全部测试用例的执行;
执行结果获取单元,用于通过所述执行器获取目标机针对各测试用例得到的用例执行结果;
目标信息接收单元,用于如果所述测试用例中包括接收消息的操作,则通过所述执行器获取目标机接收到的目标信息;
目标信息处理单元,用于调用预设的钩子函数,通过所述钩子函数对目标消息进行处理,得到消息处理结果,并将所述消息处理结果作为目标机针对测试用例得到的用例执行结果;
用例执行结果展示单元,用于将各测试用例对应的用例执行结果,通过所述人机交互界面展示给用户,以使用户对各所述用例执行结果进行查看、编辑与导出。
所述测试结果确定模块430包括:
控制文件获取单元,用于获取与所述测试用例队列匹配的控制文件,所述控制文件中记载了与所述测试用例队列对应的标准数据结构;
解析队列建立单元,用于根据各测试用例对应的用例执行结果,建立结果解析队列;
结果转换单元,用于根据所述结果解析队列,以及与所述测试用例队列对应的标准数据结构,生成各用例执行结果对应的标准执行结果;
队列展示单元,用于通过人机交互界面,将所述结果解析队列以文件夹的形式展示给用户;每个文件夹中包括至少一个文件,每个文件中包括至少一个用例执行结果;
文件队列建立单元,用于响应于用户对目标文件夹或目标文件的触发请求,建立与所述触发请求匹配的文件解析队列,以及数据解析线程;所述文件解析队列中包括与所述触发请求对应的全部用例执行结果;
结果校验单元,用于通过所述数据解析线程,对文件解析队列中包括的各用例执行结果进行校验,并在校验通过后,将各用例执行结果按照所述标准数据结构,转换成标准执行结果;
预设执行结果获取单元,用于获取与各测试用例匹配的预设执行结果,并在各预设执行结果中获取多个预设字段;
字段比对单元,用于在各所述标准执行结果中获取多个标准字段,将各测试用例对应的标准字段与预设字段进行比对;
目标测试结果确定单元,用于根据各所述测试用例匹配的字段比对结果,确定与所述目标机对应的目标测试结果;
测试结果展示单元,用于将所述目标机对应的目标测试结果,通过所述人机交互界面展示给用户,以使用户对所述目标测试结果进行查看、编辑与导出;
执行结果接收单元,用于通过所述人机交互界面接收用户输入的,与目标机对应的目标用例执行结果;
结果转换单元,用于将各所述测试用例对应的用例执行结果,以及用户输入的目标用例执行结果,按照预设的标准数据结构,转换成标准执行结果;
数据结构展示单元,用于将所述控制文件中的标准数据结构,通过人机交互界面展示给用户;
数据值保存单元,用于响应于用户根据目标用例执行结果,对标准数据结构中各字段输入的目标数据值,将各目标数据值按照预设文件格式进行保存,得到数据文件;
数据文件解析单元,用于对所述数据文件进行解析,并将解析结果按照预设的标准数据结构,转换成标准执行结果。
上述装置可执行本发明前述所有实施例所提供的方法,具备执行上述方法相应的功能模块和有益效果。未在本发明实施例中详尽描述的技术细节,可参见本发明前述所有实施例所提供的方法。
图5示出了可以用来实施本发明的实施例的电子设备10的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图5所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如软件测试方法。
在一些实施例中,软件测试方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM 13并由处理器11执行时,可以执行上文描述的软件测试方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行软件测试方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (13)

1.一种软件测试方法,其特征在于,所述方法包括:
获取预设的测试用例队列,所述测试用例队列中包括多个与目标机匹配的测试用例;
将所述测试用例队列中的各测试用例依次发送至目标机,并获取目标机针对各测试用例得到的用例执行结果;
将各所述测试用例对应的用例执行结果,按照预设的标准数据结构,转换成标准执行结果,并根据各所述标准执行结果,确定与所述目标机对应的目标测试结果。
2.根据权利要求1所述的方法,其特征在于,将所述测试用例队列中的各测试用例依次发送至目标机,并获取目标机针对各测试用例得到的用例执行结果,包括:
在所述测试用例队列中依次获取一个测试用例作为当前测试用例;
将所述当前测试用例下发至执行器,通过所述执行器将所述当前测试用例发送至目标机;
通过所述执行器检测到目标机完成对当前测试用例的执行后,返回执行在所述测试用例队列中依次获取一个测试用例作为当前测试用例的操作,直至目标机完成对全部测试用例的执行;
通过所述执行器获取目标机针对各测试用例得到的用例执行结果。
3.根据权利要求1所述的方法,其特征在于,将各所述测试用例对应的用例执行结果,按照预设的标准数据结构,转换成标准执行结果,包括:
获取与所述测试用例队列匹配的控制文件,所述控制文件中记载了与所述测试用例队列对应的标准数据结构;
根据各所述测试用例对应的用例执行结果,建立结果解析队列;
根据所述结果解析队列,以及与所述测试用例队列对应的标准数据结构,生成各用例执行结果对应的标准执行结果。
4.根据权利要求3所述的方法,其特征在于,根据所述结果解析队列,以及与所述测试用例队列对应的标准数据结构,生成各用例执行结果对应的标准执行结果,包括:
通过人机交互界面,将所述结果解析队列以文件夹的形式展示给用户;每个文件夹中包括至少一个文件,每个文件中包括至少一个用例执行结果;
响应于用户对目标文件夹或目标文件的触发请求,建立与所述触发请求匹配的文件解析队列,以及数据解析线程;所述文件解析队列中包括与所述触发请求对应的全部用例执行结果;
通过所述数据解析线程,对文件解析队列中包括的各用例执行结果进行校验,并在校验通过后,将各用例执行结果按照所述标准数据结构,转换成标准执行结果。
5.根据权利要求1所述的方法,其特征在于,根据各所述标准执行结果,确定与所述目标机对应的目标测试结果,包括:
获取与各测试用例匹配的预设执行结果,并在各预设执行结果中获取多个预设字段;
在各所述标准执行结果中获取多个标准字段,将各测试用例对应的标准字段与预设字段进行比对;
根据各所述测试用例匹配的字段比对结果,确定与所述目标机对应的目标测试结果。
6.根据权利要求2所述方法,其特征在于,如果所述测试用例中包括接收消息的操作,通过所述执行器获取目标机针对测试用例得到的用例执行结果,包括:
通过所述执行器获取目标机接收到的目标信息;
调用预设的钩子函数,通过所述钩子函数对目标消息进行处理,得到消息处理结果,并将所述消息处理结果作为目标机针对测试用例得到的用例执行结果。
7.根据权利要求1所述的方法,其特征在于,获取预设的测试用例队列,包括:
通过人机交互界面接收用户编辑的多个测试用例,根据所述多个测试用例建立测试用例队列;
在获取目标机针对各测试用例得到的用例执行结果之后,还包括:
将各测试用例对应的用例执行结果,通过所述人机交互界面展示给用户,以使用户对各所述用例执行结果进行查看、编辑与导出;
在根据各所述标准执行结果,确定与所述目标机对应的目标测试结果之后,还包括:
将所述目标机对应的目标测试结果,通过所述人机交互界面展示给用户,以使用户对所述目标测试结果进行查看、编辑与导出。
8.根据权利要求7所述的方法,其特征在于,通过人机交互界面接收用户编辑的多个测试用例,包括:
响应于用户对测试用例队列的新建请求,将队列创建界面展示给用户;
响应于用户在队列创建界面中输入的队列名称,建立与所述队列名称匹配的测试文件夹;
响应于用户对测试用例的新建请求,将测试用例编辑界面展示给用户;
响应于用户在测试用例编辑界面中编辑的多个测试用例,将所述多个测试用例存放至测试文件夹中。
9.根据权利要求3所述的方法,其特征在于,将各所述测试用例对应的用例执行结果,按照预设的标准数据结构,转换成标准执行结果,包括:
通过人机交互界面接收用户输入的,与目标机对应的目标用例执行结果;
将各所述测试用例对应的用例执行结果,以及用户输入的目标用例执行结果,按照预设的标准数据结构,转换成标准执行结果。
10.根据权利要求9所述的方法,其特征在于,将用户输入的目标用例执行结果,按照预设的标准数据结构,转换成标准执行结果,包括:
将所述控制文件中的标准数据结构,通过人机交互界面展示给用户;
响应于用户根据目标用例执行结果,对标准数据结构中各字段输入的目标数据值,将各目标数据值按照预设文件格式进行保存,得到数据文件;
对所述数据文件进行解析,并将解析结果按照预设的标准数据结构,转换成标准执行结果。
11.一种软件测试装置,其特征在于,所述装置包括:
测试用例获取模块,用于获取预设的测试用例队列,所述测试用例队列中包括多个与目标机匹配的测试用例;
测试用例发送模块,用于将所述测试用例队列中的各测试用例依次发送至目标机,并获取目标机针对各测试用例得到的用例执行结果;
测试结果确定模块,用于将各所述测试用例对应的用例执行结果,按照预设的标准数据结构,转换成标准执行结果,并根据各所述标准执行结果,确定与所述目标机对应的目标测试结果。
12.一种电子设备,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器执行所述程序时实现如权利要求1-10中任一所述的软件测试方法。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-10中任一所述的软件测试方法。
CN202211093332.XA 2022-09-08 2022-09-08 一种软件测试方法、装置、电子设备及存储介质 Pending CN116302914A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211093332.XA CN116302914A (zh) 2022-09-08 2022-09-08 一种软件测试方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211093332.XA CN116302914A (zh) 2022-09-08 2022-09-08 一种软件测试方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN116302914A true CN116302914A (zh) 2023-06-23

Family

ID=86813692

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211093332.XA Pending CN116302914A (zh) 2022-09-08 2022-09-08 一种软件测试方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN116302914A (zh)

Similar Documents

Publication Publication Date Title
WO2019085079A1 (zh) 接口测试方法、装置、计算机设备和存储介质
WO2018184361A1 (zh) 应用程序测试方法、服务器、终端和存储介质
CN108628748B (zh) 自动化测试管理方法和自动化测试管理系统
CN113900958A (zh) 测试用例脚本的生成方法、系统、介质及电子设备
CN112631919A (zh) 一种对比测试方法、装置、计算机设备及存储介质
CN113434396A (zh) 接口测试方法、装置、设备、存储介质及程序产品
CN115757014A (zh) 一种功耗测试方法及装置
CN114389969A (zh) 客户端的测试方法、装置、电子设备和存储介质
CN115017047A (zh) 基于b/s架构的测试方法、系统、设备及介质
CN116126719A (zh) 接口测试方法、装置、电子设备及存储介质
CN116302914A (zh) 一种软件测试方法、装置、电子设备及存储介质
CN116303013A (zh) 源码分析方法、装置、电子设备及存储介质
CN114706610A (zh) 一种业务流程图生成方法、装置、设备及存储介质
CN111401020A (zh) 一种界面加载方法、系统和计算设备
CN113836291B (zh) 数据处理方法、装置、设备和存储介质
CN113836016B (zh) 写接口存储质量测试方法、系统、电子设备及存储介质
CN116306400B (zh) 一种集成电路验证方法、系统、装置、设备及介质
CN117056222A (zh) 接口测试文件生成方法、装置、电子设备及存储介质
CN115268880A (zh) 一种代码生成方法、装置、电子设备及存储介质
CN117931155A (zh) 一种代码生成方法、装置、设备及介质
CN117472774A (zh) 界面测试方法、装置、电子设备和存储介质
CN116257452A (zh) 窗体应用的测试方法、装置、电子设备和存储介质
CN114968693A (zh) 一种性能测试方法和装置
CN117560305A (zh) 一种基于jmeter的云服务功能自动化预警方法
CN114579438A (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