System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及软件测试,尤其涉及一种基于大语言模型的功能测试用例生成方法以及一种基于大语言模型的功能测试用例生成系统。
技术介绍
1、自动化功能测试用例生成是一种通过自动化工具和技术来创建功能测试用例的方法,能够提高软件测试的效率和覆盖率。现有技术包括以下测试方式,但存在各自的缺点,具体如下:
2、(1)基于传统自然语言处理技术的方案:需求文档中容易包含歧义、模糊或不精确的描述,传统nlp(natural language processing,自然语言处理)技术很难准确捕捉到这些细节或隐含的上下文。在处理复杂的句子结构和逻辑推理时,传统nlp技术容易出现错误理解,导致生成的测试用例不符合实际需求。
3、(2)基于行为驱动开发的方案:需要在项目初期编写详细的需求描述,且这些描述必须采用规范化的语言(如gherkin)。对于缺乏规范文档或变化频繁的项目,编写和维护这些需求文档的成本较高。行为驱动开发的描述语言更适合简单的业务场景描述。对于复杂的业务逻辑和交互场景,使用行为驱动开发编写测试描述可能会导致需求文档冗长且难以维护。
4、(3)基于模型的方案:构建和维护反映需求文档的模型是一个耗时且技术性强的过程,特别是当系统的需求复杂或需求变动频繁时,更新模型所需的成本较高。系统功能变化时,模型需要同步更新,尤其是在需求变更频繁的项目中,维护多个复杂的测试模型可能带来极大的工作量和技术负担。因此基于模型的方案在资源消耗、人力成本和实时性等需求上并不是最优。
5、综上所述,在需求文档描述不够
技术实现思路
1、针对上述问题,本专利技术提供了一种基于大语言模型的功能测试用例生成方法及系统,通过解析需求文档并转换为树形中间表示,从中间表示提取出所有细粒度需求点,通过设计提示词使用大语言模型生成功能测试用例并拼接,得到最终功能测试用例结果,生成的功能测试用例能够迅速同步需求的变更,能够提取出每个细粒度需求点进行针对性生成功能测试用例,减少了编写需求文档时的复杂度,节省时间和人力。
2、为实现上述目的,本专利技术提供了一种基于大语言模型的功能测试用例生成方法,包括:
3、获取需求文档,并将所述需求文档解析为树形结构的中间表示;
4、遍历所述中间表示的树形路径进行细粒度需求点提取,得到所有细粒度需求点;
5、根据所述细粒度需求点设计功能测试用例的提示词,并根据所述提示词进行大语言模型生成功能测试用例;
6、根据所述功能测试用例进行后处理,提取所述功能测试用例的字段,生成最终功能测试用例结果。
7、在上述技术方案中,优选地,所述将所述需求文档解析为树形结构的中间表示,具体过程包括:
8、按照所述需求文档的标题层级与普通文本的关联关系,将所述需求文档解析为树形结构的中间表示。
9、在上述技术方案中,优选地,所述遍历所述中间表示的树形路径进行细粒度需求点提取,得到所有细粒度需求点,具体过程包括:
10、遍历所述中间表示由根节点至每个叶子节点的树形路径;
11、将每条树形路径上所有节点的标题和文本进行拼接,得到一条细粒度需求点;
12、将所有树形路径对应的所有细粒度需求点存储至列表。
13、在上述技术方案中,优选地,所述根据所述细粒度需求点设计功能测试用例的提示词,并根据所述提示词进行大语言模型生成功能测试用例,具体过程包括:
14、设计从所述细粒度需求点中提取功能测试用例的提示词,将每个细粒度需求点填充进提示词将所述列表中的每个细粒度需求点填充作为所述大语言模型的提示词;
15、根据所述提示词由所述大语言模型生成功能测试用例。
16、在上述技术方案中,优选地,所述根据所述功能测试用例进行后处理,提取所述功能测试用例的字段,生成最终功能测试用例结果,具体过程包括:
17、对所述功能测试用例进行后处理,提取出每个所述功能测试用例包含的字段,其中,所述字段包括模块名称、标题、前提条件、测试步骤、预期结果和用例属性;
18、将提取出的所有功能测试用例字段进行拼接,生成最终功能测试用例结果。
19、本专利技术还提出一种基于大语言模型的功能测试用例生成系统,应用如上述技术方案中任一项公开的基于大语言模型的功能测试用例生成方法,包括:
20、需求文档解析模块,用于获取需求文档,并将所述需求文档解析为树形结构的中间表示;
21、需求遍历提取模块,用于遍历所述中间表示的树形路径进行细粒度需求点提取,得到所有细粒度需求点;
22、测试用例生成模块,用于根据所述细粒度需求点设计功能测试用例的提示词,并根据所述提示词进行大语言模型生成功能测试用例;
23、最终结果生成模块,用于根据所述功能测试用例进行后处理,提取所述功能测试用例的字段,生成最终功能测试用例结果。
24、在上述技术方案中,优选地,所述需求文档解析模块具体用于:
25、按照所述需求文档的标题层级与普通文本的关联关系,将所述需求文档解析为树形结构的中间表示。
26、在上述技术方案中,优选地,所述需求遍历提取模块具体用于:
27、遍历所述中间表示由根节点至每个叶子节点的树形路径;
28、将每条树形路径上所有节点的标题和文本进行拼接,得到一条细粒度需求点;
29、将所有树形路径对应的所有细粒度需求点存储至列表。
30、在上述技术方案中,优选地,所述测试用例生成模块具体用于:
31、将所述列表中的每个细粒度需求点填充作为所述大语言模型的提示词;
32、根据所述提示词由所述大语言模型生成功能测试用例。
33、在上述技术方案中,优选地,所述最终结果生成模块具体用于:
34、对所述功能测试用例进行后处理,提取出每个所述功能测试用例包含的字段,其中,所述字段包括模块名称、标题、前提条件、测试步骤、预期结果和用例属性;
35、将提取出的所有功能测试用例字段进行拼接,生成最终功能测试用例结果。
36、与现有技术相比,本专利技术的有益效果为:通过解析需求文档并转换为树形中间表示,从中间表示提取出所有细粒度需求点,通过设计提示词使用大语言模型生成功能测试用例并拼接,得到最终功能测试用例结果,生成的功能测试用例能够迅速同步需求的变更,能够提取出每个细粒度需求点进行针对性生成功能测试用例,减少了编写需求文档时的复杂度,节省时间和人力。
本文档来自技高网...【技术保护点】
1.一种基于大语言模型的功能测试用例生成方法,其特征在于,包括:
2.根据权利要求1所述的基于大语言模型的功能测试用例生成方法,其特征在于,所述将所述需求文档解析为树形结构的中间表示,具体过程包括:
3.根据权利要求2所述的基于大语言模型的功能测试用例生成方法,其特征在于,所述遍历所述中间表示的树形路径进行细粒度需求点提取,得到所有细粒度需求点,具体过程包括:
4.根据权利要求3所述的基于大语言模型的功能测试用例生成方法,其特征在于,所述根据所述细粒度需求点设计功能测试用例的提示词,并根据所述提示词进行大语言模型生成功能测试用例,具体过程包括:
5.根据权利要求4所述的基于大语言模型的功能测试用例生成方法,其特征在于,所述根据所述功能测试用例进行后处理,提取所述功能测试用例的字段,生成最终功能测试用例结果,具体过程包括:
6.一种基于大语言模型的功能测试用例生成系统,其特征在于,应用如权利要求1至5中任一项所述的基于大语言模型的功能测试用例生成方法,包括:
7.根据权利要求6所述的基于大语言模型的功能测试用例
8.根据权利要求7所述的基于大语言模型的功能测试用例生成系统,其特征在于,所述需求遍历提取模块具体用于:
9.根据权利要求8所述的基于大语言模型的功能测试用例生成系统,其特征在于,所述测试用例生成模块具体用于:
10.根据权利要求9所述的基于大语言模型的功能测试用例生成系统,其特征在于,所述最终结果生成模块具体用于:
...【技术特征摘要】
1.一种基于大语言模型的功能测试用例生成方法,其特征在于,包括:
2.根据权利要求1所述的基于大语言模型的功能测试用例生成方法,其特征在于,所述将所述需求文档解析为树形结构的中间表示,具体过程包括:
3.根据权利要求2所述的基于大语言模型的功能测试用例生成方法,其特征在于,所述遍历所述中间表示的树形路径进行细粒度需求点提取,得到所有细粒度需求点,具体过程包括:
4.根据权利要求3所述的基于大语言模型的功能测试用例生成方法,其特征在于,所述根据所述细粒度需求点设计功能测试用例的提示词,并根据所述提示词进行大语言模型生成功能测试用例,具体过程包括:
5.根据权利要求4所述的基于大语言模型的功能测试用例生成方法,其特征在于,所述根据所述功能测试用例进行...
【专利技术属性】
技术研发人员:于子珺,王进,李笑妃,高艳芝,师博洋,王雪,
申请(专利权)人:神州数码融信软件有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。