CN117573533A - 测试用例设计方法、装置、电子设备及存储介质 - Google Patents

测试用例设计方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN117573533A
CN117573533A CN202311552475.7A CN202311552475A CN117573533A CN 117573533 A CN117573533 A CN 117573533A CN 202311552475 A CN202311552475 A CN 202311552475A CN 117573533 A CN117573533 A CN 117573533A
Authority
CN
China
Prior art keywords
test case
input data
test
association relationship
sequence
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
CN202311552475.7A
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.)
Beijing Tasson Science and Technology Co Ltd
Original Assignee
Beijing Tasson Science and Technology 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 Beijing Tasson Science and Technology Co Ltd filed Critical Beijing Tasson Science and Technology Co Ltd
Priority to CN202311552475.7A priority Critical patent/CN117573533A/zh
Publication of CN117573533A publication Critical patent/CN117573533A/zh
Pending legal-status Critical Current

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/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/3668Software testing
    • G06F11/3696Methods or tools to render software testable
    • 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)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明涉及软件测试技术领域,提供一种测试用例设计方法、装置、电子设备及存储介质,该方法首先确定功能模块的测试用例集合以及测试用例集合中各测试用例的输入数据;然后若测试用例集合中存在测试用例序列,测试用例序列中每相邻两个测试用例的输入数据具有关联关系,则基于关联关系,将测试用例序列中各测试用例的输入数据按顺序进行合并,得到目标测试用例。该方法可以将测试用例序列中各测试用例合并为一个新的测试用例,即目标测试用例。如此在保证各测试用例功能的情况下,大大减少测试用例的数量,使合并后的目标测试用例的执行效率相比于合并前各测试用例单个执行的效率大大提高,进而缩短了测试周期。

Description

测试用例设计方法、装置、电子设备及存储介质
技术领域
本发明涉及软件测试技术领域,尤其涉及一种测试用例设计方法、装置、电子设备及存储介质。
背景技术
测试是产品或系统整个生命周期中的必要一环,而测试用例的设计与执行是整个测试工作的最基本、最关键的难点任务之一。对于复杂的系统来说,设计大量的测试用例是一项极度耗时的工作。测试用例(Test Case)是针对软件系统或应用程序中某个特定功能或场景的一组输入数据和预期输出数据。设计测试用例的目的是验证该功能或场景在各种条件下的行为是否符合预期。
现有的软件开发过程中,通常为每个功能点设计一个或多个测试用例,并通过依次执行各测试用例对功能点进行验证,以确保其在实际应用中的稳定性和可靠性。然而,由于对一个功能模块进行测试时需要设计并执行大量测试用例。这种测试用例设计和执行方法会使测试周期过长,进而影响整个产品开发的进度。若直接对测试周期进行缩短势必影响测试质量,从而影响测试对产品质量保障的有效性。
因此,如何通过提高测试用例执行效率的方式缩短测试周期是测试人员亟待解决的问题。
发明内容
本发明提供一种测试用例设计方法、装置、电子设备及存储介质,用以解决现有技术中存在的缺陷。
本发明提供一种测试用例设计方法,包括:
确定功能模块的测试用例集合以及所述测试用例集合中各测试用例的输入数据;
若所述测试用例集合中存在测试用例序列,所述测试用例序列中每相邻两个测试用例的输入数据具有关联关系,则基于所述关联关系,将所述测试用例序列中各测试用例的输入数据按顺序进行合并,得到目标测试用例;
其中,所述关联关系包括直接关联关系和/或间接关联关系,所述间接关联关系基于新增测试用例的输入数据进行建立,所述新增测试用例为所述功能模块的无效测试用例。
根据本发明提供的一种测试用例设计方法,所述基于所述关联关系,将所述测试用例序列中各测试用例的输入数据按顺序进行合并,得到目标测试用例,包括:
对于所述测试用例序列中输入数据具有所述直接关联关系且相邻的第一测试用例和第二测试用例,将所述第一测试用例与所述第二测试用例的输入数据进行合并;
对于所述测试用例序列中输入数据具有所述间接关联关系且相邻的第三测试用例和第四测试用例,将所述第三测试用例、所述第四测试用例以及所述新增测试用例的输入数据进行合并。
根据本发明提供的一种测试用例设计方法,所述第一测试用例和第二测试用例之间的直接关联关系为所述第一测试用例与所述第二测试用例的输入数据中存在相同内容;
相应地,所述将所述第一测试用例与所述第二测试用例的输入数据进行合并,具体包括:
将所述第一测试用例与所述第二测试用例的输入数据中的相同内容去重,得到去重后所述第一测试用例与所述第二测试用例的输入数据的并集。
根据本发明提供的一种测试用例设计方法,所述基于所述关联关系,将所述测试用例序列中各测试用例的输入数据按顺序进行合并,得到目标测试用例,之后包括:
基于所述目标测试用例以及所述测试用例集合中输入数据不具有关联关系的测试用例,运行所述功能模块的仿真环境,得到所述功能模块的测试结果;
其中,所述仿真环境基于将所述功能模块的输入数据以及预期输出数据导入Testbench程序文件,并在所述Testbench程序文件中实例化所述功能模块得到。
根据本发明提供的一种测试用例设计方法,所述功能模块具有多通道的数据帧的冗余处理功能,各通道的数据帧的内容基于相同连线法进行标识,所述关联关系基于所述各通道的数据帧对应的标识结果确定。
根据本发明提供的一种测试用例设计方法,所述各通道的数据帧均携带有配置信息,所述配置信息包括正常状态和异常状态,所述测试用例集合中各测试用例的输入数据基于所述各通道的数据帧的内容和状态的不同组合确定。
根据本发明提供的一种测试用例设计方法,所述预期输出数据包括所述各通道的数据帧的地址以及预期通道标识,所述测试结果包括所述功能模块选择的目标通道与预期通道之间的一致性。
本发明还提供一种测试用例设计装置,包括:
确定模块,用于确定功能模块的测试用例集合以及所述测试用例集合中各测试用例的输入数据;
合并模块,用于若所述测试用例集合中存在测试用例序列,所述测试用例序列中每相邻两个测试用例的输入数据具有关联关系,则基于所述关联关系,将所述测试用例序列中各测试用例的输入数据按顺序进行合并,得到目标测试用例;
其中,所述关联关系包括直接关联关系和/或间接关联关系,所述间接关联关系基于新增测试用例的输入数据进行建立,所述新增测试用例为所述功能模块的无效测试用例。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一种所述的测试用例设计方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述的测试用例设计方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述的测试用例设计方法。
本发明提供的测试用例设计方法、装置、电子设备及存储介质,该方法首先确定功能模块的测试用例集合以及测试用例集合中各测试用例的输入数据;然后若测试用例集合中存在测试用例序列,测试用例序列中每相邻两个测试用例的输入数据具有关联关系,则基于关联关系,将测试用例序列中各测试用例的输入数据按顺序进行合并,得到目标测试用例。关联关系包括直接关联关系或间接关联关系,间接关联关系基于新增测试用例的输入数据进行建立,新增测试用例为功能模块的无效测试用例。该方法可以将测试用例序列中各测试用例合并为一个新的测试用例,即目标测试用例。如此在保证各测试用例功能的情况下,大大减少测试用例的数量,使合并后的目标测试用例的执行效率相比于合并前各测试用例单个执行的效率大大提高,进而缩短了测试周期。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的测试用例设计方法的流程示意图;
图2是本发明提供的测试用例设计方法中功能模块的输入数据的示意图;
图3是本发明提供的测试用例设计装置的结构示意图;
图4是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书中的术语“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
由于在测试时需执行大量测试用例,导致测试周期较长,因此如何通过提高测试用例执行效率的方式缩短测试周期是测试人员亟待解决的问题。
在工程实践中曾通过考虑测试用例执行顺序提高效率,例如先开展正常测试,再开展异常用例测试,这样避免影响异常用例的有效性。但这样提高的效率并不是很明显,特别是一个大项目的测试用例能够达到几千个,这样的效率提高几乎微乎其微。
基于此,本发明实施例中提供了一种测试用例设计方法。
图1为本发明实施例中提供的一种测试用例设计方法的流程示意图,如图1所示,该测试用例设计方法包括:
S1,确定功能模块的测试用例集合以及所述测试用例集合中各测试用例的输入数据;
S2,若所述测试用例集合中存在测试用例序列,所述测试用例序列中每相邻两个测试用例的输入数据具有关联关系,则基于所述关联关系,将所述测试用例序列中各测试用例的输入数据按顺序进行合并,得到目标测试用例;
其中,所述关联关系包括直接关联关系和/或间接关联关系,所述间接关联关系基于新增测试用例的输入数据进行建立,所述新增测试用例为所述功能模块的无效测试用例。
具体地,本发明实施例中提供的测试用例设计方法,其旨在设计出可以提高执行效率的测试用例,进而缩短测试周期。
首先,执行步骤S1,确定出功能模块的测试用例集合以及测试用例集合中各测试用例的输入数据。该功能模块是指需要测试其功能是否正常的模块。测试用例集合包含有多个测试用例,各测试用例可以针对功能模块的具体功能,通过常规设计方法设计得到的有效测试用例。每个测试用例均包括针对功能模块的一组输入数据、预期输出数据以及执行步骤等。各测试用例的输入数据可以根据功能模块的具体功能确定,此处不作具体限定。
然后,执行步骤S2,判断测试用例集合中任意两个测试用例的输入数据之间是否具有关联关系。该关联关系可以是直接关联关系,也可以是间接关联关系,由功能模块的具体功能决定。
直接关联关系是指两个输入数据之间的关联关系是显性的,两个输入数据可以直接关联起来,关联内容可以包括两个输入数据存在相同内容、可串联等。
间接关联关系是指两个输入数据之间的关联关系是隐形的,两个输入数据之间不能直接关联起来,需要额外引入测试用例集合之外的新增测试用例的输入数据才能共同建立显性的直接关联关系。此处,新增测试用例可以是功能模块的无效测试用例,即该新增测试用例的引入,并不会影响功能模块的正常测试。
例如两个输入数据不存在相同内容,但是存在一个新增测试用例,这两个输入数据分别与新增测试用例的输入数据存在相同内容,因此这两个输入数据之间存在间接关联关系,这两个输入数据分别与新增测试用例的输入数据之间存在直接关联关系。
又例如两个输入数据之间并不能串联,但是可以通过一个新增测试用例的输入数据建立连接,实现三个输入数据的串联,由此前两个输入数据之间存在间接关联关系,这两个输入数据分别与新增测试用例的输入数据之间存在直接关联关系。
进而,若测试用例集合中存在测试用例序列,该测试用例序列中每相邻两个测试用例的输入数据具有关联关系,则可以利用该关联关系,将测试用例序列中各测试用例的输入数据按顺序进行合并。该测试用例序列中至少包括两个测试用例,该测试用例序列中各测试用例按相邻两个测试用例的输入数据具有关联关系进行排序的,即该测试用例序列中每相邻两个测试用例的输入数据均具有关联关系。
若测试用例序列中包括n(n≥2)个测试用例,按顺序进行合并是指:先根据测试用例序列中的第一个测试用例与第二个测试用例的输入数据的关联关系,对二者进行合并,得到一个新的输入数据,由于该合并过程并不会影响第二个测试用例与第三个测试用例的输入数据之间的关联关系,由此可以继续根据第二个测试用例与第三个测试用例的输入数据之间的关联关系,将该新的输入数据与第三个测试用例的输入数据进行合并,得到一个新的输入数据。
迭代上述过程,直至利用第n-1个测试用例与第n个测试用例的输入数据的关联关系,对前n-1个测试用例的输入数据合并得到的输入数据与第n个测试用例的输入数据进行合并,得到新的输入数据,合并过程结束。此时,得到目标测试用例,该目标测试用例的输入数据是合并过程结束时最终得到的输入数据,目标测试用例的预期输出数据则为测试用例序列中所有测试用例的预期输出数据的合集。
其中,每两个输入数据合并的方式可以根据对应的关联关系的关联内容进行选择,此处不作具体限定。
若直接关联关系的关联内容是两个测试用例的输入数据之间存在相同内容,则可以通过将相同内容进行去重的方式将两个输入数据进行合并,得到一个新的输入数据。
若直接关联关系的关联内容是两个输入数据之间可串联,则可以通过串联的方式将两个输入数据进行合并,得到一个新的输入数据。
可以理解的是,测试用例集合中可以包括多个测试用例序列,每个测试用例序列中的各测试用例的输入数据均可以合并得到一个目标测试用例,最终得到的测试用例的数量等于测试用例集合中不具有关联关系的测试用例的数量与目标测试用例的数量之和,相比于测试用例集合中的原有测试用例的数量,可以得到大大降低。
本发明实施例中提供的测试用例设计方法,首先确定功能模块的测试用例集合以及测试用例集合中各测试用例的输入数据;然后若测试用例集合中存在测试用例序列,测试用例序列中每相邻两个测试用例的输入数据具有关联关系,则基于关联关系,将测试用例序列中各测试用例的输入数据按顺序进行合并,得到目标测试用例。关联关系包括直接关联关系或间接关联关系,间接关联关系基于新增测试用例的输入数据进行建立,新增测试用例为功能模块的无效测试用例。该方法可以将测试用例序列中各测试用例合并为一个新的测试用例,即目标测试用例。如此在保证各测试用例功能的情况下,大大减少测试用例的数量,使合并后的目标测试用例的执行效率相比于合并前各测试用例单个执行的效率大大提高,进而缩短了测试周期。
在上述实施例的基础上,本发明实施例中提供的测试用例设计方法,所述基于所述关联关系,将所述测试用例序列中各测试用例的输入数据按顺序进行合并,得到目标测试用例,包括:
对于所述测试用例序列中输入数据具有所述直接关联关系且相邻的第一测试用例和第二测试用例,将所述第一测试用例与所述第二测试用例的输入数据进行合并;
对于所述测试用例序列中输入数据具有所述间接关联关系且相邻的第三测试用例和第四测试用例,将所述第三测试用例、所述第四测试用例以及所述新增测试用例的输入数据进行合并。
具体地,对于测试用例序列中输入数据具有直接关联关系且相邻的第一测试用例和第二测试用例,可以直接将第一测试用例与第二测试用例的输入数据进行合并,例如可以通过去重或串联的方式进行合并得到一个新的输入数据。
对于测试用例序列中输入数据具有间接关联关系且相邻的第三测试用例和第四测试用例,由于间接关联关系需要引入新增测试用例,该新增测试用例与第三测试用例和第四测试用例可以分别形成直接关联关系,进而可以将第三测试用例、新增测试用例以及第四测试用例的输入数据进行合并,得到一个新的输入数据。例如可以先将第三测试用例与新增测试用例的输入数据进行合并、然后将合并得到的输入数据与第四测试用例的输入数据进行合并,得到一个新的输入数据。
本发明实施例中,对于具有直接关联关系的测试用例的输入数据可以直接进行合并,否则需要引入新增测试用例的输入数据进行合并,可以降低合并难度,提高合并率,可以进一步提升测试用例的执行效率。
在上述实施例的基础上,本发明实施例中提供的测试用例设计方法,所述第一测试用例和第二测试用例之间的直接关联关系为所述第一测试用例与所述第二测试用例的输入数据中存在相同内容;
相应地,所述将所述第一测试用例与所述第二测试用例的输入数据进行合并,具体包括:
将所述第一测试用例与所述第二测试用例的输入数据中的相同内容去重,得到去重后所述第一测试用例与所述第二测试用例的输入数据的并集。
具体地,本发明实施例中,在直接关联关系的关联内容是两个输入数据具有相同内容时,可以直接通过对两个输入数据去重的方式进行合并,不仅可以减少输入数据的数据量,还可以实现快速合并。
在上述实施例的基础上,本发明实施例中提供的测试用例设计方法,所述基于所述关联关系,将所述测试用例序列中各测试用例的输入数据按顺序进行合并,得到目标测试用例,之后包括:
基于所述目标测试用例以及所述测试用例集合中输入数据不具有关联关系的测试用例,运行所述功能模块的仿真环境,得到所述功能模块的测试结果;
其中,所述仿真环境基于将所述功能模块的输入数据以及预期输出数据导入Testbench程序文件,并在所述Testbench程序文件中实例化所述功能模块得到。
具体地,在确定了测试用例集合对应的所有目标测试用例之后,功能模块的测试用例包括各目标测试用例以及测试用例集合中输入数据不具有关联关系的测试用例。此后,可以利用二者对功能模块的功能进行仿真测试。
在对功能模块的功能进行仿真测试时,可以先根据功能模块的业务流程和信号时序等要求编写Testbench程序文件,将目标测试用例以及测试用例集合中输入数据不具有关联关系的测试用例以文件读取的方式导入Testbench程序文件,并在Testbench文件中,实例化功能模块,将功能模块连接到输入数据对应的输入端口和预期输出数据对应的输出端口,创建仿真环境。
此后,利用各目标测试用例以及测试用例集合中输入数据不具有关联关系的测试用例,运行仿真环境,得到功能模块的测试结果。该测试结果可以用于表征功能模块的功能是否正常。
本发明实施例中,将各目标测试用例结合测试用例集合中输入数据不具有关联关系的测试用例,共同作为功能模块的测试用例用以对功能模块进行功能测试,相比于直接利用测试用例集合中的各测试用例,可以大大降低测试用例的执行次数,提高测试用例的执行效率,进而可以提升测试效率,缩短测试周期。
在上述实施例的基础上,本发明实施例中提供的测试用例设计方法,所述功能模块具有多通道的数据帧的冗余处理功能,各通道的数据帧的内容基于相同连线法进行标识,所述关联关系基于所述各通道的数据帧对应的标识结果确定。
具体地,本发明实施例中采用的功能模块可以具有多通道的数据帧的冗余处理功能,即需要对功能模块的多通道的数据帧的冗余处理功能进行测试。
此处,多通道可以包括至少两个通道,以两个通道为例,如图2所示,该功能模块的输入数据可以有两个通道,分别为A通道和B通道,每个通道均以数据帧的形式向功能模块传输数据。例如A通道和B通道均按时间顺序传输数据帧a、数据帧b、…、数据帧n。
功能模块的两个通道的数据帧的冗余处理功能,其原则是:两个通道的数据均正常且内容相同时选取其中一个通道的数据、两个通道的数据均正常且内容不相同时两个通道的数据均进行选取、只有一个通道的数据正常时选取该通道的数据、两个通道的数据均不正常时默认选择其中一条预设通道的数据。
在此情况下,各通道的数据帧的内容可以通过相同连线法进行标识,该相同连线法是指:对于不同通道的数据帧,同一时刻的两帧内容相同则连线,两帧内容不同则不连线;对于同一通道的前后两帧,内容相同则连线,内容不同则不连线。
例如,对于A通道和B通道而言,相同连线法可以通过表1进行表示:
表1相同连线法
进而,两个通道的数据帧共有如表2中的15种冗余情况:
表2两个通道的数据帧的冗余情况
表2中的15种情况,可以是在不考虑数据帧的状态是否正常,仅考虑冗余情况的所有可能的15种测试用例,由对应的标识可以看出,可以按顺序构成一个测试用例序列,其中每相邻两个测试用例的输入数据均具有直接关联关系,该直接关联关系为输入存在相同内容。该测试用例序列中各测试用例的输入数据按顺序进行合并可以得到一个目标测试用例。
上述15种测试用例中存在实际上不可能发生的无效测试用例,即两通道的前一数据帧与当前数据帧内容相同,如表3所示。
表3无效测试用例
由此序号7的测试用例和序号9的测试用例的输入数据为间接关联关系,二者通过序号8的无效测试用例建立直接关联关系。由于序号8的无效测试用例也不会出现在测试用例集合中,因此相对于测试用例集合或测试用例序列来说是新增测试用例。
由于在设计功能模块的测试用例时,需要根据功能模块的输入数据设计测试用例的输入数据,因此通过相同连线法对功能模块的各通道的数据帧的内容进行标识,可以快速识别出功能模块的各测试用例的输入数据之间是否具有关联关系。
在上述实施例的基础上,本发明实施例中提供的测试用例设计方法,所述各通道的数据帧均携带有配置信息,所述配置信息包括正常状态和异常状态,所述测试用例集合中各测试用例的输入数据基于所述各通道的数据帧的内容和状态的不同组合确定。
具体地,每个通道的数据帧均携带有配置信息(PKG),该配置信息用于表征该数据帧是否处于正常状态。因此,配置信息可以包括正常状态和异常状态。进而,针对多通道的前一数据帧和当前数据帧共4种状态,每种冗余情况对应的测试用例为42=16,那么15种冗余情况对应的测试用例共为16*15=240个。即通过各通道的数据帧的内容和状态的不同组合的方式可得到功能模块的共有240个测试用例,其中包含无效测试用例。去除其中的无效测试用例得到测试用例集合。
进而,由于两个通道的前一数据帧和当前数据帧在不考虑状态的情况下可以有15种冗余情况,并可以合并成一个目标测试用例,则在考虑状态的情况下共可以合并形成16个目标测试用例,测试用例集合中不存在输入数据不具有关联关系的测试用例。相比于240个测试用例而言,其执行效率可以提升90%左右。
在上述实施例的基础上,本发明实施例中提供的测试用例设计方法,所述预期输出数据包括所述各通道的数据帧的地址以及预期通道标识,所述测试结果包括所述功能模块选择的目标通道与预期通道之间的一致性。
具体地,预期输出数据包括所述各通道的数据帧的地址以及预期通道标识,如表4所示。
表4预期输出数据结构
其中,数据帧的地址是指每个数据帧的第一个单元数据,本发明实施例中以8字节为一个单元。预期通道标识是指预期通道的标识,可以包括0、1、2、3,当预期通道标识为0时表示A、B通道的数据帧均未被选择,1表示选择A通道的数据帧,2表示选择B通道的数据帧,3表示选择A、B通道的数据帧。
测试结果包括功能模块选择的目标通道与预期通道之间的一致性。该一致性可以通过一个顶层变量result_err_flag进行表征,顶层变量result_err_flag取值为0表示目标通道与预期通道一致,顶层变量result_err_flag取值为1表示目标通道与预期通道不一致。
可以理解的是,本发明实施例中可以采用断言验证思路确定测试结果。
如图3所示,在上述实施例的基础上,本发明实施例中提供了一种测试用例设计装置,包括:
确定模块31,用于确定功能模块的测试用例集合以及所述测试用例集合中各测试用例的输入数据;
合并模块32,用于若所述测试用例集合中存在测试用例序列,所述测试用例序列中每相邻两个测试用例的输入数据具有关联关系,则基于所述关联关系,将所述测试用例序列中各测试用例的输入数据按顺序进行合并,得到目标测试用例;
其中,所述关联关系包括直接关联关系和/或间接关联关系,所述间接关联关系基于新增测试用例的输入数据进行建立,所述新增测试用例为所述功能模块的无效测试用例。
在上述实施例的基础上,本发明实施例中提供的测试用例设计装置,所述合并模块,具体用于:
对于所述测试用例序列中输入数据具有所述直接关联关系且相邻的第一测试用例和第二测试用例,将所述第一测试用例与所述第二测试用例的输入数据进行合并;
对于所述测试用例序列中输入数据具有所述间接关联关系且相邻的第三测试用例和第四测试用例,将所述第三测试用例、所述第四测试用例以及所述新增测试用例的输入数据进行合并。
在上述实施例的基础上,本发明实施例中提供的测试用例设计装置,所述第一测试用例和第二测试用例之间的直接关联关系为所述第一测试用例与所述第二测试用例的输入数据中存在相同内容;
相应地,所述合并模块,还具体用于:
将所述第一测试用例与所述第二测试用例的输入数据中的相同内容去重,得到去重后所述第一测试用例与所述第二测试用例的输入数据的并集。
在上述实施例的基础上,本发明实施例中提供的测试用例设计装置,还包括应用测试模块,用于:
基于所述目标测试用例以及所述测试用例集合中输入数据不具有关联关系的测试用例,运行所述功能模块的仿真环境,得到所述功能模块的测试结果;
其中,所述仿真环境基于将所述功能模块的输入数据以及预期输出数据导入Testbench程序文件,并在所述Testbench程序文件中实例化所述功能模块得到。
在上述实施例的基础上,本发明实施例中提供的测试用例设计装置,所述功能模块具有多通道的数据帧的冗余处理功能,各通道的数据帧的内容基于相同连线法进行标识,所述关联关系基于所述各通道的数据帧对应的标识结果确定。
在上述实施例的基础上,本发明实施例中提供的测试用例设计装置,所述各通道的数据帧均携带有配置信息,所述配置信息包括正常状态和异常状态,所述测试用例集合中各测试用例的输入数据基于所述各通道的数据帧的内容和状态的不同组合确定。
在上述实施例的基础上,本发明实施例中提供的测试用例设计装置,所述预期输出数据包括所述各通道的数据帧的地址以及预期通道标识,所述测试结果包括所述功能模块选择的目标通道与预期通道之间的一致性。
具体地,本发明实施例中提供的测试用例设计装置中各模块的作用与上述方法类实施例中各步骤的操作流程是一一对应的,实现的效果也是一致的,具体参见上述实施例,本发明实施例中对此不再赘述。
图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(Processor)410、通信接口(Communications Interface)420、存储器(Memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行上述各实施例中提供的测试用例设计方法,该方法包括:确定功能模块的测试用例集合以及所述测试用例集合中各测试用例的输入数据;若所述测试用例集合中存在测试用例序列,所述测试用例序列中每相邻两个测试用例的输入数据具有关联关系,则基于所述关联关系,将所述测试用例序列中各测试用例的输入数据按顺序进行合并,得到目标测试用例;其中,所述关联关系包括直接关联关系和/或间接关联关系,所述间接关联关系基于新增测试用例的输入数据进行建立,所述新增测试用例为所述功能模块的无效测试用例。
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各实施例中提供的测试用例设计方法,该方法包括:确定功能模块的测试用例集合以及所述测试用例集合中各测试用例的输入数据;若所述测试用例集合中存在测试用例序列,所述测试用例序列中每相邻两个测试用例的输入数据具有关联关系,则基于所述关联关系,将所述测试用例序列中各测试用例的输入数据按顺序进行合并,得到目标测试用例;其中,所述关联关系包括直接关联关系和/或间接关联关系,所述间接关联关系基于新增测试用例的输入数据进行建立,所述新增测试用例为所述功能模块的无效测试用例。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例中提供的测试用例设计方法,该方法包括:确定功能模块的测试用例集合以及所述测试用例集合中各测试用例的输入数据;若所述测试用例集合中存在测试用例序列,所述测试用例序列中每相邻两个测试用例的输入数据具有关联关系,则基于所述关联关系,将所述测试用例序列中各测试用例的输入数据按顺序进行合并,得到目标测试用例;其中,所述关联关系包括直接关联关系和/或间接关联关系,所述间接关联关系基于新增测试用例的输入数据进行建立,所述新增测试用例为所述功能模块的无效测试用例。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种测试用例设计方法,其特征在于,包括:
确定功能模块的测试用例集合以及所述测试用例集合中各测试用例的输入数据;
若所述测试用例集合中存在测试用例序列,所述测试用例序列中每相邻两个测试用例的输入数据具有关联关系,则基于所述关联关系,将所述测试用例序列中各测试用例的输入数据按顺序进行合并,得到目标测试用例;
其中,所述关联关系包括直接关联关系和/或间接关联关系,所述间接关联关系基于新增测试用例的输入数据进行建立,所述新增测试用例为所述功能模块的无效测试用例。
2.根据权利要求1所述的测试用例设计方法,其特征在于,所述基于所述关联关系,将所述测试用例序列中各测试用例的输入数据按顺序进行合并,得到目标测试用例,包括:
对于所述测试用例序列中输入数据具有所述直接关联关系且相邻的第一测试用例和第二测试用例,将所述第一测试用例与所述第二测试用例的输入数据进行合并;
对于所述测试用例序列中输入数据具有所述间接关联关系且相邻的第三测试用例和第四测试用例,将所述第三测试用例、所述第四测试用例以及所述新增测试用例的输入数据进行合并。
3.根据权利要求2所述的测试用例设计方法,其特征在于,所述第一测试用例和第二测试用例之间的直接关联关系为所述第一测试用例与所述第二测试用例的输入数据中存在相同内容;
相应地,所述将所述第一测试用例与所述第二测试用例的输入数据进行合并,具体包括:
将所述第一测试用例与所述第二测试用例的输入数据中的相同内容去重,得到去重后所述第一测试用例与所述第二测试用例的输入数据的并集。
4.根据权利要求1-3中任一项所述的测试用例设计方法,其特征在于,所述基于所述关联关系,将所述测试用例序列中各测试用例的输入数据按顺序进行合并,得到目标测试用例,之后包括:
基于所述目标测试用例以及所述测试用例集合中输入数据不具有关联关系的测试用例,运行所述功能模块的仿真环境,得到所述功能模块的测试结果;
其中,所述仿真环境基于将所述功能模块的输入数据以及预期输出数据导入Testbench程序文件,并在所述Testbench程序文件中实例化所述功能模块得到。
5.根据权利要求4所述的测试用例设计方法,其特征在于,所述功能模块具有多通道的数据帧的冗余处理功能,各通道的数据帧的内容基于相同连线法进行标识,所述关联关系基于所述各通道的数据帧对应的标识结果确定。
6.根据权利要求5所述的测试用例设计方法,其特征在于,所述各通道的数据帧均携带有配置信息,所述配置信息包括正常状态和异常状态,所述测试用例集合中各测试用例的输入数据基于所述各通道的数据帧的内容和状态的不同组合确定。
7.根据权利要求5所述的测试用例设计方法,其特征在于,所述预期输出数据包括所述各通道的数据帧的地址以及预期通道标识,所述测试结果包括所述功能模块选择的目标通道与预期通道之间的一致性。
8.一种测试用例设计装置,其特征在于,包括:
确定模块,用于确定功能模块的测试用例集合以及所述测试用例集合中各测试用例的输入数据;
合并模块,用于若所述测试用例集合中存在测试用例序列,所述测试用例序列中每相邻两个测试用例的输入数据具有关联关系,则基于所述关联关系,将所述测试用例序列中各测试用例的输入数据按顺序进行合并,得到目标测试用例;
其中,所述关联关系包括直接关联关系和/或间接关联关系,所述间接关联关系基于新增测试用例的输入数据进行建立,所述新增测试用例为所述功能模块的无效测试用例。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-7中任一项所述的测试用例设计方法。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的测试用例设计方法。
CN202311552475.7A 2023-11-20 2023-11-20 测试用例设计方法、装置、电子设备及存储介质 Pending CN117573533A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311552475.7A CN117573533A (zh) 2023-11-20 2023-11-20 测试用例设计方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311552475.7A CN117573533A (zh) 2023-11-20 2023-11-20 测试用例设计方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN117573533A true CN117573533A (zh) 2024-02-20

Family

ID=89893114

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311552475.7A Pending CN117573533A (zh) 2023-11-20 2023-11-20 测试用例设计方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN117573533A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111338965A (zh) * 2020-03-02 2020-06-26 五八有限公司 一种用例测试方法、装置、电子设备及存储介质
CN111625471A (zh) * 2020-06-12 2020-09-04 北京灵汐科技有限公司 测试用例的执行处理、异常定位方法、装置、设备及介质
WO2021174232A2 (en) * 2020-06-04 2021-09-02 Futurewei Technologies, Inc. Constraint set merge and subtraction
CN114546738A (zh) * 2022-01-20 2022-05-27 苏州浪潮智能科技有限公司 服务器通用测试方法、系统、终端及存储介质
CN115757090A (zh) * 2022-10-19 2023-03-07 上海吉贝克信息技术有限公司 软件测试系统、方法、设备及介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111338965A (zh) * 2020-03-02 2020-06-26 五八有限公司 一种用例测试方法、装置、电子设备及存储介质
WO2021174232A2 (en) * 2020-06-04 2021-09-02 Futurewei Technologies, Inc. Constraint set merge and subtraction
CN111625471A (zh) * 2020-06-12 2020-09-04 北京灵汐科技有限公司 测试用例的执行处理、异常定位方法、装置、设备及介质
CN114546738A (zh) * 2022-01-20 2022-05-27 苏州浪潮智能科技有限公司 服务器通用测试方法、系统、终端及存储介质
CN115757090A (zh) * 2022-10-19 2023-03-07 上海吉贝克信息技术有限公司 软件测试系统、方法、设备及介质

Similar Documents

Publication Publication Date Title
CN111327490B (zh) 区块链的拜占庭容错检测方法及相关装置
CN111274077A (zh) 一种磁盘阵列可靠性测试方法、系统、终端及存储介质
CN111400116A (zh) 芯片测试验证方法、计算机装置及计算机可读存储介质
CN110557299A (zh) 一种网络传输功能批量测试方法、系统、终端及存储介质
CN111767226A (zh) 一种云计算平台资源的测试方法、系统及设备
JP3173855B2 (ja) デジタル・テスト・ベクトルの編集方法
CN115470141A (zh) 一种故障模拟方法、装置及相关设备
CN105243042A (zh) 数据烧录方法和数据烧录装置
CN117573533A (zh) 测试用例设计方法、装置、电子设备及存储介质
CN115757099A (zh) 平台固件保护恢复功能自动测试方法和装置
CN110795338B (zh) 一种基于前后端交互的自动化测试方法、装置及电子设备
CN113448786A (zh) 一种PCIe设备测试方法、装置、设备及可读存储介质
CN112486717A (zh) 一种磁盘数据一致性校验方法、系统、终端及存储介质
CN112466383B (zh) 存储系统仲裁可靠性的测试方法、测试装置及测试设备
CN115357458B (zh) 测试tisdm显示信息方法和装置
CN110730359A (zh) 一种视频流数据读取方法、装置、设备及存储介质
CN118012756A (zh) 一种大数据处理平台的数据测试方法及装置
CN116820988A (zh) 分布式中间件系统高可用测试方法、装置、设备及介质
CN115525522A (zh) 一种异地互备测试的方法、装置及介质
CN116991881A (zh) 数据处理方法、装置、设备、介质及计算机程序产品
CN118260116A (zh) 处理单元的管理方法、装置、芯片、设备和存储介质
CN118567920A (zh) 故障模拟方法、装置、设备、存储介质及程序产品
JP3048003B2 (ja) 半導体装置の故障シミュレーション方法及び故障シミュレーションにおけるデータ作成装置
CN117591106A (zh) 原生功能组件的调用方法、装置、电子设备及存储介质
CN117743070A (zh) 一种寄存器bit bash测试方法、装置、设备及介质

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