CN116820996A - 基于人工智能的集成测试用例自动生成方法和装置 - Google Patents

基于人工智能的集成测试用例自动生成方法和装置 Download PDF

Info

Publication number
CN116820996A
CN116820996A CN202310889854.9A CN202310889854A CN116820996A CN 116820996 A CN116820996 A CN 116820996A CN 202310889854 A CN202310889854 A CN 202310889854A CN 116820996 A CN116820996 A CN 116820996A
Authority
CN
China
Prior art keywords
integrated test
test
generating
integrated
data
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
CN202310889854.9A
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.)
Hangzhou Shenzhenzhilian Digital Technology Co ltd
Original Assignee
Hangzhou Shenzhenzhilian Digital 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 Hangzhou Shenzhenzhilian Digital Technology Co ltd filed Critical Hangzhou Shenzhenzhilian Digital Technology Co ltd
Priority to CN202310889854.9A priority Critical patent/CN116820996A/zh
Publication of CN116820996A publication Critical patent/CN116820996A/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/3688Test management for test execution, e.g. scheduling of test suites
    • 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

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

本发明涉及人工智能技术,公开了基于人工智能的集成测试用例自动生成方法和装置,其包括用户泳道、集成测试生成器泳道和人工智能模型泳道;通过集成测试生成器生成集成测试时间;利用插桩技术,在离线环境使用,模拟spring上下文的响应结果,让开发专注于细分层面的代码逻辑和业务场景;基于人工智能逻辑分支检测,自动生成集成测试类的方法覆盖率达到100%,行覆盖率可以达到95%以上。模板化集成测试代码结构,便于开发快速理解。基于运行速度加快,手写代码量减少。

Description

基于人工智能的集成测试用例自动生成方法和装置
技术领域
本发明涉及人工智能技术,尤其涉及了基于人工智能的集成测试用例自动生成方法和装置。
背景技术
现有技术中对集成测试用例,测试覆盖不全自动生成的测试可能无法完全覆盖所有的测试场景,特别是对于一些复杂的逻辑和边缘情况。这可能导致某些错误和问题被遗漏,影响到软件的质量和稳定性。
生成过多的测试用例,有些测试自动生成器可能会生成大量的测试用例,这不仅需要更多的时间和资源来运行这些测试,也会给测试的审查和维护带来挑战。尤其是在大型和复杂的项目中,过多的测试用例可能会导致测试过程变得繁琐和混乱。
需要人工审查和维护,自动生成的测试通常需要人工审查和维护,以确保测试的准确性和有效性。然而,这可能需要投入大量的时间和努力,尤其是在大型和复杂的项目中。学习和使用成本:使用测试自动生成器通常需要一定的学习和使用成本。例如,用户可能需要了解生成器的工作原理和使用方法,或者需要购买和维护相关的软件和硬件资源。一些测试自动生成器可能只支持特定的编程语言或框架。例如,Intellitest只支持.NET框架,对Java开发者来说无法使用。
如现有技术,CN202210679196.6现有技术中主要应用限定在了数据库领域,为过程性单元(即存储过程)生成集成测试。现有技术面向oracle数据库不能很好地面向java业务领域;为达到集成测试生成的目的,在输入表结构信息基础上,仍需额外配置血缘关系表;基于本地数据库和传统的字符串匹配;后者基于大模型庞大的语料库和生成式AI搜索。
发明内容
本发明针对现有技术中测试覆盖不全,自动生成的测试可能无法完全覆盖所有的测试场景,特别是对于一些复杂的逻辑和边缘情况;维护麻烦的问题,提供了基于人工智能的集成测试用例自动生成方法和装置。
为了解决上述技术问题,本发明通过下述技术方案得以解决:
基于人工智能的集成测试用例自动生成方法,包括用户泳道、集成测试生成器泳道和人工智能模型泳道,其方法包括:
S1,集成测试用例的类文件生成,选中需要生成集成测试用例集成测试的类或文件夹生成节点,用户在该节点执行操作,选中集成测试用例的类或文件夹,从而生成集成测试用例的类文件;
S2,类文件的解析,在集成测试生成器泳道进行类文件的解析;
S3,类文件测试模板的生成,在集成测试生成器泳道加载解析后的类文件从而生成用于类文件测试模板;
S4,类文件的检测,在集成测试生成器泳道对类文件测试模板进行检测;
S5,生成并存储集成测试类文件和主流程集成测试类文件,在集成测试生成器泳道对检测后的类文件进行生成并存储集成测试类文件和主流程的集成测试类文件;
S6,加载集成测试类文件数据生成模板,在集成测试生成器泳道加载集成测试数据并生成测试模板,用于生成集成测试代码;
S7,集成测试类文件数据生成模板解析,在集成测试生成器泳道对集成测试类文件数据生成模板进行解析;
S8,数据模型的提取,在人工智能模型泳道中对于解析后的集成测试类文件数据生成模板进行数据模型的提取;
S9,生成并存储集成测试数据及测试通用工具类,在集成测试生成器泳道生成并存储集成测试数据及测试通用工具类;
S10,存储运行结果数据,在集成测试生成器泳道存储集成测试运行的结果数据;
S11,生成并存储集成测试结果校验模块代码,在集成测试生成器泳道生成并存储集成测试结果校验模块的代码;
S12,测试用例的生成,在人工智能模型泳道中基于人工智能检测到的逻辑分支和领域数据知识,生成测试用例。
作为优选,对于生成并存储集成测试类文件和主流程集成测试类文件,还包括人工智能逻辑分支检测,在人工智能模型泳道中检测代码中的逻辑分支,以确定可能的测试场景。
作为优选,对于数据模型的提取后的文件还包括领域数据知识库检索和匹配,在人工智能模型泳道中从领域数据知识库中检索和匹配相关数据,用于测试生成和分析。
作为优选,对于生成并存储集成测试数据及测试通用工具类还包括集成测试数据的处理,启动集成测试运行容器,在集成测试生成器泳道启动用于运行集成测试的容器;并对集成测试结果进行判断,当集成测试运行结果通过则存储运行结果数据,在集成测试生成器泳道存储集成测试运行的结果数据;否则执行集成测试运行异常解析。
作为优选,集成测试类文件数据生成模板解析,包括依赖调用插桩数据解析和请求参数数据解析。
作为优选,类文件的检测包括依赖检测、引用变量检测和方法签名检测;依赖检测用于检测类文件中的依赖关系;引用变量检测用于检测类文件中的变量引用;方法签名检测用于检测类文件中的方法签名。
为了解决上述技术问题,本发明还提供了基于人工智能的集成测试用例自动生成装置,其包括通过所述的基于人工智能的集成测试用例自动生成方法实现的装置。
本发明由于采用了以上技术方案,具有显著的技术效果:
本发明占用***资源低,生成集成测试时间较现有技术瓶颈下降50%,集成测试运行时间下降80%以上,原本需等待30s跑完的集成测试,只需5秒完成。
本发明利用插桩技术,在离线环境使用,模拟spring上下文的响应结果,让开发专注于细分层面的代码逻辑和业务场景。
本发明手写代码量少基于人工智能逻辑分支检测,自动生成集成测试类的方法覆盖率达到100%,行覆盖率可以达到95%以上。有效的提高了开发人员的开发效率。
本发明模板化集成测试代码结构,便于开发快速理解。基于运行速度加快,手写代码量减少,带来的是开发生产力的解放。
附图说明
图1是本发明泳道图。
图2本发明的实施例2泳道图。
图3是本发明的批量文件集成测试生成图。
图4是本发明的运行和调整集成测试图。
具体实施方式
下面结合附图与实施例对本发明作进一步详细描述。
实施例 1
基于人工智能的集成测试用例自动生成方法,包括用户泳道、集成测试生成器泳道和人工智能模型泳道,其方法包括:
S1,集成测试用例的类文件生成,选中需要生成集成测试用例集成测试的类或文件夹生成节点,用户在该节点执行操作,选中集成测试用例的类或文件夹,从而生成集成测试用例的类文件;
S2,类文件的解析,在集成测试生成器泳道进行类文件的解析;
S3,类文件测试模板的生成,在集成测试生成器泳道加载解析后的类文件从而生成用于类文件测试模板;
S4,类文件的检测,在集成测试生成器泳道对类文件测试模板进行检测;
S5,生成并存储集成测试类文件和主流程集成测试类文件,在集成测试生成器泳道对检测后的类文件进行生成并存储集成测试类文件和主流程的集成测试类文件;
S6,加载集成测试类文件数据生成模板,在集成测试生成器泳道加载集成测试数据并生成测试模板,用于生成集成测试代码;
S7,集成测试类文件数据生成模板解析,在集成测试生成器泳道对集成测试类文件数据生成模板进行解析;
S8,数据模型的提取,在人工智能模型泳道中对于解析后的集成测试类文件数据生成模板进行数据模型的提取;
S9,生成并存储集成测试数据及测试通用工具类,在集成测试生成器泳道生成并存储集成测试数据及测试通用工具类;
S10,存储运行结果数据,在集成测试生成器泳道存储集成测试运行的结果数据;
S11,生成并存储集成测试结果校验模块代码,在集成测试生成器泳道生成并存储集成测试结果校验模块的代码;
S12,测试用例的生成,在人工智能模型泳道中基于人工智能检测到的逻辑分支和领域数据知识,生成测试用例。
集成测试类文件数据生成模板解析,包括依赖调用插桩数据解析和请求参数数据解析。
类文件的检测包括依赖检测、引用变量检测和方法签名检测;依赖检测用于检测类文件中的依赖关系;引用变量检测用于检测类文件中的变量引用;方法签名检测用于检测类文件中的方法签名。
实施例 2
在实施例1基础上,图2中用户泳道开始节点:表示流程的起始点。
选中需要生成集成测试的类或文件夹点击生成节点:用户在该节点执行操作,选中需要生成集成测试的类或文件夹,并点击生成按钮。确认生成结果节点:用户在该节点确认生成集成测试的结果。结束节点(结束泳道):表示流程的结束点。
对于集成测试生成器泳道解析类文件:根据类文件的类型,解析需要生成集成测试的类文件。加载类文件生成模板:加载类文件并生成测试模板,用于生成集成测试代码,集成测试类方法模板流程主要包括:数据读取和解析,插桩变量声明,被测试方法运行,测试结果和期望结果校验。依赖检测:检测类文件中的依赖关系,保证集成测试可在离线环境下独立运行。引用变量检测:检测类文件中的变量引用,判断引用变量是否需要联网和运行时上下文环境,若是则标记为需要插桩处理,保证集成测试可在离线环境下独立运行;方法签名检测:检测类文件中的方法签名,结合类文件路径作为集成测试方法的唯一标识;生成并存储集成测试类文件和主流程集成测试方法:生成并存储集成测试类文件和主流程的集成测试方法;生成并存储异常场景等逻辑分支的集成测试方法:生成并存储异常场景等逻辑分支的集成测试方法;加载集成测试数据生成模板:加载集成测试数据生成模板,限定数据的类型和范围等,用于生成集成测试数据;依赖调用插桩数据解析:基于引用变量检测步骤的标记,解析依赖调用插桩数据;请求参数数据解析:基于方法签名检测步骤的标记,解析请求参数数据;生成并存储集成测试数据:生成并存储集成测试数据,存储格式为JSON;生成并存储测试通用工具类:生成并存储测试通用工具类,包括统一校验返回的结果封装类,测试校验的工具类等。启动集成测试运行容器:启动用于运行集成测试的容器,预运行生成的集成测试,根据运行结果自循环微调集成测试的输入数据;存储运行结果数据:存储集成测试运行的结果数据;生成并存储集成测试结果校验模块代码:生成并存储集成测试结果校验模块的代码。
对于人工智能模型泳道;人工智能逻辑分支检测:检测代码中的逻辑分支,以确定可能的测试场景;领域数据知识库检索和匹配:从领域数据知识库中检索和匹配相关数据,用于测试数据生成;测试用例生成:基于人工智能检测到的逻辑分支和领域数据知识,生成相应的异常场景的集成测试。
基于AIGC、Mockito和Junit5,自动生成测试代码和对应测试数据。单个java文件集成测试生成:在java文件内右键点击"集成测试生成器-生成集成测试类和数据",集成测试生成器会自动生成对应的测试代码。图3为批量java文件集成测试生成:点击左侧project中的java文件所在目录,点击IDEA上方工具栏"Tools-批量集成测试类和数据生成"。图4为生成的json集成测试数据中,ExpectedResult为集成测试期望的结果,其他为mock的方法返回结果。可以根据实际情况进行修改。
实施例 3
在上述实施例基础上,本实施例提供了基于人工智能的集成测试用例自动生成装置,其包括通过所述的基于人工智能的集成测试用例自动生成方法实现的装置。

Claims (7)

1.基于人工智能的集成测试用例自动生成方法,包括用户泳道、集成测试生成器泳道和人工智能模型泳道,其方法包括:
S1,集成测试用例的类文件生成,选中需要生成集成测试用例集成测试的类或文件夹生成节点,用户在该节点执行操作,选中集成测试用例的类或文件夹,从而生成集成测试用例的类文件;
S2,类文件的解析,在集成测试生成器泳道进行类文件的解析;
S3,类文件测试模板的生成,在集成测试生成器泳道加载解析后的类文件从而生成用于类文件测试模板;
S4,类文件的检测,在集成测试生成器泳道对类文件测试模板进行检测;
S5,生成并存储集成测试类文件和主流程集成测试类文件,在集成测试生成器泳道对检测后的类文件进行生成并存储集成测试类文件和主流程的集成测试类文件;
S6,加载集成测试类文件数据生成模板,在集成测试生成器泳道加载集成测试数据并生成测试模板,用于生成集成测试代码;
S7,集成测试类文件数据生成模板解析,在集成测试生成器泳道对集成测试类文件数据生成模板进行解析;
S8,数据模型的提取,在人工智能模型泳道中对于解析后的集成测试类文件数据生成模板进行数据模型的提取;
S9,生成并存储集成测试数据及测试通用工具类,在集成测试生成器泳道生成并存储集成测试数据及测试通用工具类;
S10,存储运行结果数据,在集成测试生成器泳道存储集成测试运行的结果数据;
S11,生成并存储集成测试结果校验模块代码,在集成测试生成器泳道生成并存储集成测试结果校验模块的代码;
S12,测试用例的生成,在人工智能模型泳道中基于人工智能检测到的逻辑分支和领域数据知识,生成测试用例。
2.根据权利要求1所述的基于人工智能的集成测试用例自动生成方法,其特征在于,对于生成并存储集成测试类文件和主流程集成测试类文件,还包括人工智能逻辑分支检测,在人工智能模型泳道中检测代码中的逻辑分支,以确定可能的测试场景。
3.根据权利要求1所述的基于人工智能的集成测试用例自动生成方法,其特征在于,对于数据模型的提取后的文件还包括领域数据知识库检索和匹配,在人工智能模型泳道中从领域数据知识库中检索和匹配相关数据,用于测试生成和分析。
4.根据权利要求1所述的基于人工智能的集成测试用例自动生成方法,其特征在于,对于生成并存储集成测试数据及测试通用工具类还包括集成测试数据的处理,启动集成测试运行容器,在集成测试生成器泳道启动用于运行集成测试的容器;并对集成测试结果进行判断,当集成测试运行结果通过则存储运行结果数据,在集成测试生成器泳道存储集成测试运行的结果数据;否则执行集成测试运行异常解析。
5.根据权利要求1所述的基于人工智能的集成测试用例自动生成方法,其特征在于,集成测试类文件数据生成模板解析,包括依赖调用插桩数据解析和请求参数数据解析。
6.根据权利要求1所述的基于人工智能的集成测试用例自动生成方法,其特征在于,类文件的检测包括依赖检测、引用变量检测和方法签名检测;依赖检测用于检测类文件中的依赖关系;引用变量检测用于检测类文件中的变量引用;方法签名检测用于检测类文件中的方法签名。
7.基于人工智能的集成测试用例自动生成装置,其特征在于,包括通过权利要求1-6任一所述的基于人工智能的集成测试用例自动生成方法实现的装置。
CN202310889854.9A 2023-07-19 2023-07-19 基于人工智能的集成测试用例自动生成方法和装置 Pending CN116820996A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310889854.9A CN116820996A (zh) 2023-07-19 2023-07-19 基于人工智能的集成测试用例自动生成方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310889854.9A CN116820996A (zh) 2023-07-19 2023-07-19 基于人工智能的集成测试用例自动生成方法和装置

Publications (1)

Publication Number Publication Date
CN116820996A true CN116820996A (zh) 2023-09-29

Family

ID=88116707

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310889854.9A Pending CN116820996A (zh) 2023-07-19 2023-07-19 基于人工智能的集成测试用例自动生成方法和装置

Country Status (1)

Country Link
CN (1) CN116820996A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117667676A (zh) * 2023-11-21 2024-03-08 上海金仕达卫宁软件科技有限公司 基于aigc的区块链智能合约ide验证测试方法和***

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117667676A (zh) * 2023-11-21 2024-03-08 上海金仕达卫宁软件科技有限公司 基于aigc的区块链智能合约ide验证测试方法和***

Similar Documents

Publication Publication Date Title
CN110427331B (zh) 基于接口测试工具自动生成性能测试脚本的方法
US8875110B2 (en) Code inspection executing system for performing a code inspection of ABAP source codes
CN111382070B (zh) 兼容性测试方法、装置、存储介质和计算机设备
US20070061641A1 (en) Apparatus and method for generating test driver
CN112306855B (zh) 接口自动化测试方法、装置、终端和存储介质
CN108710571B (zh) 一种生成自动化测试代码的方法和装置
CN117009231B (zh) 基于对话式大语言模型的高可靠单元测试自动生成方法及装置
CN113434395B (zh) 测试用例的自动化生成方法、装置、设备及介质
CN116820996A (zh) 基于人工智能的集成测试用例自动生成方法和装置
CN117971706B (zh) 一种GBase数据库模糊测试用例生成方法及装置
EP3693860B1 (en) Generation of test models from behavior driven development scenarios based on behavior driven development step definitions and similarity analysis using neuro linguistic programming and machine learning mechanisms
CN109189688B (zh) 一种测试用例脚本的生成方法、生成装置及电子设备
CN113254024A (zh) 代码继承关系优化方法、装置、设备及存储介质
CN112631944A (zh) 基于抽象语法树的源码检测方法及装置、计算机存储介质
CN116483700A (zh) 一种基于反馈机制的api误用检测与修正方法
CN116340940A (zh) 代码识别方法、终端设备及存储介质
CN115828804A (zh) 一种修改rtl源代码文件的方法及电子设备
CN115543832A (zh) 一种软件代码标准性的检测方法、***、设备及存储介质
CN115470152A (zh) 测试代码生成方法、测试代码生成装置以及存储介质
CN115438341A (zh) 提取代码循环计数器的方法、装置、存储介质和电子设备
CN111078548B (zh) 测试用例解析方法、装置、存储介质及验证平台
CN112925874A (zh) 基于案例标记的相似代码搜索方法及***
CN113568662B (zh) 一种基于调用关系的代码变更影响范围分析方法及***
CN112181809B (zh) 一种基于多种定位方法的图形用户界面自动化测试方法
CN118312432A (zh) 脚本修复过程中的ui断言处理及生成方法

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