CN118113595A - 测试用例生成方法、装置、计算机设备和存储介质 - Google Patents
测试用例生成方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN118113595A CN118113595A CN202311597357.8A CN202311597357A CN118113595A CN 118113595 A CN118113595 A CN 118113595A CN 202311597357 A CN202311597357 A CN 202311597357A CN 118113595 A CN118113595 A CN 118113595A
- Authority
- CN
- China
- Prior art keywords
- test
- target application
- determining
- constraint condition
- target
- 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
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 475
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000004590 computer program Methods 0.000 claims description 30
- 238000010586 diagram Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 8
- 238000007405 data analysis Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013441 quality evaluation Methods 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请涉及一种测试用例生成方法、装置、计算机设备和存储介质。所述方法包括:根据目标应用的测试需求,确定所述目标应用的测试约束条件;根据所述目标应用的历史测试数据,对所述测试约束条件进行更新;根据更新后的测试约束条件,生成所述目标应用的目标测试用例。采用本方法能够更加高效、准确的生成用于测试目标应用的测试用例。
Description
技术领域
本申请涉及软件测试技术领域,特别是涉及一种测试用例生成方法、装置、计算机设备和存储介质。
背景技术
随着软件系统规模的不断扩大和复杂化,软件的架构开始逐渐向模块化转变,从而减少系统的耦合度和维护的复杂性。然而,在软件模块化的架构中,模块之间的高度依赖和约束,导致生成用于对软件进行测试的测试用例存在较大的挑战。
随机生成的合法或非法测试用例通常无法完成系统的质量评估需求,因此,测试用例应在基于已有约束的前提下,按照某些覆盖准则进行选取。在现有技术中,测试用例的生成方式,通常是由测试人员根据覆盖准则人工手动编写,生成测试用例。然而,这种传统的生成测试用例的方式,存在效率较低、准确性较低等问题。
发明内容
基于此,有必要针对上述技术问题,提供一种测试用例生成方法、装置、计算机设备和存储介质,能够更加高效、准确的生成用于测试目标应用的测试用例。
第一方面,本申请提供了一种测试用例生成方法,包括:
根据目标应用的测试需求,确定目标应用的测试约束条件;
根据目标应用的历史测试数据,对测试约束条件进行更新;
根据更新后的测试约束条件,生成目标应用的目标测试用例。
在其中一个实施例中,根据目标应用的测试需求,确定目标应用的测试约束条件,包括:
从目标应用的描述文本信息中,提取目标应用的测试需求;
基于大语言模型,根据测试需求,确定目标应用的测试约束条件。
在其中一个实施例中,若测试需求的数量为至少两个,则基于大语言模型,根据测试需求,确定目标应用的测试约束条件,包括:
将各测试需求输入至大语言模型中,得到各测试需求对应的单一约束条件;
对各测试需求对应的单一约束条件进行整合,得到目标应用的测试约束条件。
在其中一个实施例中,根据目标应用的历史测试数据,对测试约束条件进行更新,包括:
根据目标应用的历史测试数据,确定目标应用的衍生约束条件;
对衍生约束条件和测试约束条件进行整合,得到更新后的测试约束条件。
在其中一个实施例中,根据目标应用的历史测试数据,确定目标应用的衍生约束条件,包括:
根据目标应用的历史测试数据,确定目标应用的各候选测试意图;
根据各候选测试意图的重要性,从各候选测试意图中选择目标应用的附加测试意图;
将附加测试意图输入至大语言模型中,得到目标应用的衍生约束条件。
在其中一个实施例中,根据更新后的测试约束条件,生成目标应用的目标测试用例,包括:
采用约束求解器,根据更新后的测试约束条件,从候选测试用例中确定目标应用的目标测试用例。
第二方面,本申请还提供了一种测试用例生成装置,包括:
条件确定模块,用于根据目标应用的测试需求,确定目标应用的测试约束条件;
条件更新模块,用于根据目标应用的历史测试数据,对测试约束条件进行更新;
用例生成模块,用于根据更新后的测试约束条件,生成目标应用的目标测试用例。
第三方面,本申请还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
根据目标应用的测试需求,确定目标应用的测试约束条件;
根据目标应用的历史测试数据,对测试约束条件进行更新;
根据更新后的测试约束条件,生成目标应用的目标测试用例。
第四方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
根据目标应用的测试需求,确定目标应用的测试约束条件;
根据目标应用的历史测试数据,对测试约束条件进行更新;
根据更新后的测试约束条件,生成目标应用的目标测试用例。
第五方面,本申请还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
根据目标应用的测试需求,确定目标应用的测试约束条件;
根据目标应用的历史测试数据,对测试约束条件进行更新;
根据更新后的测试约束条件,生成目标应用的目标测试用例。
上述测试用例生成方法、装置、计算机设备和存储介质,通过引入目标应用的历史测试数据,对根据目标应用的测试需求所确定的目标应用的测试约束条件进行更新,能够更加高效、准确的生成更新后的测试约束条件;进一步的,通过根据更新后的测试约束条件,能够实现更加高效、准确的生成目标应用的目标测试用例的效果。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中测试用例生成方法的流程示意图;
图2为一个实施例中确定测试约束条件的流程示意图;
图3为另一个实施例中确定测试约束条件的流程示意图;
图4为一个实施例中确定更新后的测试约束条件的流程示意图;
图5为一个实施例中确定衍生约束条件的流程示意图;
图6为另一个实施例中测试用例生成方法的流程示意图;
图7为一个实施例中测试用例生成装置的结构框图;
图8为另一个实施例中测试用例生成装置的结构框图;
图9为又一个实施例中测试用例生成装置的结构框图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的测试用例生成方法,可以应用于在存在对目标应用进行测试的需求的情况下,如何生成目标应用的目标测试用例的场景中。可选的,该方法可以应用于服务器环境中。数据存储系统可以存储服务器需要处理的数据,例如目标应用的测试需求、目标应用的历史测试数据等数据。数据存储系统可以集成在服务器上,也可以放在云上或其他网络服务器上。
具体的,在存在对目标应用进行测试的需求的情况下,服务器可以根据目标应用的测试需求,确定目标应用的测试约束条件;根据目标应用的历史测试数据,对所确定的测试约束条件进行更新;进一步的,根据更新后的测试约束条件,能够生成目标应用的目标测试用例。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个示例性的实施例中,如图1所示,提供了一种测试用例生成方法,以该方法应用于服务器为例进行说明,可以理解的是,该方法也可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。包括以下步骤101至步骤103。其中:
S101,根据目标应用的测试需求,确定目标应用的测试约束条件。
其中,目标应用即为需要进行测试,存在测试用例生成需求的应用,例如某航空公司的航班查询应用等。测试需求即为一个或多个目标应用进行测试时的需求,例如,在目标应用为航班查询应用时,测试需求可以包括出发地与到达地不同、出发时间必须早于到达时间等。测试约束条件即为测试需求对应的逻辑表达式,例如,若测试新需求为出发地A1与到达地A2不同,则测试约束条件可以为(A1!=A2)。
可选的,在需要对目标应用进行测试,存在生成目标应用的测试用例的需求的情况下,可以从数据存储系统中,获取预先存储的目标应用的测试需求,进而将目标应用的测试需求输入至预先训练的约束条件生成模型中,通过约束条件生成模型,根据目标应用的测试需求,确定目标应用的测试约束条件。
S102,根据目标应用的历史测试数据,对测试约束条件进行更新。
其中,历史测试数据即为在历史时段内对目标应用进行测试的测试数据,可以包括在历史时段内对目标应用进行测试所采用的历史测试用例、历史测试需求等数据。
可选的,确定目标应用的测试约束条件后,可以将目标应用的历史测试数据输入至意图确定模型中,通过意图确定模型,确定目标应用在历史时段内进行测试的历史测试意图;进一步的,可以将历史测试意图和目标应用的测试约束条件输入至约束条件生成模型中,通过约束条件生成模型,根据历史测试意图,对目标应用的测试约束条件进行更新,进而确定更新后的测试约束条件。
S103,根据更新后的测试约束条件,生成目标应用的目标测试用例。
其中,目标测试用例即为生成的用于对目标应用进行测试的测试用例。
可选的,确定更新后的测试约束条件后,可以将更新后的测试约束条件转化为数据库的查询语句,进而根据所转换的查询语句,在预先构建的存储测试用例的数据库中进行查询,得到部分测试用例,进而将所查询到的部分测试用例,均作为目标应用的目标测试用例。
上述测试用例生成方法,通过引入目标应用的历史测试数据,对根据目标应用的测试需求所确定的目标应用的测试约束条件进行更新,能够更加高效、准确的生成更新后的测试约束条件;进一步的,通过根据更新后的测试约束条件,能够实现更加高效、准确的生成目标应用的目标测试用例的效果。
为了能够更加高效、准确的生成目标应用的目标测试用例,在上述实施例的基础上,在一个示例性的实施例中,为上述S103提供了一种可实施方式,可以采用约束求解器,根据更新后的测试约束条件,从候选测试用例中确定目标应用的目标测试用例。
其中,约束求解器即为用于对约束条件进行求解的工具。候选测试用例即为预先存储的可以用于对目标应用进行测试的测试用例,例如,候选测试用例可以为参数的取值范围为如下表1所示的测试用例。
表 1
可选的,确定更新后的测试约束条件后,可以将更新后的测试约束条件输入至约束求解器,通过约束求解器,基于预先存储的候选测试用例,对更新后的测试约束条件进行求解,从候选测试用例中确定目标应用的目标测试用例。
可以理解的是,通过引入约束求解器,基于预先存储的候选测试用例,对更新后的测试约束条件进行求解,能够实现更加快速、准确的确定目标应用的目标测试用例的效果。
为了更加准确的确定目标应用的测试约束条件,在一个示例性的实施例中,如图2所示,进一步的对上述S101进行细化,具体可以包括步骤201至步骤202。其中:
S201,从目标应用的描述文本信息中,提取目标应用的测试需求。
其中,描述文本信息即为对目标应用进行描述的文本信息,例如目标应用的说明文档等。
可选的,在存在对目标应用进行测试的需求的情况下,可以从数据存储系统中,获取预先存储的目标应用的描述文本信息;进一步的,可以将目标应用的描述文本信息输入至预先训练的语言分析模型中,基于语言分析模型,从目标应用的描述文本信息中提取得到目标应用的测试需求。例如,语言分析模型可以根据预先设定的关键词(例如“需要”、“大于”、“早于”等),从描述文本信息中进行提取,得到目标应用的测试需求。
S202,基于大语言模型,根据测试需求,确定目标应用的测试约束条件。
其中,大语言模型即为可以对自然语言进行分析,将自然语言转换为其他形式的模型,例如Chat GPT等。
可选的,提取得到目标应用的测试需求后,可以将目标应用的测试需求输入至预先训练好的大语言模型中,通过大语言模型,对目标应用的测试需求进行分析,将目标应用的测试需求转换为逻辑表达式形式的测试约束条件。例如,若目标应用的测试需求为出发地A1和到达地A2不同,则通过大语言模型,可以根据目标应用的测试需求,确定目标应用的测试约束条件为(A1!=A2)。
可以理解的是,通过引入大语言模型,根据从目标应用的描述文本信息中所提取的目标应用的测试需求,能够实现更加快速、准确的确定目标应用的测试约束条件的效果。
在测试需求的数量为至少两个的情况下,在上述实施例的基础上,在一个示例性的实施例中,如图3所示,进一步的对上述S202进行细化,具体可以包括步骤301至步骤302。其中:
S301,将各测试需求输入至大语言模型中,得到各测试需求对应的单一约束条件。
可选的,若目标应用的测试需求的数量为至少两个,则可以将各测试需求依次输入至大语言模型中,通过大语言模型,将各测试需求转换为各测试需求对应的单一约束条件。例如,若目标应用的测试需求包括出发地A1和到达地A2不同、出发时间T1早于到达时间T2,以及时间参数T的参数类型为日期型,则通过大语言模型,可以确定各测试需求对应的单一约束条件分别为(A1!=A2)、(T1<T2),以及(T=YYYY-MM-DD)。
S302,对各测试需求对应的单一约束条件进行整合,得到目标应用的测试约束条件。
可选的,得到各测试需求对应的单一约束条件后,可以基于预先设定的整合逻辑,对各测试需求对应的单一约束条件进行整合,进而生成目标应用的测试约束条件。例如,若预先设定的整合逻辑为出发地A1和到达地A2不同,且出发时间T1早于到达时间T2,且时间参数T的参数类型为日期型,则可以对各测试需求对应的单一约束条件进行整合,得到目标应用的测试约束条件为(A1!=A2) &(T1<T2)&(T=YYYY-MM-DD)。
需要说明的是,在目标应用的测试需求的数量为至少两个的情况下,通过基于大语言模型,根据目标应用的各测试需求,能够快速的确定各测试需求对应的单一约束条件;进而对各单一测试条件进行整合,能够实现更加高效、准确的确定目标应用的测试约束条件的效果。
为了能够更加准确的得到更新后的测试约束条件,在一个示例性的实施例中,如图4所示,进一步的对上述S102进行细化,具体可以包括步骤401至步骤402。其中:
S401,根据目标应用的历史测试数据,确定目标应用的衍生约束条件。
其中,衍生约束条件即为用于生成目标测试用例的外加约束条件。
可选的,可以将目标应用的历史测试数据输入至预先训练好的数据分析模型中,通过数据分析模型,对目标应用的历史测试数据进行分析,确定目标应用的衍生约束条件。例如,在目标应用为航班查询应用的情况下,通过对目标应用的历史测试数据进行分析,可以确定目标应用的衍生约束条件为(A1=‘北京’&A2=‘上海’)。
S402,对衍生约束条件和测试约束条件进行整合,得到更新后的测试约束条件。
可选的,确定目标应用的衍生约束条件后,可以基于预先设定的整合逻辑,对衍生约束条件和测试约束条件进行整合,进而得到更新后的测试约束条件。例如,若目标应用的衍生约束条件为(A1=‘北京’&A2=‘上海’),测试约束条件为(A1!=A2) &(T1<T2)&(T=YYYY-MM-DD),预先设定的整合逻辑为衍生约束条件且测试约束条件,则对衍生约束条件和测试约束条件进行整合,可以得到更新后的测试约束条件为(A1=‘北京’&A2=‘上海’) &(T1<T2)&(T=YYYY-MM-DD)。
可以理解的是,通过引入目标应用的历史测试数据,可以更加准确、全面的确定目标应用的衍生约束条件;进一步的,对衍生约束条件和测试约束条件进行整合,可以实现更加高效、准确的得到更新后的测试约束条件的效果。
为了能够更加准确的确定目标应用的衍生约束条件,在上述实施例的基础上,在一个示例性的实施例中,如图5所示,进一步的对上述S502进行细化,具体可以包括步骤501至步骤503。其中:
S501,根据目标应用的历史测试数据,确定目标应用的各候选测试意图。
其中,候选测试意图即为可以用于生成目标应用的测试用例的测试意图,可以为多个。
可选的,可以将目标应用的历史测试数据输入至预先训练好的数据分析模型中,通过数据分析模型,对目标应用的历史测试数据进行分析,确定目标应用的多个候选测试意图。例如,对目标应用的历史测试数据进行分析,可以确定目标应用的候选测试意图可以包括航班类型F为往返、出发地A1为北京且到达地A2为上海、出发地A1为北京且出发时间T1为2023年11月9日等。
S502,根据各候选测试意图的重要性,从各候选测试意图中选择目标应用的附加测试意图。
其中,各候选测试意图的重要性即为各候选测试意图对于生成目标应用的测试用例的重要性。附加测试意图即为确定用于生成目标应用的目标测试用例的测试意图。
可选的,可以对目标应用的历史测试数据进行分析,确定目标应用中各参数的重要性;进一步的,根据各参数的重要性,可以确定包含各参数的各候选测试意图的重要性;进一步的,可以将各候选测试意图中重要性最高的候选测试意图,作为目标应用的附加测试意图。例如,若目标应用中出发时间参数的重要性为最重要,其次为航班类型参数,最后为出发地参数,则可以确定各候选测试意图中,出发地A1为北京且出发时间T1为2023年11月9日的重要性为最高,其次是航班类型F为往返,最后为出发地A1为北京且到达地A2为上海;进而可以确定,附加测试意图为出发地A1为北京且出发时间T1为2023年11月9日。
S503,将附加测试意图输入至大语言模型中,得到目标应用的衍生约束条件。
可选的,确定附加测试意图后,可以将附加测试意图输入至大语言模型中,通过大语言模型,将附加测试意图转换为逻辑表达式形式的约束条件,作为目标应用的衍生约束条件。例如,若确定附加测试意图为出发地A1为北京且出发时间T1为2023年11月9日,则通过大语言模型,可以得到目标应用的衍生约束条件为(A1=‘北京’)&(T1=2023-11-09)。
需要说明的是,通过对目标应用的历史测试数据进行分析,能够更加准确的确定目标应用的多个候选测试意图;进而引入各候选测试意图的重要性,能够更加准确从各候选测试意图中选择目标应用的附加测试意图;进一步的,基于大语言模型,能够实现更加高效、准确的得到附加测试意图对应的衍生约束条件的效果。
在一个实施例中,如图6所示,提供了一种测试用例生成方法的优选实例。具体过程如下:
S601,从目标应用的描述文本信息中,提取目标应用的测试需求。
其中,测试需求的数量为至少两个。
S602,将各测试需求输入至大语言模型中,得到各测试需求对应的单一约束条件。
S603,对各测试需求对应的单一约束条件进行整合,得到目标应用的测试约束条件。
S604,根据目标应用的历史测试数据,确定目标应用的各候选测试意图。
S605,根据各候选测试意图的重要性,从各候选测试意图中选择目标应用的附加测试意图。
S606,将附加测试意图输入至大语言模型中,得到目标应用的衍生约束条件。
S607,对衍生约束条件和测试约束条件进行整合,得到更新后的测试约束条件。
S608,采用约束求解器,根据更新后的测试约束条件,从候选测试用例中确定目标应用的目标测试用例。
上述S601-S608的具体过程可以参见上述方法实施例的描述,其实现原理和技术效果类似,在此不再赘述。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的测试用例生成方法的测试用例生成装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个测试用例生成装置实施例中的具体限定可以参见上文中对于测试用例生成方法的限定,在此不再赘述。
在一个示例性的实施例中,如图7所示,提供了一种测试用例生成装置1,包括:条件确定模块10、条件更新模块20和用例生成模块30,其中:
条件确定模块10,用于根据目标应用的测试需求,确定目标应用的测试约束条件。
条件更新模块20,用于根据目标应用的历史测试数据,对测试约束条件进行更新。
用例生成模块30,用于根据更新后的测试约束条件,生成目标应用的目标测试用例。
在一个示例性的实施例中,在上述图7的基础上,如图8所示,上述条件确定模块10可以包括:
需求提取单元11,用于从目标应用的描述文本信息中,提取目标应用的测试需求。
第一确定单元12,用于基于大语言模型,根据测试需求,确定目标应用的测试约束条件。
在一个示例性的实施例中,上述第一确定单元12具体可以用于:
将各测试需求输入至大语言模型中,得到各测试需求对应的单一约束条件;对各测试需求对应的单一约束条件进行整合,得到目标应用的测试约束条件。
在一个示例性的实施例中,在上述图7或图8的基础上,如图9所示,上述条件更新模块20可以包括:
第二确定单元21,用于根据目标应用的历史测试数据,确定目标应用的衍生约束条件。
条件更新单元22,用于对衍生约束条件和测试约束条件进行整合,得到更新后的测试约束条件。
在一个示例性的实施例中,上述第二确定单元21具体可以用于:
根据目标应用的历史测试数据,确定目标应用的各候选测试意图;根据各候选测试意图的重要性,从各候选测试意图中选择目标应用的附加测试意图;将附加测试意图输入至大语言模型中,得到目标应用的衍生约束条件。
在一个示例性的实施例中,上述用例生成模块30具体可以用于:
采用约束求解器,根据更新后的测试约束条件,从候选测试用例中确定目标应用的目标测试用例。
上述测试用例生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个示例性的实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储目标应用的测试需求、目标应用的历史测试数据等数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种测试用例生成方法。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个示例性的实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
根据目标应用的测试需求,确定目标应用的测试约束条件;
根据目标应用的历史测试数据,对测试约束条件进行更新;
根据更新后的测试约束条件,生成目标应用的目标测试用例。
在一个实施例中,处理器执行计算机程序根据目标应用的测试需求,确定目标应用的测试约束条件的逻辑时,还实现以下步骤:
从目标应用的描述文本信息中,提取目标应用的测试需求;基于大语言模型,根据测试需求,确定目标应用的测试约束条件。
在一个实施例中,若测试需求的数量为至少两个,处理器执行计算机程序基于大语言模型,根据测试需求,确定目标应用的测试约束条件的逻辑时,还实现以下步骤:
将各测试需求输入至大语言模型中,得到各测试需求对应的单一约束条件;对各测试需求对应的单一约束条件进行整合,得到目标应用的测试约束条件。
在一个实施例中,处理器执行计算机程序根据目标应用的历史测试数据,对测试约束条件进行更新的逻辑时,还实现以下步骤:
根据目标应用的历史测试数据,确定目标应用的衍生约束条件;对衍生约束条件和测试约束条件进行整合,得到更新后的测试约束条件。
在一个实施例中,处理器执行计算机程序根据目标应用的历史测试数据,确定目标应用的衍生约束条件的逻辑时,还实现以下步骤:
根据目标应用的历史测试数据,确定目标应用的各候选测试意图;根据各候选测试意图的重要性,从各候选测试意图中选择目标应用的附加测试意图;将附加测试意图输入至大语言模型中,得到目标应用的衍生约束条件。
在一个实施例中,处理器执行计算机程序根据更新后的测试约束条件,生成目标应用的目标测试用例的逻辑时,还实现以下步骤:
采用约束求解器,根据更新后的测试约束条件,从候选测试用例中确定目标应用的目标测试用例。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
根据目标应用的测试需求,确定目标应用的测试约束条件;
根据目标应用的历史测试数据,对测试约束条件进行更新;
根据更新后的测试约束条件,生成目标应用的目标测试用例。
在一个实施例中,计算机程序根据目标应用的测试需求,确定目标应用的测试约束条件的逻辑被处理器执行时,还实现以下步骤:
从目标应用的描述文本信息中,提取目标应用的测试需求;基于大语言模型,根据测试需求,确定目标应用的测试约束条件。
在一个实施例中,若测试需求的数量为至少两个,计算机程序基于大语言模型,根据测试需求,确定目标应用的测试约束条件的逻辑被处理器执行时,还实现以下步骤:
将各测试需求输入至大语言模型中,得到各测试需求对应的单一约束条件;
对各测试需求对应的单一约束条件进行整合,得到目标应用的测试约束条件。
在一个实施例中,计算机程序根据目标应用的历史测试数据,对测试约束条件进行更新的逻辑被处理器执行时,还实现以下步骤:
根据目标应用的历史测试数据,确定目标应用的衍生约束条件;对衍生约束条件和测试约束条件进行整合,得到更新后的测试约束条件。
在一个实施例中,计算机程序根据目标应用的历史测试数据,确定目标应用的衍生约束条件的逻辑被处理器执行时,还实现以下步骤:
根据目标应用的历史测试数据,确定目标应用的各候选测试意图;根据各候选测试意图的重要性,从各候选测试意图中选择目标应用的附加测试意图;将附加测试意图输入至大语言模型中,得到目标应用的衍生约束条件。
在一个实施例中,计算机程序根据更新后的测试约束条件,生成目标应用的目标测试用例的逻辑被处理器执行时,还实现以下步骤:
采用约束求解器,根据更新后的测试约束条件,从候选测试用例中确定目标应用的目标测试用例。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
根据目标应用的测试需求,确定目标应用的测试约束条件;
根据目标应用的历史测试数据,对测试约束条件进行更新;
根据更新后的测试约束条件,生成目标应用的目标测试用例。
在一个实施例中,计算机程序根据目标应用的测试需求,确定目标应用的测试约束条件的逻辑被处理器执行时,还实现以下步骤:
从目标应用的描述文本信息中,提取目标应用的测试需求;基于大语言模型,根据测试需求,确定目标应用的测试约束条件。
在一个实施例中,若测试需求的数量为至少两个,计算机程序基于大语言模型,根据测试需求,确定目标应用的测试约束条件的逻辑被处理器执行时,还实现以下步骤:
将各测试需求输入至大语言模型中,得到各测试需求对应的单一约束条件;
对各测试需求对应的单一约束条件进行整合,得到目标应用的测试约束条件。
在一个实施例中,计算机程序根据目标应用的历史测试数据,对测试约束条件进行更新的逻辑被处理器执行时,还实现以下步骤:
根据目标应用的历史测试数据,确定目标应用的衍生约束条件;对衍生约束条件和测试约束条件进行整合,得到更新后的测试约束条件。
在一个实施例中,计算机程序根据目标应用的历史测试数据,确定目标应用的衍生约束条件的逻辑被处理器执行时,还实现以下步骤:
根据目标应用的历史测试数据,确定目标应用的各候选测试意图;根据各候选测试意图的重要性,从各候选测试意图中选择目标应用的附加测试意图;将附加测试意图输入至大语言模型中,得到目标应用的衍生约束条件。
在一个实施例中,计算机程序根据更新后的测试约束条件,生成目标应用的目标测试用例的逻辑被处理器执行时,还实现以下步骤:
采用约束求解器,根据更新后的测试约束条件,从候选测试用例中确定目标应用的目标测试用例。
需要说明的是,本申请所涉及的数据(包括但不限于用于目标应用的测试需求、目标应用的历史测试数据等数据),均为经过各方充分授权的数据,且相关数据的收集、使用和处理需要符合相关规定。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种测试用例生成方法,其特征在于,所述方法包括:
根据目标应用的测试需求,确定所述目标应用的测试约束条件;
根据所述目标应用的历史测试数据,对所述测试约束条件进行更新;
根据更新后的测试约束条件,生成所述目标应用的目标测试用例。
2.根据权利要求1所述的方法,其特征在于,所述根据目标应用的测试需求,确定所述目标应用的测试约束条件,包括:
从目标应用的描述文本信息中,提取所述目标应用的测试需求;
基于大语言模型,根据所述测试需求,确定所述目标应用的测试约束条件。
3.根据权利要求2所述的方法,其特征在于,若所述测试需求的数量为至少两个,则所述基于大语言模型,根据所述测试需求,确定所述目标应用的测试约束条件,包括:
将各测试需求输入至大语言模型中,得到各测试需求对应的单一约束条件;
对各测试需求对应的单一约束条件进行整合,得到所述目标应用的测试约束条件。
4.根据权利要求1所述的方法,其特征在于,所述根据所述目标应用的历史测试数据,对所述测试约束条件进行更新,包括:
根据所述目标应用的历史测试数据,确定所述目标应用的衍生约束条件;
对所述衍生约束条件和所述测试约束条件进行整合,得到更新后的测试约束条件。
5.根据权利要求4所述的方法,其特征在于,所述根据所述目标应用的历史测试数据,确定所述目标应用的衍生约束条件,包括:
根据所述目标应用的历史测试数据,确定所述目标应用的各候选测试意图;
根据各候选测试意图的重要性,从各候选测试意图中选择所述目标应用的附加测试意图;
将所述附加测试意图输入至大语言模型中,得到所述目标应用的衍生约束条件。
6.根据权利要求1所述的方法,其特征在于,所述根据更新后的测试约束条件,生成所述目标应用的目标测试用例,包括:
采用约束求解器,根据更新后的测试约束条件,从候选测试用例中确定所述目标应用的目标测试用例。
7.一种测试用例生成装置,其特征在于,所述装置包括:
条件确定模块,用于根据目标应用的测试需求,确定所述目标应用的测试约束条件;
条件更新模块,用于根据所述目标应用的历史测试数据,对所述测试约束条件进行更新;
用例生成模块,用于根据更新后的测试约束条件,生成所述目标应用的目标测试用例。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311597357.8A CN118113595A (zh) | 2023-11-28 | 2023-11-28 | 测试用例生成方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311597357.8A CN118113595A (zh) | 2023-11-28 | 2023-11-28 | 测试用例生成方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118113595A true CN118113595A (zh) | 2024-05-31 |
Family
ID=91214960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311597357.8A Pending CN118113595A (zh) | 2023-11-28 | 2023-11-28 | 测试用例生成方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118113595A (zh) |
-
2023
- 2023-11-28 CN CN202311597357.8A patent/CN118113595A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20160292591A1 (en) | Streamlined analytic model training and scoring system | |
US9135647B2 (en) | Methods and systems for flexible and scalable databases | |
US20190095400A1 (en) | Analytic system to incrementally update a support vector data description for outlier identification | |
CN110019116B (zh) | 数据追溯方法、装置、数据处理设备及计算机存储介质 | |
CN108140022B (zh) | 数据查询方法和数据库系统 | |
CN114238085A (zh) | 接口测试方法、装置、计算机设备、存储介质 | |
CN116737495A (zh) | 运行状态确定方法、装置、计算机设备和存储介质 | |
CN116975649A (zh) | 数据处理方法、装置、电子设备、存储介质及程序产品 | |
CN116561003A (zh) | 测试数据生成方法、装置、计算机设备和存储介质 | |
CN116155597A (zh) | 访问请求的处理方法、装置及计算机设备 | |
CN118113595A (zh) | 测试用例生成方法、装置、计算机设备和存储介质 | |
Tesfagiorgish et al. | Big data transformation testing based on data reverse engineering | |
CN115658680A (zh) | 数据存储方法、数据查询方法和相关装置 | |
Brazeau et al. | Morphological phylogenetic analysis with inapplicable data | |
CN116541454B (zh) | 事件配置方法、装置、计算机设备和存储介质 | |
CN117349131A (zh) | 系统错误信息的显示方法、装置和计算机设备 | |
CN117033172A (zh) | 测试数据处理方法、装置、设备、存储介质和程序产品 | |
CN116880927A (zh) | 规则管理方法、装置、计算机设备和存储介质 | |
CN118095623A (zh) | 反应堆运行策略生成方法、装置、设备、介质和产品 | |
CN117370339A (zh) | 报表血缘关系处理方法、装置、计算机设备和存储介质 | |
CN116910069A (zh) | 数据库更新方法、装置、计算机设备和存储介质 | |
CN117313666A (zh) | 信息采集方法、装置、设备、存储介质和程序产品 | |
CN116701784A (zh) | 网点查找方法、装置、设备、存储介质和程序产品 | |
CN117271445A (zh) | 日志数据处理方法、装置、服务器、存储介质和程序产品 | |
CN117349184A (zh) | 测试案例生成方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |