CN110597718A - 一种基于ai的自动化测试实现方法和系统 - Google Patents

一种基于ai的自动化测试实现方法和系统 Download PDF

Info

Publication number
CN110597718A
CN110597718A CN201910815142.6A CN201910815142A CN110597718A CN 110597718 A CN110597718 A CN 110597718A CN 201910815142 A CN201910815142 A CN 201910815142A CN 110597718 A CN110597718 A CN 110597718A
Authority
CN
China
Prior art keywords
testing
model
automatic
test
module
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.)
Withdrawn
Application number
CN201910815142.6A
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.)
Suzhou Wave Intelligent Technology Co Ltd
Original Assignee
Suzhou Wave Intelligent 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 Suzhou Wave Intelligent Technology Co Ltd filed Critical Suzhou Wave Intelligent Technology Co Ltd
Priority to CN201910815142.6A priority Critical patent/CN110597718A/zh
Publication of CN110597718A publication Critical patent/CN110597718A/zh
Withdrawn 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
    • 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/3692Test management for test results analysis

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

本发明实施例公开了一种基于AI的自动化测试实现方法和系统,所述方法包括:在软件产品测试及自动化测试过程中,收集测试数据,分析产品日志log中的错误信息error及出现所述error时对应的缺陷类型,建立系统log与缺陷的关联关系;根据所述关联关系创建AI模型,在测试过程中持续训练该模型;当所述AI模型训练达到预定级别后,将所述AI模型应用到自动化测试框架中,通过执行自动化测试脚本对所述软件产品进行测试。本发明实施例可以通过在软件自动化测试脚本中运行AI模型,提高了发现软件产品缺陷的效率。

Description

一种基于AI的自动化测试实现方法和系统
技术领域
本发明涉及软件测试技术,尤指一种基于AI的自动化测试实现方法和系统。
背景技术
目前人工智能(AI)技术逐渐成熟,以大数据+深度学习的模式在自动规划、智能搜索、自动程序设计、智能控制、机器人学、语言和图像理解、遗传编程等应用场景上解决实际的问题;软件自动化测试在业界已形成多种架构的自动化测试框架,应用在不同编程语言的项目开发过程中。
现有技术中,目前对软件产品的自动化测试一般采用对基于项目需求设计的测试用例脚本编写上面,追求需求测试的覆盖率,执行测试脚本需要全量执行,覆盖所有已经自动化测试的需求。
然而,在采用现有技术的自软件动化测试方法时,自动化测试执行效率随项目需求量的增多而逐渐降低,且软件自动化测试仅能覆盖功能应用程序编程接口(ApplicationProgramming Interface,API)测试及用户界面(User Interface,UI)的功能验证方面,对底层代码运行的日志(log)上未进行关注和测试,发现软件产品的缺陷后,需要人工再次进行排查,定位产生缺陷的代码及原因,无法直接给出产生缺陷的根本原因;对所有的API和功能点都进行测试,未对整个项目的API和功能点进行权重分配,未对产生缺陷较多的代码块或模块进行重点测试。
发明内容
为了解决上述技术问题,本发明实施例提供了一种基于AI的自动化测试实现方法和系统,可以通过在软件自动化测试脚本中运行AI模型,提高了发现软件产品缺陷的效率。
为了达到本发明目的,一方面,本发明实施例提供了一种基于AI的自动化测试实现方法,包括:
在软件产品测试及自动化测试过程中,收集测试数据,分析产品日志log中的错误信息error及出现所述error时对应的缺陷类型,建立系统log与缺陷的关联关系;
根据所述关联关系创建AI模型,在测试过程中持续训练该模型;
当所述AI模型训练达到预定级别后,将所述AI模型应用到自动化测试框架中,通过执行自动化测试脚本对所述软件产品进行测试。
进一步地,通过执行自动化测试脚本对所述软件产品进行测试还包括:
测试过程中收集执行记录,根据执行记录获取的测试结果持续对所述AI模型及自动化测试脚本进行优化。
进一步地,通过执行自动化测试脚本对所述软件产品进行测试还包括:
执行自动化测试脚本中,当发现缺陷时,自动提交所述缺陷数据到缺陷管理系统。
进一步地,通过执行自动化测试脚本对所述软件产品进行测试还包括:
执行自动化测试脚本中,收集分析被测软件日志log,对log中错误error及错误码较多的代码块或模块作为需要重点测试的模块,补充自动化测试脚本,并应用到所述自动化测试框架中。
进一步地,通过执行自动化测试脚本对所述软件产品进行测试还包括:
针对有error或错误码且被测软件功能不可用的部分,调整所述AI模型参数。
另一方面,本发明实施例还提供了一种基于AI的自动化测试实现系统,包括:
建立模块,用于在软件产品测试及自动化测试过程中,收集测试数据,分析产品日志log中的错误信息error及出现所述error时对应的缺陷类型,建立系统log与缺陷的关联关系;
训练模块,用于根据所述关联关系创建AI模型,在测试过程中持续训练该模型;
测试模块,用于当所述AI模型训练达到预定级别后,将所述AI模型应用到自动化测试框架中,通过执行自动化测试脚本对所述软件产品进行测试。
进一步地,所述测试模块还用于:
测试过程中收集执行记录,根据执行记录获取的测试结果持续对所述AI模型及自动化测试脚本进行优化。
进一步地,所述测试模块还用于:
执行自动化测试脚本中,当发现缺陷时,自动提交所述缺陷数据到缺陷管理系统。
进一步地,所述测试模块还用于:
执行自动化测试脚本中,收集分析被测软件日志log,对log中错误error及错误码较多的代码块或模块作为需要重点测试的模块,补充自动化测试脚本,并应用到所述自动化测试框架中。
进一步地,所述测试模块还用于:
针对有error或错误码且被测软件功能不可用的部分,调整所述AI模型参数。
本发明实施例通过在软件产品测试及自动化测试过程中,收集测试数据,分析产品日志log中的错误信息error及出现所述error时对应的缺陷类型,建立系统log与缺陷的关联关系;根据所述关联关系创建AI模型,在测试过程中持续训练该模型;当所述AI模型训练达到预定级别后,将所述AI模型应用到自动化测试框架中,通过执行自动化测试脚本对所述软件产品进行测试。本发明实施例可以通过在软件自动化测试脚本中运行AI模型,提高了发现软件产品缺陷的效率。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明实施例基于AI的自动化测试实现方法的流程图;
图2为本发明实施例基于AI的自动化测试实现方法中的协作数据流图;
图3为本发明实施例基于AI的自动化测试实现系统的结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1为本发明实施例基于AI的自动化测试实现方法的流程图,如图1所示,本发明实施例的方法包括以下步骤:
步骤101:在软件产品测试及自动化测试过程中,收集测试数据,分析产品日志log中的错误信息error及出现所述error时对应的缺陷类型,建立系统log与缺陷的关联关系;
具体地,本发明实施例在软件自动化测试编写脚本时加入基于AI的数据模型,从而可以加快在软件自动化测试时发现问题的速度。
本发明实施例可以解决如何将自动化测试执行失败的原因直接反馈,省去人工确认及排查缺陷原因的过程;如何对代码质量较差的代码块或模块进行重点测试,从而使得本发明实施例能够提高软件产品开发和测试效率,缩短项目工期,降低项目延期风险。
步骤102:根据所述关联关系创建AI模型,在测试过程中持续训练该模型;
其中,AI模型为机器学习采用的算法。模型文件一般说的是这个算法用到的各种输入、输出数据的值。因为机器学习往往需要大量的运算,所以有必要将中间变量也存入文件中,以便可以多次地运算。
步骤103:当所述AI模型训练达到预定级别后,将所述AI模型应用到自动化测试框架中,通过执行自动化测试脚本对所述软件产品进行测试。
具体地,根据AI模型训练的流程及自动化测试的开发过程,本发明实施例在软件自动化测试脚本开发过程的流程依次为:测试数据采集分析;AI模型开发;AI模型训练;模型应用在软件自动化测试脚本中,每次运行自动化测试脚本后,根据测试结果持续优化AI模型,提高发现软件产品缺陷的效率。
进一步地,通过执行自动化测试脚本对所述软件产品进行测试还包括:
测试过程中收集执行记录,根据执行记录获取的测试结果持续对所述AI模型及自动化测试脚本进行优化。
进一步地,通过执行自动化测试脚本对所述软件产品进行测试还包括:
执行自动化测试脚本中,当发现缺陷时,自动提交所述缺陷数据到缺陷管理系统。
进一步地,通过执行自动化测试脚本对所述软件产品进行测试还包括:
执行自动化测试脚本中,收集分析被测软件日志log,对log中错误error及错误码较多的代码块或模块作为需要重点测试的模块,补充自动化测试脚本,并应用到所述自动化测试框架中。
进一步地,通过执行自动化测试脚本对所述软件产品进行测试还包括:
针对有error或错误码且被测软件功能不可用的部分,调整所述AI模型参数。
本发明实施例通过持续对被测试软件产品的缺陷定位,收集软件产品在测试过程中产生缺陷时系统log中的错误error、错误码信息,及对应的缺陷类型,并建立对应的AI模型,将log的error、错误码信息与缺陷类型进行关联;模型开发完成后,在实际的产品测试中持续完善系统信息与缺陷的关联关系,通过AI的监督式学习逐步提高模型的成熟度;模型训练完成后,在编写自动化测试脚本时,将模型应用到自动化测试框架中,通过不断执行自动化测试脚本,发现软件产品的缺陷,并分析出错较多的代码块或功能模块,有针对性的增加这部分代码或模块的自动化测试脚本;通过自动化测试工具与缺陷管理系统的集成,实现自动化测试的缺陷自动提交,提高测试效率及确定重点测试范围,实现快速和高质量的软件测试。
其中,监督式学习是指:给学习算法提供标记的数据和所需的输出,对于每一个输入,学习者都被提供了一个回应的目标。监督式学习主要被应用于快速高效地教熟AI现有的知识,被用于解决分类和回归的问题。
本发明实施例技术方案详细阐述如下:
图2为本发明实施例基于AI的自动化测试实现方法中的协作数据流图,如图2所示,其中涉及到三个个任务过程,实线箭头表示具体任务的流程,具体包括:
收集测试数据:在日常的软件产品测试及自动化测试过程中,收集并分析产品log中的error、错误码等信息及出现error时对应的缺陷类型,建立关联关系。
AI模型建立及训练:根据关联关系创建AI模型,在软件测试过程中不断完善、验证、训练该模型,提高模型的成熟度。
在AI模型的成熟度达到可应用级别后,在软件自动化测试框架中加入该模型,通过持续执行自动化测试脚本,根据执行结果检查、完善模型及自动化测试脚本:自动化测试脚本执行失败后可以自动提交缺陷到缺陷管理系统;收集分析被测软件log,针对log中error及错误码较多的代码块或模块新增自动化测试脚本;针对有error或错误码且被测软件功能不可用的部分,调整AI模型参数,提高模型的成熟度。
本发明实施例能够收集分析测试数据建立关联关系,并根据关联关系建立AI模型,持续训练提高AI模型的成熟度。
将AI模型应用到自动化测试框架中,并根据自动化测试脚本执行结果,自动提交缺陷、补充自动化测试脚本及完善调整模型参数,提高AI模型的成熟度。
图3为本发明实施例基于AI的自动化测试实现系统的结构图,如图3所示,本发明实施例另一方面提供的一种基于AI的自动化测试实现系统,包括:
建立模块301,用于在软件产品测试及自动化测试过程中,收集测试数据,分析产品日志log中的错误信息error及出现所述error时对应的缺陷类型,建立系统log与缺陷的关联关系;
训练模块302,用于根据所述关联关系创建AI模型,在测试过程中持续训练该模型;
测试模块303,用于当所述AI模型训练达到预定级别后,将所述AI模型应用到自动化测试框架中,通过执行自动化测试脚本对所述软件产品进行测试。
进一步地,所述测试模块303还用于:
测试过程中收集执行记录,根据执行记录获取的测试结果持续对所述AI模型及自动化测试脚本进行优化。
进一步地,所述测试模块303还用于:
执行自动化测试脚本中,当发现缺陷时,自动提交所述缺陷数据到缺陷管理系统。
进一步地,所述测试模块303还用于:
执行自动化测试脚本中,收集分析被测软件日志log,对log中错误error及错误码较多的代码块或模块作为需要重点测试的模块,补充自动化测试脚本,并应用到所述自动化测试框架中。
进一步地,所述测试模块303还用于:
针对有error或错误码且被测软件功能不可用的部分,调整所述AI模型参数。
具体地,本发明实施例中技术方案能够收集分析测试数据,建立系统log与缺陷的关联关系;
根据关联关系建立AI模型,并将AI模型应用到自动化测试框架中;
无需人工定位缺陷,可持续优化AI模型及自动化测试框架。
综上所述,本发明实施例通过在软件产品测试及自动化测试过程中,收集测试数据,分析产品日志log中的错误信息error及出现所述error时对应的缺陷类型,建立系统log与缺陷的关联关系;根据所述关联关系创建AI模型,在测试过程中持续训练该模型;当所述AI模型训练达到预定级别后,将所述AI模型应用到自动化测试框架中,通过执行自动化测试脚本对所述软件产品进行测试。本发明实施例可以通过在软件自动化测试脚本中运行AI模型,提高了发现软件产品缺陷的效率。
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

Claims (10)

1.一种基于人工智能AI的自动化测试实现方法,其特征在于,包括:
在软件产品测试及自动化测试过程中,收集测试数据,分析产品日志log中的错误信息error及出现所述error时对应的缺陷类型,建立系统log与缺陷的关联关系;
根据所述关联关系创建AI模型,在测试过程中持续训练该模型;
当所述AI模型训练达到预定级别后,将所述AI模型应用到自动化测试框架中,通过执行自动化测试脚本对所述软件产品进行测试。
2.根据权利要求1所述的基于AI的自动化测试实现方法,其特征在于,通过执行自动化测试脚本对所述软件产品进行测试还包括:
测试过程中收集执行记录,根据执行记录获取的测试结果持续对所述AI模型及自动化测试脚本进行优化。
3.根据权利要求2所述的基于AI的自动化测试实现方法,其特征在于,通过执行自动化测试脚本对所述软件产品进行测试还包括:
执行自动化测试脚本中,当发现缺陷时,自动提交所述缺陷数据到缺陷管理系统。
4.根据权利要求3所述的基于AI的自动化测试实现方法,其特征在于,通过执行自动化测试脚本对所述软件产品进行测试还包括:
执行自动化测试脚本中,收集分析被测软件日志log,对log中错误error及错误码较多的代码块或模块作为需要重点测试的模块,补充自动化测试脚本,并应用到所述自动化测试框架中。
5.根据权利要求4所述的基于AI的自动化测试实现方法,其特征在于,通过执行自动化测试脚本对所述软件产品进行测试还包括:
针对有error或错误码且被测软件功能不可用的部分,调整所述AI模型参数。
6.一种基于AI的自动化测试实现系统,其特征在于,包括:
建立模块,用于在软件产品测试及自动化测试过程中,收集测试数据,分析产品日志log中的错误信息error及出现所述error时对应的缺陷类型,建立系统log与缺陷的关联关系;
训练模块,用于根据所述关联关系创建AI模型,在测试过程中持续训练该模型;
测试模块,用于当所述AI模型训练达到预定级别后,将所述AI模型应用到自动化测试框架中,通过执行自动化测试脚本对所述软件产品进行测试。
7.根据权利要求6所述的基于AI的自动化测试实现系统,其特征在于,所述测试模块还用于:
测试过程中收集执行记录,根据执行记录获取的测试结果持续对所述AI模型及自动化测试脚本进行优化。
8.根据权利要求7所述的基于AI的自动化测试实现系统,其特征在于,所述测试模块还用于:
执行自动化测试脚本中,当发现缺陷时,自动提交所述缺陷数据到缺陷管理系统。
9.根据权利要求8所述的基于AI的自动化测试实现系统,其特征在于,所述测试模块还用于:
执行自动化测试脚本中,收集分析被测软件日志log,对log中错误error及错误码较多的代码块或模块作为需要重点测试的模块,补充自动化测试脚本,并应用到所述自动化测试框架中。
10.根据权利要求9所述的基于AI的自动化测试实现系统,其特征在于,所述测试模块还用于:
针对有error或错误码且被测软件功能不可用的部分,调整所述AI模型参数。
CN201910815142.6A 2019-08-30 2019-08-30 一种基于ai的自动化测试实现方法和系统 Withdrawn CN110597718A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910815142.6A CN110597718A (zh) 2019-08-30 2019-08-30 一种基于ai的自动化测试实现方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910815142.6A CN110597718A (zh) 2019-08-30 2019-08-30 一种基于ai的自动化测试实现方法和系统

Publications (1)

Publication Number Publication Date
CN110597718A true CN110597718A (zh) 2019-12-20

Family

ID=68856525

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910815142.6A Withdrawn CN110597718A (zh) 2019-08-30 2019-08-30 一种基于ai的自动化测试实现方法和系统

Country Status (1)

Country Link
CN (1) CN110597718A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111444110A (zh) * 2020-04-15 2020-07-24 中国银行股份有限公司 一种数据分析方法及装置
CN111949525A (zh) * 2020-08-04 2020-11-17 上海金仕达软件科技有限公司 基于ai的健壮性智能测试系统及其测试方法
CN112817863A (zh) * 2021-02-23 2021-05-18 福建天泉教育科技有限公司 一种基于ai深度学习的ai辅助自动化测试方法及系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111444110A (zh) * 2020-04-15 2020-07-24 中国银行股份有限公司 一种数据分析方法及装置
CN111444110B (zh) * 2020-04-15 2024-01-23 中国银行股份有限公司 一种数据分析方法及装置
CN111949525A (zh) * 2020-08-04 2020-11-17 上海金仕达软件科技有限公司 基于ai的健壮性智能测试系统及其测试方法
CN112817863A (zh) * 2021-02-23 2021-05-18 福建天泉教育科技有限公司 一种基于ai深度学习的ai辅助自动化测试方法及系统
CN112817863B (zh) * 2021-02-23 2023-09-22 福建天泉教育科技有限公司 一种基于ai深度学习的ai辅助自动化测试方法及系统

Similar Documents

Publication Publication Date Title
CN109656820B (zh) 基于cbtc的智能自动化测试系统
CN110597718A (zh) 一种基于ai的自动化测试实现方法和系统
US7895565B1 (en) Integrated system and method for validating the functionality and performance of software applications
CN111427802B (zh) 利用集成学习进行测试用例优先级排序的测试方法和系统
CN110221975B (zh) 创建接口用例自动化测试脚本的方法及装置
CN108897676B (zh) 基于形式化规则的飞行引导控制软件可靠性分析系统与方法
CN106776326B (zh) 一种数据分析模型的建模方法及系统
CN113741958A (zh) 一种基于云原生的软件开发交付方法及系统
CN102542116B (zh) Dfm分析自动化的方法及装置
CN117435505B (zh) 一种性能测试脚本可视化生成方法
CN115511233A (zh) 一种基于流程挖掘的供应链流程重现方法和系统
CN116483730A (zh) 基于国产软硬件和开源测试工具的业务系统自动测试方法
CN106933572B (zh) 一种基于llvm中间表示程序切片的度量模型
CN115271637A (zh) 基于智能合约和人工智能的审批系统及方法
CN110990289A (zh) 一种自动提交bug的方法、装置、电子设备及存储介质
CN111966665B (zh) 数据迁移测试方法及装置
CN111966575B (zh) 一种航空机载显示软件的图形自动化测试方法
CN117520184A (zh) 一种计算机软件开发用测试系统
CN212460603U (zh) 基于物资合同管理的机器人管理系统
Shaheamlung et al. A comprehensive review for test case prioritization in software engineering
CN116069628A (zh) 一种智能处置的软件自动化回归测试方法、系统及设备
CN115934559A (zh) 表单智能测试系统的测试方法
CN115629956A (zh) 一种基于接口自动化测试的软件缺陷管理方法及系统
CN111008140B (zh) 一种跨平台的ui自动化测试方法及装置
CN112631559A (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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20191220