CN109491917A - 一种测试用例处理方法及其装置 - Google Patents

一种测试用例处理方法及其装置 Download PDF

Info

Publication number
CN109491917A
CN109491917A CN201811344019.2A CN201811344019A CN109491917A CN 109491917 A CN109491917 A CN 109491917A CN 201811344019 A CN201811344019 A CN 201811344019A CN 109491917 A CN109491917 A CN 109491917A
Authority
CN
China
Prior art keywords
input variable
value
test
test case
concentrated
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
CN201811344019.2A
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 CHJ Information Technology Co Ltd
Original Assignee
Beijing CHJ Information 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 CHJ Information Technology Co Ltd filed Critical Beijing CHJ Information Technology Co Ltd
Priority to CN201811344019.2A priority Critical patent/CN109491917A/zh
Publication of CN109491917A publication Critical patent/CN109491917A/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/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

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

一种测试用例处理方法及其装置
技术领域
本发明涉及电子设备技术领域,尤其涉及一种测试用例处理方法及其装置。
背景技术
在测试待检测软件装置或者测试软硬件结合的装置的过程中,测试软件根据输入的测试用例,生成测试结果,根据该测试结果能够判断待检测的装置的功能是否正常。
在相关技术中,对于测试软件所需输入的测试用例,采用人工设计和人工输入的方法,并且,在每测试完一个测试用例之后,需要人工操作测试软件,以修改测试软件输入的变量的值。
例如,汽车整车控制器(Vehicle Control Unit,VCU)的主要功能有:系统工作模式控制、车辆能量管理及优化、职能化的整车故障识别和处理、车辆网络管理以及车辆状态监控、自诊断及保护等。其功能复杂,且对汽车的驾驶、安全等起到至关重要的作用。在汽车出厂之前,需要对VCU软件进行硬件在环(Hardware-in-the-Loop,HIL)测试,以确保VCU的每一个功能都能够正常执行。
在相关技术中,进行HIL测试时,测试人员需要先根据测试需求设计测试用例,并利用HIL手动测试软件将用例一个个转化成测试序列,然后手动调试测试序列,以得出测试结果。整个测试过程需要测试人员耗费大量的时间与精力。同时,在设计测试用例的过程中,每一条测试需求,都需要设计很多条测试用例。这些测试用例包括多个具有一定的边界条件的输入变量,且多个输入变量之间可以形成各类的排列组合关系,同时各个输入变量之间不能随意组合,而必须遵循一定的逻辑关系。在有限的时间和精力下,测试人员很难将所有可能出现的测试需求全部转化成测试用例,从而降低了测试用例的覆盖率,造成HIL测试结果不全面,从而降低了测试结果的可靠性。
由此可知,相关技术中采用人工设计方法得出的测试用例的可靠性低。
发明内容
本发明实施例提供一种测试用例处理方法及其装置,以解决相关技术中采用人工设计方法得出的测试用例的可靠性低的问题。
为解决以上技术问题,本发明采用如下技术方案:
第一方面,本发明实施例提供了一种测试用例处理方法,包括:
获取与目标测试需求对应的输入变量集,其中,所述输入变量集中的每个输入变量均具有边界条件,所述输入变量集中的输入变量之间具有第一逻辑关系;
根据所述输入变量集中的每个输入变量的边界条件和所述第一逻辑关系,将所述输入变量集中的输入变量进行组合和/或排列,得出第一输出结果;
遍历所述第一输出结果中的每个输入变量的值,生成测试用例集,其中,所述测试用例集中包括至少一个测试用例,所述测试用例包括至少一个输入变量值和与所述至少一个输入变量值对应的期望输出变量值。
第二方面,本发明实施例提供了一种测试用列处理装置,包括:
第一获取模块,用于获取与目标测试需求对应的输入变量集,其中,所述输入变量集中的每个输入变量均具有边界条件,所述输入变量集中的输入变量之间具有第一逻辑关系;
第一输出模块,用于根据所述输入变量集中的每个输入变量的边界条件和所述第一逻辑关系,将所述输入变量集中的输入变量进行组合和/或排列,得出第一输出结果;
生成模块,用于遍历所述第一输出结果中的每个输入变量的值,生成测试用例集,其中,所述测试用例集中包括至少一个测试用例,所述测试用例包括至少一个输入变量值和与所述至少一个输入变量值对应的期望输出变量值。
第三方面,本发明实施例提供了一种测试用例处理设备,包括处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的测试用例处理方法的步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的测试用例处理方法的步骤。
在本发明实施例中,获取与目标测试需求对应的输入变量集,其中,所述输入变量集中的每个输入变量均具有边界条件,所述输入变量集中的输入变量之间具有第一逻辑关系;根据所述输入变量集中的每个输入变量的边界条件和所述第一逻辑关系,将所述输入变量集中的输入变量进行组合和/或排列,得出第一输出结果;遍历所述第一输出结果中的每个输入变量的值,生成测试用例集,其中,所述测试用例集中包括至少一个测试用例,所述测试用例包括至少一个输入变量值和与所述至少一个输入变量值对应的期望输出变量值。这样,根据与目标测试需求对应的输入变量的取值范围和逻辑关系遍历各个输入变量的值得出对应的测试用例集以及与测试用例集中各个测试用例分别对应的期望输出变量,而无需采用人工设计的方法设计各个测试用例,从而解决了采用人工设计方法得出的测试用例存在的可靠性低的问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种测试用例处理方法的流程图;
图2是本发明实施例提供的另一种测试用例处理方法的流程图;
图3是本发明实施例提供的一种测试用例处理装置的结构示意图;
图4是本发明实施例提供的另一种测试用例处理装置的结构示意图;
图5是本发明实施例提供的另一种测试用例处理装置的结构示意图;
图6是本发明实施例提供的另一种测试用例处理装置的结构示意图;
图7是本发明实施例提供的另一种测试用例处理装置的结构示意图;
图8是本发明实施例提供的另一种测试用例处理装置的结构示意图;
图9是本发明实施例提供的另一种测试用例处理装置的结构示意图;
图10是本发明实施例提供的一种测试用例处理设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中,采用测试用列处理方法生成的测试用列,可以应用于HIL(硬件在环)测试,例如,测试车辆VCU控制器的各个功能模块是否正常执行,本发明实施例中,通过计算机编程,可以根据测试需求自动生成测试用例集,并实现将测试用例集中的用例分别输入HIL测试软件中,以自动获取HIL测试结果,其中,通过计算机编程实现自动化的调用HIL测试软件,而无需采用人工设计测试用例和采用人力将各个测试用例中的输入变量分别输入HIL测试软件中,从而降低了人工成本,提升了HIL测试的效率与可靠性。
请参阅图1,是本发明实施例提供的一种测试用列处理方法的流程图。如图1所示,该测试用列处理方法包括以下步骤:
步骤101、获取与目标测试需求对应的输入变量集,其中,所述输入变量集中的每个输入变量均具有边界条件,所述输入变量集中的输入变量之间具有第一逻辑关系。
其中,明确了目标测试需求之后,与该目标测试需求相关的输入变量集以及与该输入变量集中的各个输入变量的值对应的期望输出变量均可以确定。
需要说明的是,输入变量的边界条件和输入变量之间的第一逻辑关系可以根据所述目标测试需求和待检测设备的性能参数确定。例如:汽车上的空调温度调节的范围为15度至30度,则对应于空调调节温度的输入变量的取值范围也限定于15度至30度。
另外,输入变量集中的各个输入变量的边界条件,可以是每一个输入变量具有至少一个边界值,例如:输入变量A的取值范围限定于1至10之间,输入变量B的取值范围限定于0至20之间,输入变量C为大于等于1的任意值等。
另外,输入变量集中的输入变量之间具有第一逻辑关系,各个输入变量之间的排列组合需要满足该第一逻辑关系,而不能随意的组合。
其中,使输入变量之间满足第一逻辑关系,用于确保输入变量集中的输入变量之间的排列组合结果满足车辆的控制逻辑,避免生产明显不符合车辆控制逻辑的测试用例,例如:同时检测车辆控制器同时控制车辆进行刹车和加油门。
当然,上述第一逻辑关系还可以是对任意输入变量之间的和值、差值、取值范围、执行顺序等进行限定。
例如:要测试VCU能否正常启动车辆,则与该VCU能否正常启动车辆的测试需求对应的输入变量包括:是否接收到启动钥匙的启动信号、车辆档位是否处于正确的档位、车门是否关闭等。在具体测试过程中,可以在第一输入变量为接收到启动钥匙的启动信号时,令第一输入变量等于1,在第一输入变量为未接收到启动钥匙的启动信号时,令第一输入变量等于0;在第二输入变量为车门关闭时,令第二输入变量等于1,在第二输入变量为车门开启时,令第二输入变量等于0;在第三输入变量为车辆档位正确时,令第三输入变量等于1,在第三输入变量为车辆档位错误时,令第三输入变量等于0。
因此,在测试VCU能否正常启动车辆时,需要检查上述第一输入变量、第二输入变量以及第三输入变量的和值是否大于或者等于3。即上述第一逻辑关系可以是,第一输入变量、第二输入变量以及第三输入变量的和值大于或者等于3。
当然,在启动车辆之前,还可以检查其他输入变量的值,例如车胎压力、剩余能量等,输入变量的取值也可以根据实际情况设置为大于1的整数、小于0的负数等任意值。
本步骤中,获取与目标测试需求对应的输入变量集,并确定输入变量集中各个输入变量值的边界条件和输入变量值之间的第一逻辑关系,便于在步骤102和步骤103中采用计算机执行的方式,根据该边界条件和第一逻辑关系确定各个用例中的输入变量的值,从而得出测试用例,从而为所述测试用例处理方法提供数据基础。
步骤102、根据所述输入变量集中的每个输入变量的边界条件和所述第一逻辑关系,将所述输入变量集中的输入变量进行组合和/或排列,得出第一输出结果。
其中,由于所述输入变量集中的输入变量之间具有第一逻辑关系,因此限定了各个输入变量之间不能随意的组合,而是需要按照所述第一逻辑关系的限定进行相应的组合和/或排列,避免各个输入变量随意组合后生成了与所述第一逻辑关系不匹配的测试用例,造成该测试用例不能得出有用的测试结果,甚至损坏测试设备等。
另外,第一输出结果可以是所述输入变量集中的至少一个输入变量值的组合和/或排列,例如:第一输出结果包括:输入变量A和输入变量B,且输入变量A和输入变量B的取值分别位于对应的边界条件内,当然,还可以将输入变量A和输入变量B的取值分别限定于对应的边界条件内的子集区间,以使输入变量A和输入变量B的取值更加符合所述第一逻辑关系的限定。
当然,由于输入变量集中往往包括多个输入变量,而多个输入变量之间的组合和/或排列方式有很多种,因此,得出的第一输出结果也可以是多个。
本步骤中,将所述输入变量集中的输入变量进行组合和/或排列,得出第一输出结果,从而在步骤103中仅需要遍历所述第一输出结果中输入变量的值,而无需针对输入变量集中输入变量的每一种组合和/或排列方式进行遍历,从而提升生成测试用例集的效率并增加了所生成的测试用例集的针对性和准确性。
步骤103、遍历所述第一输出结果中的每个输入变量的值,生成测试用例集,其中,所述测试用例集中包括至少一个测试用例,所述测试用例包括至少一个输入变量值和与所述至少一个输入变量值对应的期望输出变量值。
需要说明的是,在第一输出结果是多个的情况下,需要针对每一个第一输出结果中的输入变量的值分别进行遍历,以得出与所述目标测试需求匹配且完整的测试用例集。
其中,在输入变量的取值为整数的情况下,上述遍历过程可以是取该输入变量在对应的取值范围中的每一个整数。
另外,在输入变量的取值为连续的数值范围的情况下,可以设置一个增量,以从该数值范围的最小取值依次迭代增加至该数值范围的最大取值,并使该输入变量的值分别等于迭代过程中得出的各个输入变量值。
需要说明的是,针对每一个测试用例,均具有一个期望输出变量。
例如:测试需求为:测试VCU能否正常启动车辆,则与该VCU能否正常启动车辆的测试需求对应的输入变量包括:是否接收到启动钥匙的启动信号、车辆档位是否处于正确的档位、车门是否关闭等。对于一个具体的测试用例,其输入变量分别为:接收到启动钥匙的启动信号、车辆档位正确、车门已关闭等输入变量均匹配下,则对应的期望输出变量为:VCU正常启动车辆。对于另一个具体的测试用例,其输入变量分别为:未接收到启动钥匙的启动信号,则对应的期望输出变量为VCU不能启动车辆。
在具体应用过程中,该期望输出变量可以用于与测试结果进行比较,从而确定待检测的设备是否正常运行。
在本发明实施例中,获取与目标测试需求对应的输入变量集,其中,所述输入变量集中的每个输入变量均具有边界条件,所述输入变量集中的输入变量之间具有第一逻辑关系;根据所述输入变量集中的每个输入变量的边界条件和所述第一逻辑关系,将所述输入变量集中的输入变量进行组合和/或排列,得出第一输出结果;遍历所述第一输出结果中的每个输入变量的值,生成测试用例集,其中,所述测试用例集中包括至少一个测试用例,所述测试用例包括至少一个输入变量值和与所述至少一个输入变量值对应的期望输出变量值。这样,根据与目标测试需求对应的输入变量的取值范围和逻辑关系遍历各个输入变量的值得出对应的测试用例集以及与测试用例集中各个测试用例分别对应的期望输出变量,而无需采用人工设计的方法设计各个测试用例,从而解决了采用人工设计方法得出的测试用例存在的可靠性低的问题。
请参阅图2,是本发明实施例另一种测试用列处理方法的流程图。如图2所示,该方法包括以下步骤:
步骤201、获取与目标测试需求对应的输入变量集,其中,所述输入变量集中的每个输入变量均具有边界条件,所述输入变量集中的输入变量之间具有第一逻辑关系。
步骤202、根据所述输入变量集中的每个输入变量的边界条件和所述第一逻辑关系,将所述输入变量集中的输入变量进行组合和/或排列,得出第一输出结果。
步骤203、遍历所述第一输出结果中的每个输入变量的值,生成测试用例集,其中,所述测试用例集中包括至少一个测试用例,所述测试用例包括至少一个输入变量值和与所述至少一个输入变量值对应的期望输出变量值。
作为一种可选的实施方式,步骤202包括:
根据所述输入变量集中的每个输入变量的边界条件,分别将所述每个输入变量的取值划分为至少两个取值区间;
根据所述第一逻辑关系,将所述输入变量集中的输入变量的取值区间进行组合和/或排列,得到所述第一输出结果。
其中,由于输入变量之间具有第一逻辑关系的限定,而不能随意的组合和/或排列,对于取值范围较大的输入变量,将其取值范围划分为多个区间之后,对各个取值区间分别进行满足所述第一逻辑关系的组合和/或排列,能够提升所述第一输出结果的针对性。
例如:根据目标测试需求确定对应的输入变量包括A、B,其中,A的边界条件为1至10的正整数,B的边界条件为11至20的正整数,且预设逻辑关系为:A与B之和大于25。将A和B分别划分为两个取值区间,A1[1,5]、A2[6,10]、B1[11,15]和B2[16,20]。很明显A1与B1或者B2的和值以及A2与B1的和值不可能大于25,这样便能够根据第一逻辑关系排除A1与B1或者B2的组合以及A2与B1的组合,得出第一输出结果为A2与B2的组合结果。
本实施方式中,预先将输入变量的取值范围划分为至少两个取值区间,以取值区间为单位按照第一逻辑关系的限定进行排列和/或组合,避免了针对数量众多的输入变量的各个取值分别进行排列和/或组合,从而减小了生成用例的工作量。
另外,步骤203可以包括:
获取增量值和所述第一输出结果中的输入变量分别在其对应的取值区间内的区间最小值;
分别将所获取到的各个区间最小值以所述增量值为增量,依次迭代,直至输入变量值大于或者等于所述输入变量在其对应的取值区间内的区间最大值;
根据迭代过程中得到的各个输入变量值,生成所述测试用例集。
例如:上一实施例中得出第一输出结果为A2与B2的组合结果,其中A2为6至10之间的正整数,B2为16至20之间的正整数,在第一逻辑关系:A2与B2之和大于25的限定下,则测试用例集包括15个用例,各测试用例的输入变量分别为:(A=6,B=20)、(A=7,B=19)、(A=7,B=20)、(A=8,B=18)、(A=8,B=19)、(A=8,B=20)、(A=9,B=17)、(A=9,B=18)、(A=9,B=19)、(A=9,B=20)、(A=10,B=16)、(A=10,B=17)、(A=10,B=18)、(A=10,B=19)、(A=10,B=20)。
另外,上述输入变量的值不仅仅局限于整数,其还可以是连续变量,例如:1至10之间的任意值,对于连续变量可以设置任意数值大小的增量,例如增量等于0.5,使输入变量的值从1至10依此迭代增加0.5,从而得出19个输入变量值(分别为:1、1.5、2、……9.5、10)。
当然,在输入变量为整数使,同样可以根据精确度的需求设置呈整数的增量,以选取部分输入变量的值作为测试用例中各个输入变量的取值。以避免输入变量的取值过多却对精确度并无有效的提升。
本实施方式中,采用增量迭代的方式,对相应取值范围内的输入变量的值进行选取,以避免输入变量的取值过多却对精确度并无有效的提升。
作为另一种可选的实施方式,在步骤203之前,所述方法还包括:
获取与所述第一输出结果对应的期望输出变量的取值范围,以及获取期望输出变量值与所述第一输出结果中的输入变量值之间的第二逻辑关系;
所述遍历所述第一输出结果中的每个输入变量的值,生成测试用例集的步骤,包括:
根据所述第二逻辑关系,分别确定与所述第一输出结果中的各个输入变量值对应的期望输出变量值,并确定所述测试用例集中的测试用例分别包括所述第一输出结果中的各个输入变量值及其对应的期望输出变量值。
其中,所述第二逻辑关系可以根据待检测的设备内配置的计算机程序或者控制逻辑进行确定。
例如:待检测设备为车辆VCU,则第二逻辑关系可以是VCU中设置的控制逻辑。具体的,在VCU接收到开启空调的控制信号时,VCU控制空调开启,则输入变量为开启空调的控制信号,期望输出变量值为开启空调,两者之间的对应关系为第二逻辑关系。
在测试之前,不能确定VCU是否能够开启空调,则需要对VCU输入测试用例,其中,测试用例中包括开启空调的控制信号的输入变量,VCU的输出结果可能是开启空调、未响应等。这样,通过将VCU的输出结果与开启空调的期望输出变量值进行比较,若同为开启空调,则表示VCU开启空调的功能能够正常执行,若不匹配,则表示VCU开启空调的功能不能够正常执行,以提醒测试人员进行检查。
本实施方式中,根据所述第二逻辑关系确定与测试用例中的输入变量值对应的期望输出变量值,以便于在步骤204与步骤205中检测目标测试需求是否正常执行。
步骤204、通过预设接口,将所述测试用例集中的测试用例分别输入测试软件,得出与所述测试用例集中的测试用例对应的第二输出结果。
其中,测试用例可以用于对测试软件进行HIL硬件在环测试,例如:对车辆VCU进行HIL测试。测试用例中各个输入变量的值用于模拟车辆VCU的输入信号,响应于各个输入信号,车辆VCU将输出控制信号,该控制信号便是第二输出结果。
另外,预设接口能够用于调用自动化测试软件,该自动化测试软件能够将测试用例集中各个测试用例的输入变量依次自动输入至测试软件中,避免了采用人工输入与输出的方式,对数值多变的输入变量值进行手动输入操作,从而简化了测试过程,提升了测试效率。
作为一种可选的实施方式,步骤204包括:
根据预设用例模板得出模板测试用例,通过所述预设接口,将所述测试用例集中的测试用例的输入变量值分别输入测试软件,得出与所述测试用例集中的测试用例对应的第二输出结果,其中,所述测试用例集包括所述模板测试用例。
本实施方式中,针对相似的测试用例,可以设置用例模板,该用例模板能够自动修改相似测试用例中输入变量的值,并确定与修改后的输入变量值对应的期望输出变量值,以得出一系列的测试用例。而无需再次分析输入变量间的第一逻辑关系等复杂的步骤,从而简化了生成模板测试用例的过程。
当然,对于特殊的测试用例,可以采用人工添加的方式将其添加至测试用例集中,例如:测试用例集中仅包括一个或者两个固定的输入变量,且各个输入变量的值仅有有限个或者仅取有限个输入变量值便能够完成的覆盖该测试用例的测试范围时,可以根据采用人工输入有限个输入变量值的方式,添加测试用例至测试用例集中。
另外,上述人工添加的的测试用例,同样可以通过所述预设接口将用例自动输入测试软件中。
作为另一种可选的实施方式,步骤204包括:
检测所述测试用例集的覆盖度;
在所述覆盖度大于或者等于第一预设值的情况下,通过预设接口,将所述测试用例集中的测试用例分别输入测试软件,得出与所述测试用例集中的测试用例对应的第二输出结果。
其中,覆盖度是评价测试用例集的可靠程度的重要指标,覆盖度越高,表示测试用例集对目标测试需求的测试更加全面,因此,其可靠程度越高。
另外,第一预设值可以根据测试需求而确定,也可以根据待检测设备的行业标准而确定。
本实施方式中,仅在覆盖度大于或者等于第一预设值的情况下,才执行测试步骤,避免因测试用例集的可靠程度不够而得出不完善的测试结果。
本步骤中,通过预设接口实现将测试用例集中各个测试用例依次输入至测试软件中,避免了采用人工输入与输出的方式,对数值多变的输入变量值进行手动输入操作,从而简化了测试过程,提升了测试效率。
步骤205、通过所述预设接口,输出所述第二输出结果,并将所述测试用例集中的测试用例对应的第二输出结果和所述测试用例集中的测试用例对应的期望输出变量值进行比较,得出测试结果。
例如:一个测试用例包括输入变量A=1和输入变量B=2,在对所述测试软件进行HIL测试的过程中,主要执行以下步骤:
通过所述预设接口将所述测试软件的输入变量A的值修改为1;
通过所述预设接口将所述测试软件的输入变量B的值修改为2;
运行所述测试软件,得出所述第二输出结果;
通过所述预设接口将所述第二输出结果与预先确定的与测试用例对应的期望输出变量值进行匹配,得出测试结果。
当然,根据测试软件的不同和输入变量的种类不同,模板所指示的操作也不相同,在此仅针对一种具体应用场景进行举例。
本步骤中,通过所述预设接口自动获取测试软件的输出结果,而无需采用人工查看或者记录的方式以检查测试软件的第二输出结果。另外,将自动获取的第二输出结果与对应的期望输出变量值进行比较,能够得出更加直观的测试结果,而无需检查测试软件的第二输出结果是否正确,从而提升测试结果的辨识度。
本发明实施例中,通过预设接口,以达到将输入变量自动输入测试软件中,并自动输出测试软件的第二输出结果,解决了采用人工操作以修改输入测试软件中输入变量的值,因此提升了测试过程的自动化程度,提升了测试效率。另外,将自动获取的第二输出结果与对应的期望输出变量值进行比较,能够得出更加直观的测试结果,而无需检查测试软件的第二输出结果是否正确,从而提升测试结果的辨识度。
请参阅他3,是本发明实施例提供的一种测试用列处理装置的结构示意图,如图3所示,一种测试用列处理装置300,包括:
第一获取模块301,用于获取与目标测试需求对应的输入变量集,其中,所述输入变量集中的每个输入变量均具有边界条件,所述输入变量集中的输入变量之间具有第一逻辑关系;
第一输出模块302,用于根据所述输入变量集中的每个输入变量的边界条件和所述第一逻辑关系,将所述输入变量集中的输入变量进行组合和/或排列,得出第一输出结果;
生成模块303,用于遍历所述第一输出结果中的每个输入变量的值,生成测试用例集,其中,所述测试用例集中包括至少一个测试用例,所述测试用例包括至少一个输入变量值和与所述至少一个输入变量值对应的期望输出变量值。
可选的,如图4所示,所述第一输出模块302包括:
划分单元3021,用于根据所述输入变量集中的每个输入变量的边界条件,分别将所述每个输入变量的取值划分为至少两个取值区间;
输出单元3022,用于根据所述第一逻辑关系,将所述输入变量集中的输入变量的取值区间进行组合和/或排列,得到所述第一输出结果。
可选的,如图5所示,所述生成模块303包括:
获取单元3031,用于获取增量值和所述第一输出结果中的输入变量分别在其对应的取值区间内的区间最小值;
迭代单元3032,用于分别将所获取到的各个区间最小值以所述增量值为增量,依次迭代,直至输入变量值大于或者等于所述输入变量在其对应的取值区间内的区间最大值;
生成单元3033,用于根据迭代过程中得到的各个输入变量值,生成所述测试用例集。
可选的,如图6所示,装置300还包括:
第二获取模块304,用于获取与所述第一输出结果对应的期望输出变量的取值范围,以及获取期望输出变量值与所述第一输出结果中的输入变量值之间的第二逻辑关系;
所述生成模块303还用于:
根据所述第二逻辑关系,分别确定与所述第一输出结果中的各个输入变量值对应的期望输出变量值,并确定所述测试用例集中的测试用例分别包括所述第一输出结果中的各个输入变量值及其对应的期望输出变量值。
可选的,如图7所示,装置300还包括:
输入模块305,用于通过预设接口,将所述测试用例集中的测试用例分别输入测试软件,得出与所述测试用例集中的测试用例对应的第二输出结果;
第二输出模块306,用于通过所述预设接口,输出所述第二输出结果,并将所述测试用例集中的测试用例对应的第二输出结果和所述测试用例集中的测试用例对应的期望输出变量值进行比较,得出测试结果。
可选的,如图8所示,所述输入模块305包括:
测试单元3051,用于根据预设用例模板得出模板测试用例,通过所述预设接口,将所述测试用例集中的测试用例的输入变量值分别输入测试软件,得出与所述测试用例集中的测试用例对应的第二输出结果,其中,所述测试用例集包括所述模板测试用例。
可选的,如图9所示,所述输入模块305包括:
检测单元3052,用于检测所述测试用例集的覆盖度;
输入单元3053,用于在所述覆盖度大于或者等于第一预设值的情况下,通过预设接口,将所述测试用例集中的测试用例分别输入测试软件,得出与所述测试用例集中的测试用例一一对应的第二输出结果。
本发明实施例提供的测试用列处理装置,能够实现如图1和图2中所示方法实施例中的各个步骤,且能够取得相同的有益效果,为避免重复,在此不再赘述。
如图10所示,是本发明实施例提供的一种测试用例处理设备的结构示意图,该测试用例处理设备,包括收发机1001、处理器1002、存储器1003、总线接口以及存储在存储器1003上并可在处理器1002上运行的计算机程序,收发机1001用于接收用户输入的目标测试需求、输入变量的边界条件、第一逻辑关系、第二逻辑关系中的至少一个。
可选的,收发机1001还可以用于接收用户输入的测试用例集或测试用例。
当然,收发机1001还可以用于输出测试用例和测试结果。
所述计算机程序被处理器1002执行时根据收发机1001接收的输入,执行如图1和图2所示方法实施例中所述测试用列处理方法的步骤。
本发明实施例提供的测试用例处理设备,能够实现如图1和图2中所示方法实施例中的各个步骤,且能够取得相同的有益效果,为避免重复,在此不再赘述。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时执行如图1和图2所示方法实施例中所述测试用列处理方法的步骤,且能够取得相同的有益效果,为避免重复,在此不再赘述。
结合本发明公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM、闪存、ROM、EPROM、EEPROM、寄存器、硬盘、移动硬盘、只读光盘或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于核心网接口设备中。当然,处理器和存储介质也可以作为分立组件存在于核心网接口设备中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
本领域内的技术人员应明白,本发明实施例可提供为方法、装置、设备、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图中的一个流程或多个流程和/或方框图中的一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图中的一个流程或多个流程和/或方框图中的一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图中的一个流程或多个流程和/或方框图中的一个方框或多个方框中指定的功能的步骤。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (16)

1.一种测试用例处理方法,其特征在于,包括:
获取与目标测试需求对应的输入变量集,其中,所述输入变量集中的每个输入变量均具有边界条件,所述输入变量集中的输入变量之间具有第一逻辑关系;
根据所述输入变量集中的每个输入变量的边界条件和所述第一逻辑关系,将所述输入变量集中的输入变量进行组合和/或排列,得出第一输出结果;
遍历所述第一输出结果中的每个输入变量的值,生成测试用例集,其中,所述测试用例集中包括至少一个测试用例,所述测试用例包括至少一个输入变量值和与所述至少一个输入变量值对应的期望输出变量值。
2.根据权利要求1所述的方法,其特征在于,根据所述输入变量集中的每个输入变量的边界条件和所述第一逻辑关系,将所述输入变量集中的输入变量进行组合和/或排列,得出第一输出结果的步骤,包括:
根据所述输入变量集中的每个输入变量的边界条件,分别将所述每个输入变量的取值划分为至少两个取值区间;
根据所述第一逻辑关系,将所述输入变量集中的输入变量的取值区间进行组合和/或排列,得到所述第一输出结果。
3.根据权利要求2所述的方法,其特征在于,遍历所述第一输出结果中的每个输入变量的值,生成测试用例集的步骤,包括:
获取增量值和所述第一输出结果中的输入变量分别在其对应的取值区间内的区间最小值;
分别将所获取到的各个区间最小值以所述增量值为增量,依次迭代,直至输入变量值大于或者等于所述输入变量在其对应的取值区间内的区间最大值;
根据迭代过程中得到的各个输入变量值,生成所述测试用例集。
4.根据权利要求1所述的方法,其特征在于,所述遍历所述第一输出结果中的每个输入变量的值,生成测试用例集之前,所述方法还包括:
获取与所述第一输出结果对应的期望输出变量的取值范围,以及获取期望输出变量值与所述第一输出结果中的输入变量值之间的第二逻辑关系;
所述遍历所述第一输出结果中的每个输入变量的值,生成测试用例集的步骤,包括:
根据所述第二逻辑关系,分别确定与所述第一输出结果中的各个输入变量值对应的期望输出变量值,并确定所述测试用例集中的测试用例分别包括所述第一输出结果中的各个输入变量值及其对应的期望输出变量值。
5.根据权利要求1所述的方法,其特征在于,在生成所述测试用例集之后,所述方法还包括:
通过预设接口,将所述测试用例集中的测试用例分别输入测试软件,得出与所述测试用例集中的测试用例对应的第二输出结果;
通过所述预设接口,输出所述第二输出结果,并将所述测试用例集中的测试用例对应的第二输出结果和所述测试用例集中的测试用例对应的期望输出变量值进行比较,得出测试结果。
6.根据权利要求5所述的方法,其特征在于,通过预设接口,将所述测试用例集中的测试用例分别输入测试软件,得出与所述测试用例集中的测试用例对应的第二输出结果的步骤,包括:
根据预设用例模板得出模板测试用例,通过所述预设接口,将所述测试用例集中的测试用例的输入变量值分别输入测试软件,得出与所述测试用例集中的测试用例对应的第二输出结果,其中,所述测试用例集包括所述模板测试用例。
7.根据权利要求5所述的方法,其特征在于,所述通过预设接口,将所述测试用例集中的测试用例分别输入测试软件,得出与所述测试用例集中的测试用例对应的第二输出结果的步骤,包括:
检测所述测试用例集的覆盖度;
在所述覆盖度大于或者等于第一预设值的情况下,通过预设接口,将所述测试用例集中的测试用例分别输入测试软件,得出与所述测试用例集中的测试用例对应的第二输出结果。
8.一种测试用例处理装置,其特征在于,包括:
第一获取模块,用于获取与目标测试需求对应的输入变量集,其中,所述输入变量集中的每个输入变量均具有边界条件,所述输入变量集中的输入变量之间具有第一逻辑关系;
第一输出模块,用于根据所述输入变量集中的每个输入变量的边界条件和所述第一逻辑关系,将所述输入变量集中的输入变量进行组合和/或排列,得出第一输出结果;
生成模块,用于遍历所述第一输出结果中的每个输入变量的值,生成测试用例集,其中,所述测试用例集中包括至少一个测试用例,所述测试用例包括至少一个输入变量值和与所述至少一个输入变量值对应的期望输出变量值。
9.根据权利要求8所述的装置,其特征在于,所述第一输出模块包括:
划分单元,用于根据所述输入变量集中的每个输入变量的边界条件,分别将所述每个输入变量的取值划分为至少两个取值区间;
输出单元,用于根据所述第一逻辑关系,将所述输入变量集中的输入变量的取值区间进行组合和/或排列,得到所述第一输出结果。
10.根据权利要求9所述的装置,其特征在于,所述生成模块包括:
获取单元,用于获取增量值和所述第一输出结果中的输入变量分别在其对应的取值区间内的区间最小值;
迭代单元,用于分别将所获取到的各个区间最小值以所述增量值为增量,依次迭代,直至输入变量值大于或者等于所述输入变量在其对应的取值区间内的区间最大值;
生成单元,用于根据迭代过程中得到的各个输入变量值,生成所述测试用例集。
11.根据权利要求8所述的装置,其特征在于,还包括:
第二获取模块,用于获取与所述第一输出结果对应的期望输出变量的取值范围,以及获取期望输出变量值与所述第一输出结果中的输入变量值之间的第二逻辑关系;
所述生成模块还用于:
根据所述第二逻辑关系,分别确定与所述第一输出结果中的各个输入变量值对应的期望输出变量值,并确定所述测试用例集中的测试用例分别包括所述第一输出结果中的各个输入变量值及其对应的期望输出变量值。
12.根据权利要求8所述的装置,其特征在于,还包括:
输入模块,用于通过预设接口,将所述测试用例集中的测试用例分别输入测试软件,得出与所述测试用例集中的测试用例对应的第二输出结果;
第二输出模块,用于通过所述预设接口,输出所述第二输出结果,并将所述测试用例集中的测试用例对应的第二输出结果和所述测试用例集中的测试用例对应的期望输出变量值进行比较,得出测试结果。
13.根据权利要求12所述的装置,其特征在于,所述输入模块包括:
测试单元,用于根据预设用例模板得出模板测试用例,通过所述预设接口,将所述测试用例集中的测试用例的输入变量值分别输入测试软件,得出与所述测试用例集中的测试用例对应的第二输出结果,其中,所述测试用例集包括所述模板测试用例。
14.根据权利要求12所述的装置,其特征在于,所述输入模块包括:
检测单元,用于检测所述测试用例集的覆盖度;
输入单元,用于在所述覆盖度大于或者等于第一预设值的情况下,通过预设接口,将所述测试用例集中的测试用例分别输入测试软件,得出与所述测试用例集中的测试用例一一对应的第二输出结果。
15.一种测试用例处理设备,包括处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述计算机程序被所述处理器执行时,实现如权利要求1至7中任一项所述的测试用例处理方法的步骤。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1至7中任一项所述的测试用例处理方法的步骤。
CN201811344019.2A 2018-11-13 2018-11-13 一种测试用例处理方法及其装置 Pending CN109491917A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811344019.2A CN109491917A (zh) 2018-11-13 2018-11-13 一种测试用例处理方法及其装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811344019.2A CN109491917A (zh) 2018-11-13 2018-11-13 一种测试用例处理方法及其装置

Publications (1)

Publication Number Publication Date
CN109491917A true CN109491917A (zh) 2019-03-19

Family

ID=65694805

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811344019.2A Pending CN109491917A (zh) 2018-11-13 2018-11-13 一种测试用例处理方法及其装置

Country Status (1)

Country Link
CN (1) CN109491917A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111475410A (zh) * 2020-03-31 2020-07-31 北京经纬恒润科技有限公司 一种测试用例生成方法及装置
CN112749084A (zh) * 2020-12-17 2021-05-04 中国农业银行股份有限公司 一种测试用例生成方法及装置
CN115047836A (zh) * 2022-06-27 2022-09-13 中国核动力研究设计院 基于dcs系统定期试验的试验用例生成和载入方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103164330A (zh) * 2011-12-14 2013-06-19 航天信息股份有限公司 软件测试用例自动生成方法
US20160292064A1 (en) * 2015-03-30 2016-10-06 Fujitsu Limited Iterative test generation based on data source analysis
US20170220455A1 (en) * 2016-01-29 2017-08-03 Mentor Graphics Corporation Test case generation using a constraint graph solver
CN107133174A (zh) * 2017-05-04 2017-09-05 浙江路港互通信息技术有限公司 测试用例代码自动生成装置与方法
CN108009082A (zh) * 2017-11-22 2018-05-08 中国航空工业集团公司西安飞机设计研究所 一种基于飞行管理的组合测试用例生成方法
CN108763094A (zh) * 2018-06-01 2018-11-06 百度在线网络技术(北京)有限公司 测试用例生成方法、装置、设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103164330A (zh) * 2011-12-14 2013-06-19 航天信息股份有限公司 软件测试用例自动生成方法
US20160292064A1 (en) * 2015-03-30 2016-10-06 Fujitsu Limited Iterative test generation based on data source analysis
US20170220455A1 (en) * 2016-01-29 2017-08-03 Mentor Graphics Corporation Test case generation using a constraint graph solver
CN107133174A (zh) * 2017-05-04 2017-09-05 浙江路港互通信息技术有限公司 测试用例代码自动生成装置与方法
CN108009082A (zh) * 2017-11-22 2018-05-08 中国航空工业集团公司西安飞机设计研究所 一种基于飞行管理的组合测试用例生成方法
CN108763094A (zh) * 2018-06-01 2018-11-06 百度在线网络技术(北京)有限公司 测试用例生成方法、装置、设备及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111475410A (zh) * 2020-03-31 2020-07-31 北京经纬恒润科技有限公司 一种测试用例生成方法及装置
CN112749084A (zh) * 2020-12-17 2021-05-04 中国农业银行股份有限公司 一种测试用例生成方法及装置
CN115047836A (zh) * 2022-06-27 2022-09-13 中国核动力研究设计院 基于dcs系统定期试验的试验用例生成和载入方法及系统

Similar Documents

Publication Publication Date Title
CN109491917A (zh) 一种测试用例处理方法及其装置
CN109459702A (zh) 基于车联网的电池状态分析方法及装置
CN104850110B (zh) 一种建立测试用例的方法及系统
CN101299004A (zh) 一种基于确定学习理论的振动故障诊断方法
CN104965147A (zh) 低压用户电能表串户检测系统及检测方法
WO2022199179A1 (zh) 一种设备的剩余寿命预测模型建模系统及方法、预测系统
CN107483283B (zh) 通讯可靠性测试方法和装置
CN110611531B (zh) 一种光模块故障诊断和预警的方法、装置以及系统
CN111061293A (zh) 多参数耦合的飞行器故障定位方法、飞行器及存储介质
CN112835755A (zh) 一种测试数据采集方法、装置、设备及计算机存储介质
Arcaini et al. Combining model-based testing and runtime monitoring for program testing in the presence of nondeterminism
CN105187608A (zh) 一种获取移动终端上应用程序耗电量的方法和装置
CN109062178A (zh) 一种自动化测试方法、装置、测试设备及存储介质
CN103885341B (zh) 基于汽车性能模拟器的性能分析系统和方法
CN113433921A (zh) 一种实车功能的测试方法、装置及控制设备
CN107703773A (zh) 一种基于硬件在环仿真系统的软件测试方法及装置
CN104679945A (zh) 基于有色Petri网的系统综合评估方法
CN112255548B (zh) 电池管理系统测试方法及其系统
CN113691669A (zh) 安卓手机app控制车辆全流程测试分析系统及方法
CN110031208B (zh) 中继阀故障诊断的方法及装置
CN109215816A (zh) 蒸汽发生器传热管完整性评估方法、系统及终端设备
CN112926756A (zh) 一种中央空调设备ai维修知识库应用方法
CN108006925A (zh) 空调应力测试方法、计算机装置、计算机可读存储介质
CN115511016B (zh) 一种基于增量主动学习的电费异常检测方法及其装置
CN116578873A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190319

RJ01 Rejection of invention patent application after publication